The King is dead! RIP 2006-2012

Ένα μεγάλο ευχαριστώ σε όλη την παρέα
Περισσότερα στο lexx.gr

RubyEnRails 2009 (Μέρος πρώτο)

09 Nov 2009 by PanosJee

Το διήμερο 29-30 Οκτωβρίου βρέθηκα στο Amsterdam για το συνέδριο RubyEnRails 2009 που έγινε στο Πανεπιστήμιο του Αμστερνταμ. Υπάρχουν πολλά συνέδρια γύρω από τη Ruby και το Rails με πιο γνωστό το RailsConf που το 2010 θα γίνει στη Βαλτιμόρη και στο Βερολίνο. Αυτό που μου έκανα αρχικά εντύπωση στο RubyEnRails ήταν η ιδιαίτερα χαμηλή τιμή (79 ευρώ) και το εντυπωσιακό panel με τους Yehuda Katz, Jeremy Kemper (νούμερο 1 και 2 στο rails αυτή τη στιγμή),  Mike Dilorf (δημιουργός της MongoDB), Eloy Duran (Rails, MacRuby).

Για μένα η συμμετοχή ήταν no brainer καθότι θα βρισκόμουν στην Ολλανδία ούτως ή άλλως.

Μέρα πρώτη

 Θα αναφερθώ στις πιο ουσιαστικές - για μένα - παρουσιάσεις που δεν ήταν άλλες από αυτές των προαναφερθέντων καθώς και του Jonathan Weiss σχετικά με την ασφάλεια Rails εφαρμογών

Yehuda Katz - Merging Merb goodness into Rails

Ο Yehuda ήταν ο βασικός δημιουργός του fork του Rails, το γνωστό Merb. Πέρυσι το Δεκέμβρη ανακοινώθηκε ότι Merb και Rails θα συγχωνευτούν. Πολλοί δε το πίστευαν και άλλοι θεωρούσαν αδύνατο Yehuda και DHH να τα βρούνε. Παρόλαυτα το project προχώρησε και έχει γίνει πραγματικότητα! Το Rails 3 θα είναι ένα εντυπωσιακό framework και σίγουρα πολλοί θα το ανακαλύψουν και οι παλιότεροι θα κάνουν πάρτυ!

Γιατί όμως; Ο Yehuda επιγραμματικά μας παρουσίασε τις εξής μεγάλες αλλαγές:

  • Ο κώδικας πλέον ξετυλίγεται :) Πολλοί κατηγόρησαν το Rails ότι είναι spaghetti code λόγω των πολλών meta programming  patches σε πολλά σημεία του κώδικα ενώ τα modules ήταν μπλεγμένα μεταξύ τους. Αυτό πλέον δεν ισχύει και ο κώδικας πλέον είναι ξεκάθαρος και δομημένος
  • Χάρη στη ξεκάθαρη αρχιτεκτονική θα είναι πολύ εύκολο να κρατάς μόνο τα κομμάτια που θες. Για τους γνώστες το Rails Metal δε θα χρειάζεται πλέον αφού μπορεί να αφαιρέσετε όλο το περιττό βάρος. Αντίστοιχα μπορεί ο προγραμματιστής να επιλέξει να αντικαταστήσει κάτι που δε του αρέσει
  • Συνέπεια αυτών: ΤΑΧΥΤΗΤΑ. Σε μερικές περιπτώσεις μπορεί να φτάσει και μια τάξη μεγέθους αλλά αυτό είναι πολύ ειδικό. Οπως και να έχει σίγουρα για όλες τις εφαρμογές που θα γίνουν σωστά port  θα υπάρξει αύξηση στην ταχύτητα και ακόμα μεγαλύτερη με τη χρήση Ruby 1.9 
  • Το Rails 3 θα είναι agnostic όσο αφορά το ORM και τις javascript βιβλιοθήκες. Το DataMapper και το jQuey αλλά και κάθε άλλη επιλογή σας θα είναι πρωτοκλασσάτες επιλογές για την εφαρμογή σας
  • Οι εξαρτήσεις των  gems απλοποιούνται κατά πολύ χάρη στο bundler του Merb (μπορείτε να το χρησιμοποιήσετε από τώρα
  • Μεγαλύτερη εξάρτηση από το Rack
  • To routing  πλέον παίρνει τη μορφή μιας DSL Rack εφαρμογής

Στο αυτό το σημείο θέλω να πω ότι ο Yehuda είναι από τους βασικούς commiters και στο jQuery. Οταν συναντάς τέτοιους ανθρώπους που καθορίζουν την τεχνολογία σε παγκόσμιο επίπεδο αλλά και αυτούς που φτιάχνουν τα εργαλεία από τα οποία βγάζουμε ψωμί είναι μια ξεχωριστή εμπειρία.

Jonathan Weiss - Rails Security

Δε θα γράψω πολλά για αυτήν την παρουσίαση γιατί μπόρεσα και έκανα μερικά twits με security tips από το MacBook των παιδιών του Skroutz.gr και τους ευχαριστώ πολύ για αυτό. Να σημειώσω ότι πολλά από τα tips βρίσκουν εφαρμογή πέρα από το Rails καθότι πρόκειται για εγγενή αδυναμίες στο web όπως SQL Injection, XSS, XCRF.

Eloy Duran - MacRuby & RubyCocoa

O Eloy μας μίλησε για τη MacRuby. Μια προσπάθεια που έχει αγκαλιάσει η Apple για μια καλύτερη Ruby στο περιβάλλον του Mac OS X αλλά όχι για να τρέχουμε Rails πιο γρήγορα αλλά για τη δημιουργία native Mac OS X εφαρμογών. Μας έκανε ένα μικρό demo αλλά τόνισε ότι ακόμα βρίσκεται σε έντονη ανάπτυξη και είναι αρκετά buggy. Στόχος της Apple είναι να μεταφέρει τη MacRuby και στο iPhone με στόχο να φέρει πιο πολλούς developers στη πλατφόρμα της και φυσικά να αγκαλιάσει τις agile μεθόδους των Ruby devs με αποτέλεσμα να δίνουν περισσότερες και γρηγορότερα νέες εφαρμογές χάρη και στο πλούσιο οικοσύστημα της Ruby.

Jeremy Kemper - What 's hot in Rails 3

Ισως η πιο εμπνευσμένη ομιλία. Ο Jeremy παρουσίασε και την ιστορία της Ruby και του Rails και όπως ο ναρκισισμός και η υπεροψία των πρώτων Rails developers είχε διχάσει τη κοινότητα της Ruby. Ο Jeremy δουλεύει στη 37signals και είναι το νούμερο 2 αυτή τη στιγμή στα commits στο Rails core. Οπως και ο Yehuda παρουσίασε αρκετά νέα χαρακτηριστικά στο Rails 3 και είπε ότι θα ήθελε να κυκλοφορήσει μαζί με τη Ruby 2 στην περίοδο των γιορτών. Βέβαια η προσαρμογή σε Ruby 2 (1.9 stable) και Rails 3 θα είναι μακριά και επίπονη.

Αυτά για την πρώτη μέρα, θα ακολουθήσει και το δεύτερο μέρος με την παρουσίαση της MongoDB, συναντήσεις με μέλη της κοινότητας και συμπεράσματα από το πρώτο μου πανευρωπαικό meetup και συγκρίσεις με την Silicon Valley από ανάλογες συναντήσεις.