Venez découvrir la communauté Ruby On Rails !
A l’occasion de sa première série de cours chez Leeaarn, Régis Millet prend la plume pour expliquer concrètement ce qu’est Ruby On Rails et pourquoi ce framework a autant de succès.
« Start-up recherche un “CTO Ruby On Rails”... on aimerait un Freelance développant en Ruby On Rails… Des bases solides en Ruby et en Ruby On Rails seront un gros plus… Vous connaissez Ruby On Rails ? Oui ? Ah ! Parfait, allons prendre un café… »
Ces phrases vous semblent familières ?
Je croise de plus en plus de personnes à la recherche de développeurs Ruby On Rails. Ce Framework Web fait parler de lui, on le retrouve dans des propositions de CDD-CDI, de missions, dans le Cloud (Heroku)... Les développeurs Ruby On Rails s’arrache comme des petits pains - surtout s’ils possèdent en plus des compétences frontend/sys admin (là je vous dis pas, c’est le paradis).
Mais au fait, Ruby On Rails, c’est quoi ?
Ruby On Rails est un Framework Web Open Source développé en Ruby. D’accord, c’est ce qu’on lit sur Wikipédia, mais concrètement, ça veut dire quoi ?
Reprenons ! C’est un Framework Web.
Un Framework c’est comme un livre de cuisine accompagné des ingrédients de base les plus difficiles à réaliser. Le Framework est un livre de cuisine : il vous guide dans votre préparation, vous donne les ingrédients à utiliser, vous explique les fonctions de tel ou tel instrument de cuisine. Mais c’est aussi un ensemble d’ingrédients de base difficiles à faire : vous avez déjà votre pâte pré-faite, vos choux n’ont plus qu’à être remplis, la glace est bien dans votre congélateur…
Autrement dit, un Framework Web vous fournit tout ce qu’il vous faut pour vous concentrer sur la réalisation de votre projet Web sans vous préoccuper de toutes les tâches les plus difficiles et les plus ennuyeuses. Un Framework Web vous guidera dans votre façon de développer, vous fournira des lignes directrices, des conventions à suivre. Vous disposerez de puissantes fonctionnalités avant même d’écrire votre première ligne de code, de nombreuses fonctions, outils et méthodes sont déjà là pour vous faciliter la vie, pour que vous vous concentriez sur les fonctionnalités propres à votre application sans vous soucier de devoir réinventer la roue.
C’est aussi une communauté tournée vers l’Open Source !
Ruby On Rails est Open Source, hé oui ! Vous n’aurez pas à débourser 1 seul petit euro pour utiliser ce Framework, le mettre en place, l’utiliser, l’exploiter au maximum de ses capacités et le déployer (si si, je vous jure, sur Heroku un tout petit déploiement c’est gratuit !).
C’est là un autre énorme avantage de Ruby On Rails. Il se trouve que les développeurs utilisant ce Framework (pas tous, mais la majorité quand même) sont très souvent attirés par l’Open Source. Du coup, vous retrouvez un maximum d’outils et de fonctionnalités et bibliothèques (appelées Gem dans la communauté) pré-faites, gratuitement disponibles sur GitHub. Vous avez besoin d’un système d’authentification robuste ? Hop, vous récupérez “Devise”. Vous souhaitez intégrer rapidement Twitter Bootstrap dans votre application Rails ? Y’a une Gem pour ça : Twitter Bootstrap Rails. Vous avez besoin d’une partie d’administration pour votre site ? Boum, Active Admin est là pour vous la fournir en moins de cinq minutes. Vous souhaitez déployer un site e-commerce rapidement ? Spree - solution e-commerce Open Source pour Ruby On Rails !
Quand j’ai découvert cette communauté, la richesse de ses projets, tous ces développeurs travaillant ensemble, main dans la main pour développer des outils réutilisés par d’autres développeurs dans des projets commerciaux… Je me demandais : c’est où le hic ? Eh bien, il n’y a pas de hic, c’est tout bonnement la magie de Rails et de Ruby qui ont rendu tout cela possible.
Ruby est un langage de programmation Open Source, lui aussi (évidemment) similaire à Java, pour ceux qui connaissent. Nous le devons à M. Yukihiro Matsumoto, un petit génie de l’informatique qui publie la première version de ruby on 1995 sous licence libre. Il a développé ce langage en privilégiant le plaisir du développeur, et je peux vous dire - en tant que développeur - il a bien réussi son objectif.
Avec l’arrivée de Ruby On Rails - Framework Web donc, Ruby a fait de plus en plus parler de lui. Et aujourd’hui il s’impose comme véritable alternative à d’autres langages de programmation.
Ruby On Rails, quant à lui, est apparu en 2004. Il a été extrait de Basecamp (tout le monde connaît Basecamp, n’est-ce pas ?) et nous le devons surtout à M. David Heinemeier Hansson. Face à la puissance de ce Framework, d’autres ont vu le jour dans d’autres langages (Symfony en PHP), mais RoR garde l’avantage d’être un des premiers nés et d’avoir une communauté hyper-active.
Le Framework s’améliore de jour en jour, les failles de sécurité sont vite réparées, de nouvelles Gems apparaissent chaque jour, des projets réalisés en Rails sont régulièrement basculés en Open Source… Ruby On Rails bénéficie aujourd’hui de plus de 3100 contributeurs ! La communauté a de quoi plaire et le Framework aussi !
Grâce aux conventions du Framework, à son écriture “humainement compréhensible” (j’ai parfois l’impression de lire un bouquin d’anglais quand je regarde le code), à son architecture et surtout grâce à Ruby, le code est extrêmement propre, bien rangé, généralement bien documenté. J’ai eu l’occasion à plusieurs reprises de reprendre en main des projets développés en Ruby On Rails, je peux vous dire, sans mentir, qu’il ne m’a jamais été difficile de comprendre le code d’une application réalisé par un autre développeur (évidemment ça peut parfois prendre du temps sur des applications très complexes - mais le code en lui-même reste toujours lisible).
Justement, parlons des projets, RoR… ça a produit des projets connus ?
Aaaah… La grande question ! :) Bon… Est-ce que Twitter vous dit quelque chose ?
Je vois d’ici vos têtes : comment ?! Twitter est en Ruby On Rails ? Oui, enfin, pas complètement. Toute l’interface utilisateur est réalisée en Ruby On Rails ! Twitter est LE projet phare qui a su exploiter au maximum de ses capacités le framework Ruby On Rails.
Un autre site qui devrait faire tilt : Groupon. Groupon est entièrement réalisé en Ruby On Rails. Evidemment, Basecamp est toujours réalisé en Ruby On Rails et je ne pense pas qu’ils vont l’abandonner de si tôt, bien au contraire.
GitHub est un autre énorme projet que beaucoup de développeurs connaissent. C’est la plateforme Web où sont partagés la majorité des projets et bibliothèques Open Source de Ruby et Rails. L’avantage étant que GitHub facilite énormément le travail en équipe avec des développeurs parfois éparpillés dans le monde entier.
Comment apprendre à l’utiliser ?
Il existe de nombreuses ressources Open Source sur le Web pour ça, la majorité en anglais. Sinon vous avez de très bons livres :
Learn Rails by example - de Michael Hartl, la version PDF est disponible gratuitement en ligne, avec lui vous apprendrez à créer un… Twitter !
Agile Web Development with Rails 4 - pour les débutants et développeurs intermédiaires
Crafting Rails 4 Applications - pour les développeurs plus expérimentés
The Rails 3 (ou 4 selon la version) Way - plus orienté “comment créer du code propre et facile à prendre en main”.
Au Meetup Paris.rb : http://www.meetup.com/parisrb/
Et sinon, il y a mes formations !