Ici et ailleurs

Le blog d’un joueur … mais pas que le blog de Sky.

Ruby on Rails : Pourquoi Rails ?

Cet article arrive finalement un peu tard, j’aurais peut-être du expliquer plus tôt pourquoi choisir Rails, en précisant ses avantages et ses inconvénients. Je vais donc le faire maintenant en essayant d’être objectif.

J’ai donc parcouru le web à la recherche de témoignages et d’articles traitant cette question et je vais essayer de faire un petit récapitulatif en essayant d’être le moins barbant possible.

Pour ceux qui suivent cette série depuis le début, j’ai mis à jour tous les précédents articles : redéfinition du projet à développer en Rails, ajout d’un chapitre “Proc” et d’un chapitre “Module” ainsi que quelques autres petites modifications.

What? Rails!

Je l’ai déjà expliqué plus tôt mais je vais le refaire ici pour que tout soit bien clair. Rails est donc un framework web pour le langage Ruby créé en 2003 par David Heinemeier Hansson. Il est désormais largement maintenu par une communauté grandissante.

Principes et Patterns

Ruby on Rails repose sur deux principes fondamentaux :

  • DRY : pour éviter d’avoir à réécrire toujours le même code, notamment grâce au scaffolding,
  • Convention Over Configuration : des comportements par défaut pour la plupart des fonctionnalités du framework permettent d’éviter de perdre du temps dans la configuration (il reste néammoins possible de modifier le fonctionnement du framework).

Et principalement sur deux “pattern” :

  • Le design pattern MVC : permettant de séparer l’interface, les données et la logique métier,
  • L’architecture REST : style architectural d’origine du web, on manipule des ressources et les requêtes HTTP fournissent les opérations nécessaires à ces manipulations.

Why Rails?

Les avantages

Commençons donc par les avantages de ce framework web qu’est Rails :

  • Le temps de développement : indéniablement, le temps de développement des applications web via Rails, une fois la phase d’apprentissage passée, est quasiment imbattable, ceci grâce à une architecture bien pensée,
  • La structure : chaque chose possède une place précise, ainsi peu importe l’application Rails que vous souhaitez développer ou rejoindre, vous ne serez jamais dépaysé,
  • La configuration : grâce au principe vu plus haut, Rails défini des comportements par défaut pour presque tout, ainsi, vous n’avez pas une tonne de fichiers à configurer avant d’être opérationnel,
  • Les outils : comme par exemple Active Record; qui vous facilitent la vie et vous permet d’optimiser votre temps de développement ou encore le scaffolding pour générer rapidement du code qui pourrait sans cela être répétitif,
  • Le langage : le Ruby est réputé pour être relativement simple, “sexy” et agréable à apprendre, cela reste néanmoins subjectif, chacun a son avis,
  • Les plugins : une floppé de plugins pour tout et n’importe quoi facilement utilisable dans son propre projet,
  • L’intégration de technologie web : comme AJAX, l’intégration native de certaines librairies agrémentées de helpers pour développer plus rapidement, la facilité de création de webservices, ..

Évidemment, cette liste n’est pas exhaustive mais permet de faire ressortir les principaux avantages de Rails. Comme pour tout, ce framework possède aussi quelques défauts.

Les inconvénients

  • Une impression de non-productivité : au début, apprendre Rails peut sembler long et fastidieux, un nouveau langage, toute une architecture, des tutoriels qui vous font utiliser le scaffolding, on se demande comment sans écrire une ligne, Rails sait quelle page affichée, etc.., connaître le derrière de la scène demande un certain temps,
  • Migration vers Rails : si vous possédez déjà tout un système et que vous souhaitez migrer vers Rails, cela risque d’être long et coûteux, les environnements d’hébergement sont bien différents, il faudra revoir certains points de votre conception, ..
  • Les performances : Rails n’est pas le framework web le plus rapide et demande un hébergement plutôt solide, les choses ont cependant tendance à s’améliorer avec le temps.

Rails n’est pas forcément adapté à tous les types de développement, il reste néanmoins puissant et mérite qu’on l’expérimente.

Voilà pour ce petit tour d’horizon, pas évident à faire étant donné que je découvre ce framework, je me suis donc basé sur ce que j’ai trouvé en parcourant le web et mes premiers ressentiments.

Tags: , , , ,

5 commentaires pour “Ruby on Rails : Pourquoi Rails ?”

  1. El_Porico dit :

    super merci!

    Même si tu as du comprendre que je ne suis pas vraiment pro RoR j’apprécie tes articles.

    Dans les inconvénients j’ajouterai quand même le faible taux de pénétration du marché. Quand tu fais du code perso tu t’en fous; mais au niveau pro ça coince.

  2. Radical dit :

    Merci pour cet article réponse à mon commentaire sur l’article précédent ;)

  3. Sky dit :

    Y’a pas de quoi, ça a été difficile ne connaissant pas suffisamment le framework mais j’espère que ce sera utile, on va enfin pouvoir passer aux choses sérieuses :)

  4. Sylario dit :

    Rails est aussi très bien adapté au méthodologies agile. On a rapidement un prototype fonctionnel, même si il est basique, et on peux rapidement lancer et tester son code.
    Ça a été pensé pour et ça le fait super bien.

  5. BernardoGuy dit :

    Ta CSS est vraiment propre et bien foutue, j’aime beaucoup.

Laisser un commentaire

Si vous avez un compte sur WeFrag, connectez-vous pour publier un commentaire.

Vous pouvez, entre autres, utiliser les tags XHTML suivant :
<a href="" title="">...</a>,<b>...</b>,<blockquote cite="">...</blockquote>,<code>...</code>,<i>...</i>