L'histoire de Ruby on Rails

…de la genèse à aujourd'hui

Ruby : un langage productif

Dans les années 90, la même année de lancement de Windows NT 3.1 en 1993, Yukihiro « Matz » Matsumoto commence à créer Ruby. Simplement, Ruby est un langage orienté objet, fortement inspiré de Smalltalk, Lisp mais aussi de Python et Perl.

I wanted a scripting language that was more powerful than Perl, and more object-oriented than Python. That’s why I decided to design my own language.

Yukihiro Matsumoto Créateur de Ruby

Malgrè cette volonté, il faudra attendre deux années de plus, jusqu'en 1995, pour que Matz publie son langage sous licence libre en version 0.95, et une année de plus pour la version 1.0.

À partir de ce moment, les versions de Ruby s’enchaînent à un rythme beaucoup plus rapide, souvent d’une année à l’autre. Le langage Ruby gagne donc en consistance et les versions majeures sont la version 1.2.0 en décembre 1998, la version 1.4.0 en août 1999 et la version 1.6.0 en septembre 2000. Le 4 août 2003, la version 1.8.0 signe le début de l’utilisation intensive de Ruby.

Un mouvement « Agile »

À cette même période, en 2001, un courant de management de projet IT avant-gardiste, impliquant l’utilisateur au centre des cycles de développement, se constitue autour de l’ « Agile Alliance ». Issus de RAD (acronyme de l'anglais Rapid Application Development), les évangélistes de ces méthodes créent le « Manifeste pour le développement agile d’applications ».

Ce sont les 10 commandements des développeurs (ou plus précisément les 12 commandements) que nous nous efforçons de mettre en place chaque jour au sein de l’équipe.

Ruby on Rails pour des développements efficaces

Influencé par ces commandements, David Heinemeier Hansson (DHH) développe une application web « BaseCamp » en Ruby et en extrait progressivement le Framework Ruby on Rails dès 2003.

Basecamp est, à cette époque, une application de gestion de projet intégrant l’utilisateur au centre de la gestion de projet et privilégiant les échanges entre les membres de l’équipe opérationnelle.

Influencé par le mouvement de l’Agile Alliance et des réflexions profondes de la gestion de projet au sein de BaseCamp, Ruby on Rails bénéficie de ces méthodologies. Conçu et extrait depuis des besoins réels, Ruby on Rails est un Framework pragmatique. D’ailleurs, DHH participa à plusieurs livres dont : « Programming Ruby », la référence à jour sur la version 1.9 de Ruby sur la dernière édition.

Preuve s’il en est des liens étroits entre l’agile et Ruby on rails, Dave Thomas, un des évangélistes de l’Agile Alliance, sera l’un des coauteurs du premier livre sur Ruby on Rails : "Agile web development with Rails".

Il faudra attendre juillet 2004 pour voir apparaitre la première version de Ruby on Rails, extraite de l’application BaseCamp 2. Cette première version permis à DHH de gagner le respect de ses pairs en étant élu « Best Hacker of the Year » en Août 2005 par l’O’Reilly Open Source. Encouragé par ce premier succès, DHH continue à développer Ruby on Rails et quelques mois plus tard, la première version stable voit le jour. Plus exactement la version 1.0 est sortie le 14 décembre 2005 et la version 1.1 corrigeant quelques bugs sort le 26 mars 2006.

C’est la même année qu’un développeur, utilisant déjà Ruby On Rails, sortira le FrameWork Merb. Son concepteur, Ezra Zygmuntowicz, créa un framework minimal (et léger) mais utilisant une très bonne API pour tirer avantage des extensions seulement essentielles. À ce moment la communauté était un peu déchirée entre le choix des deux frameworks et les trolls faisaient rage.

Malgré cela, Ruby on Rails reste le framework présentant le plus de visibilité et continue ainsi son développement. L’année 2007 sera décisive pour Rails et Ruby. Grâce à Rails, Ruby sort de la péninsule Japonaise et devient mondialement utilisé avec la version 1.8.5.

Le 30 septembre 2007, Ruby on Rails sort en version 2 et connaitra une expansion alors ininterrompue dans le reste du monde. 2007, c’est aussi l’année de sortie du réseau social Twitter, bien connu des Rubyistes puisqu'il a été développé initialement avec Ruby on Rails. Twitter a été un des meilleurs ambassadeurs du Framework.

Les versions de Ruby ne changeront pas véritablement jusqu’au 30 Janvier 2009, où la première release stable (v1.9.1) de la branche 1.9 voit le jour. La dernière version stable (1.9.3) date du 30 octobre 2011 et certainement la dernière version avant la version 2 de Ruby. De son côté, RoR continue à intégrer les dernières versions de Ruby et continue son développement de la branche 2 jusqu’à la dernière version le 8 février 2011.

Parallèlement, DHH travaille sur la version 3 de Rails et entre en discussion avec le créateur de Merb. Force est alors de constater que les objectifs de leurs deux Frameworks sont très proches : tous deux sont en quête d’un développement rapide d’applications. Les deux concepteurs décident donc de laisser leurs querelles de côté et d’implémenter le meilleur de Merb dans Rails 3, en intégrant la modulabilité de Merb.

C’est ainsi que la version béta de Rails 3 est sortie le 5 février 2010. La première version stable de la branche 3 sort le 16 juin 2011. Aujourd’hui, la dernière version stable de Rails est la 3.2 et demande au minimum la version 1.8.7 mais recommande la version 1.9.2 de Ruby. À partir du patchlevel 250, la version 1.8.7 a permis de faire la transition entre rails 2 et 3. Par contre Rails 2 ne fonctionnera pas avec la version 1.9 de Ruby et la version 3.2 de Rails sera la dernière à supporter la version 1.8.7. Les prochaines versions ne tourneront qu’avec Ruby 1.9.x.

Charmé par les concepts Agile et de Merb, Ruby on Rails parfait son pragmatisme et sa flexibilité. Déjà attendue et en préparation, nous devrions bientôt voir apparaître la version 4.

Newsletter

Rejoignez-nous !

Poursuivons la conversation

N° Vert
0 805 69 35 35

Nos dernières nouvelles

Nos derniers tweets

Design stratégique et jeu de Go https://t.co/xl1eWIwDnX

Pas à pas pour héberger son site sur S3 avec un certificat SSL gratuit https://t.co/16hrHnfCNy

Ruby et les chaînes de caractères. https://t.co/9YniTywBzr