16 août 2010
Il y a un mois environ, j’ai eu le plaisir de présenter Ruby on Rails avec Maxime Menant dans le cadre des SophiaConf 2010. Comme nous avions beaucoup de choses à raconter, nous avons décidé de ne pas faire une conférence mais deux, d’une durée d’une heure.
La première, que j’ai présentée, s’adresse principalement aux entrepreneurs, chefs de projet, directeurs techniques… Cette conférence explique pourquoi Ruby on Rails peut-être un très bon choix technologique, pourquoi ce choix peut faire gagner du temps et de l’argent…
La deuxième, présentée par Maxime, avait pour but de démontrer la puissance de cette technologie aux développeurs.
Dans ce billet, je vais présenter la première conférence. Je parlerai de la deuxième dans un autre billet que je publierai prochainement.
Avant de montrer pourquoi Ruby on Rails est un bon framework, il est important de réfléchir à ce qu’est un framework de qualité. Pour ce faire, j’ai interrogé nombre de mes collègues, followers, amis ingénieurs…
Grâce à leurs réponses, j’ai pu composer une liste des principaux critères qui définissent ce qu’est un bon framework, en voici quelques-uns : Productivité, Agile, Hébergement, Déploiement, Performance, Licence, Evolution, Recrutement ,Actif, Confort, Coût, Bonnes pratiques, Communauté, Architecture, Sécurité …
Avant de voir comment Rails répond à ces différents critères, je vous propose une petit piqûre de rappel.
Ruby est un langage de programmation interprété, orienté objet et multi-paradigme. Il est multiplate-forme et open source. Il vu la première fois le jour en 1995 grâce à son créateur Yukihiro Matsumoto (aka « Matz »).
Il existe plusieurs implémentations de machines virtuelles Ruby, chacune ayant ses spécificités :
Quelques chiffres intéressants :
Ruby on Rails, également appelé RoR ou Rails, est un framework web open source écrit en Ruby. Il a été extrait de Basecamp en 2004, un outil de gestion de projets développé par David Heinemeier Hansson (aka « DHH »). Rails est basé sur deux principes fondamentaux :
Ce framemork est un outil très puissant. Il a été pensé afin d’être élégant, efficace, scalable, sûr, agile… Voici pour moi quels sont les principaux éléments qui rendent ce framework si différent :
Cette liste est loin d’être exhaustive, mais elle permet déjà d’avoir un bon aperçu de ce qui rend Rails si unique.
Ruby on Rails est un framework qui évolue vite. La version 3 de cet innovant framework devrait voir le voir le jour dans les semaines qui arrivent.
Rails 3 est en fait l’union de Merb et Rails 2. Merb est un framework web léger écrit en Ruby. Il privilégie la performance au confort alors que Rails 2 propose plutôt un compromis entre les deux. Rails 3 est modulaire. Vous pouvez ajouter/supprimer des couches d’abstraction en fonction des besoins en performance que vous avez.
Rails 3 arrive avec une pléiade de nouveautés : compatibilité HTML 5, Javascript non-obstrusif, Bundler (nouveau gestionnaire de dépendance des gems), réécriture de la partie modèle…
Ruby étant un langage de haut niveau, c’est-à-dire qu’il propose une forte abstraction, permet de développer très rapidement. De ce fait, il existe un très grande quantité de bibliothèques open source que l’on peut utiliser librement dans tout projet Ruby.
Dans le monde Rails, il y a des plugins pour tout : authentification, tâches de fond, upload de fichiers, paiement en ligne, NoSQL, indexation, BDD, pagination, geolocalisation, cache, Twitter, parsing, Facebook…
La communauté est également très active pour l’entre-aide. Lorsque vous avez besoin d’aide, de nombreuses sources d’information sont à votre disposition : documentation officielle, forums, les Guides Rails, des screencasts (railscast, learnivore…), des conférences, des livres…
Souvent lorsqu’on parle de langages interprétés, nombreux sont les développeurs qui pensent que lorsqu’on code avec ce genre de langages il n’est pas possible d’avoir droit à un debugger, à de l’auto-completion, à de l’analyse statique de code, à faire du refactoring…
Je vous rassure tout de suite, cette époque est bel et bien terminé. Tout ceci est disponible avec les IDE Ruby de qualité qui sont aujourd’hui présents sur le marché : Rubymine, Netbeans, Aptana.
Pour ma part je vous conseille Rubymine.
Ruby on rails est utilisé pour de nombreux sites web à fort trafic. Voici un image présentant les applications web les plus connues faisant confiance à ce framework :
Parmis ceux-ci :
Ruby on Rails est également utilisé en interne dans de grandes sociétés/organisation : Amazon, BBC, Capgemini, Cisco, CNet, Electronic Arts, IBM, Siemens, Nasa, Yahoo!, Oracle, The New York Times, Symantec, Pixar, LinkedIn…
Les développeurs Ruby, en plus d’avoir un langage et un framework web extraordinaires, ont des outils et des hébergeurs eux-aussi uniques!
Comme outils, on peut tout d’abord citer Github qui est un hébergeur Git beaucoup utilisé par les rubyistes. Ensuite, un outil que j’aime tout particulièrement : Newrelic. C’est l’outil idéal pour analyser et puis optimiser les performances de votre application. Les fonctionnalités de Newrelic sont assez vastes, c’est finalement un peu le Google Analytics de la performance des applications Rails. Si Newrelic vous intéresse vous pouvez utiliser le code suivant qui vous permettra de bénéficier gratuitement pendant 30 jours du service en version Gold : Sophia2010
Ensuite, coté hébergement, en plus des hébergeurs classiques, il y a Engine Yard et Heroku.
Engine Yard facilite grandement l’administration des serveurs. Pour résumer, EY sous-loue des machines Amazon EC2 sur lesquelles il installe une stack logicielle bien pensée qui permet l’exécution d’applications Ruby on Rails. Pour déployer une application sur ce service, il suffit d’indiquer l’URL de votre repository Git, de choisir la configuration de la/des machine(s) que vous souhaitez et de valider, Engine Yard s’occupe du reste! Il également possible d’ajouter/supprimer des machines à chaud ou encore de cloner un environnement entier (pour, par exemple, faire des tests de charge). Il est également important de noter que cette entreprise contribue à de nombreux projets open source comme : Ruby on Rails, Rubinius, JRuby…
Enfin, autre hébergeur remarquable, Heroku. Ce service est très différent de ce qui existe aujourd’hui. Il simplifie la tâche de l’administration serveur au maximum. Vous n’avez pas accès aux machines, tout se fait grâce à une interface web toute simple. Vous n’avez qu’à choisir le nombre de dynos (nombre de requêtes en parallèle), le nombre de workers (nombre de processus exécutant les tâches de fond), la taille de la base de données (Postgres) et les services que vous souhaitez intégrer. Pour déploiement, il suffit simplement de pusher votre repository Git chez eux!
Heroku est le service idéal pour lancer vos projets. Dernier point, le service de base est gratuit!
Avant de terminer, quelques chiffres très intéressants :
J’espère que cette conférence vous a convaincu, ou, du moins, intrigué. J’espère également que la prochaine fois que vous ferez un choix technologique, vous penserez à ajouter Rails sur la liste des choix possibles! :)
N’hésitez pas à réagir à ce billet en postant un commentaire si vous avez des questions ou des remarques.
10 Commentaires pour "Pourquoi Ruby on Rails est génial ? (1 sur 2)"
Merci beaucoup Camille pour cet article très pédagogique et pleins de chiffres, je m’en servirais pour convaincre mes prochains clients !
Du moment que j’ai 10% des bénéfices, il n’y a aucun problème :)
Thanks pour ce post, je ne me suis pas pencher dessus mais en tout cas c’est clair que ça peut clairement remplacer à terme J2EE… Ruby On Rails ça a l’air dément, voici un lien avec des tutos (en anglais) pour bien débuter: http://www.digitalmediaminute.com/article/1816/top-ruby-on-rails-tutorials
Merci pour ton article :-)
Très bon article qui motivera sans doute beaucoup de débutants sur RoR qui est mon cas !
[...] http://www.camilleroux.com/2010/08/16/pourquoi-ruby-on-rails-est-genial-1-sur-2/ http://www.camilleroux.com/2010/08/16/pourquoi-ruby-on-rails-est-genial-2-sur-2/ [...]
super post. Y a t’il un IDE pour eclipse?
Merci!
Pour Eclipse, tu peux installer le plugin Aptana.
Je te conseille également de regarder d’autres IDE qu’Eclipse et notamment Rubymine qui est probablement l’IDE Ruby le plus complet du marché.
[...] This post was mentioned on Twitter by Michel Pigassou, Michel Pigassou. Michel Pigassou said: Pourquoi Ruby on Rails est génial ? http://bit.ly/fPJaUK par @camilleroux [...]
[...] Avant de commencer, faisons un petit rappel. Ruby est un langage de programmation (comme PHP, Java, Python…) et Ruby on Rails est un framework (les fondations d’un site, cela évite de réinventer la roue et permet de bien structurer son code). Ruby on Rails est un framework web très utilisé par les startups en ce moment (et pas les moindres, voir ci-contre). RoR permet de développer rapidement des sites web tout en respectant un grand nombre de bonnes pratiques. Ce framework très innovant et bien pensé est, depuis quelques années, une source d’inspiration pour de nombreux autres frameworks. Si vous n’êtes pas sûr que c’est Ruby que vous devez apprendre, voici une conférence qui peut vous aider à faire le choix : Pourquoi Ruby on Rails est génial ? [...]
[...] Toujours délicat à expliquer en quelques lignes… disons que Ruby on Rails a été pensé dès le début pour faire du développement Agile. Il permet de rapidement développer des prototypes. Cette technologie est aujourd’hui utilisée par des startups très connues comme : Twitter, Groupon, Github, SlideShare, Scribd… Pour savoir plus, voilà une conférence que j’avais donné l’an dernier : Pourquoi Ruby on Rails est génial ? [...]
Ajouter une réponse