Blog tech

Pourquoi faire le choix de Ruby on Rails pour développer des applications web ?

Rédigé par Jean-Rémi Laisne | 11 janvier 2011

Lors d’une première rencontre et des premiers échanges, une question nous est souvent posée : pourquoi avoir fait le choix de Ruby on Rails ? Je commence souvent par évoquer la passion qui anime Nicolas et Martin à propos de Rails, mais ce n’est pas tout. Ruby on Rails a des qualités que d’autres FrameWork n’ont pas et toute sa force réside dans sa souplesse, son dynamisme, sa productivité et ses outils complets.

Avant-Propos

Ruby on Rails est un FrameWork open source utilisant le langage Ruby pour développer des applications web. Associé à une méthodologie Agile, il permet le développement très rapide d’application web. L’avantage majeur de Ruby on Rails est donc sa productivité élevée. Ruby on Rails répond pleinement aux problématiques complexes, aux demandes particulières et réduit fortement le temps de développement des applications web, tout en maintenant une très forte qualité. Ruby on rails accompagné des méthodes de gestion de projet Agile, est l’assurance d’avoir un site web innovant, évolutif et performant. Pour aller un peu plus loin, commençons par une présentation du langage Ruby, le langage sur lequel repose Ruby on Rails.

Ruby, un langage orienté objet et multi-paradigme.

Ruby on Rails s’accapare des qualités du langage Ruby pour l’adapter au développement web. Ruby est un langage de programmation orienté objet, inspiré de Smalltalk et Lisp. La programmation par objet améliore la qualité, la productivité, la conception, la maintenance et l’évolution. Toutes ces qualités présentés par le langage Ruby sont exploités par Ruby on Rails.

RoR couplé à la multitudes d’outils, de gems et de plug-in, associé à la forte communauté Rails, est l’outil idéal de développement d’applications web.

Ruby on Rails, un FrameWork complet.

Ruby on Rails est conçu sur le modèle MVC (Modèle : Activerecord – Vue : ActionVue – Contrôleur : Actioncontroller). Plus que tout autre Framework, Ruby on Rails est associé à une philosophie : le pragmatisme illustré par « Convention over configuration ». Ce qui en fait un outil interactif et d’une certaine simplicité. Les conventions permettent d’éviter de penser à la configuration avant de procéder au développement. La configuration se fera au fur et à mesure du besoin du développement. Cela n’implique pas que l’on ne peut pas configurer, au contraire on peut même configurer tout ce que l’on veut. La programmation par convention n’élimine pas simplement le besoin de configuration immédiat mais il réduit aussi les lignes de codes. Le code est structuré et dispose d’une infrastructure puissante. C’est une opposition radicale à d’autres Framework et c’est ce qui en fait l’un des langages le plus « beau » et lisible. Un besoin qui, vous l’aurez compris, se fait vite ressentir pour les applications complexes, tel qu’une application métier ou pour la reprise du code lors de l’évolution de l’application.

C’est un Framework qui encourage aux bonnes pratiques par les outils de tests qui sont à disposition et par l’automatisation, c’est à dire les générateurs de codes fournit avec RoR. Les générateurs permettent de créer le code qui est souvent utilisé, permettant de ne pas réinventer la roue à chaque fois. Utiliser ces générateurs est un gain de temps énorme et ils permettent de réaliser des sites web encore plus rapidement.

Véritable outil à développer des applications web riches de fonctionnalités et d’intéractivités, ses nombreuses qualités nous ont conduit à nous spécialiser dans ce FrameWork pour le développement de sites web innovants et dynamiques.

La méthode Agile pour réussir les projets Rails.

Ruby on Rails est en soit un outil formidable, il faut tout de même l’appréhender et rien ne vaut l’expérience du développeur pour pousser ce FrameWork jusqu’à ces derniers retranchements et exploiter toutes ces possibilités, que ce soit dans les configurations, la gestion des montés en charge ou encore la sécurité. L’expérience et les outils sont des variables importantes pour le développement rapide et complet d’une application web. La gestion d’un projet est une autre variable importante. Concevoir une application web, la développer, la maintenir et la faire évoluer est un projet à long terme. Face aux problématiques de chaque projet nous adoptons une méthodologie Agile.

Notre conception de la méthodologie Agile est relativement simple : un échange régulier avec le client, un parcellisation des tâches en processus (itération) court (qui permet les retours clients / utilisateurs rapidement) et de toujours s’intéresser aux fonctions essentielles, pragmatisme oblige.

Commencer un projet avec la méthode Agile implique une certaine expérience de développement d’applications web. C’est une gestion de projet flexible, à chaque itération, l’application peut changer par rapport au cahier des charges à la demande du client. Le client a une place très importante dans ce processus. Les projets Agiles impliquent une réactivité du développeur, ce qui n’est permis qu’avec l’expérience et la dextérité. La méthodologie Agile est un bouleversement des pratiques et aboutit à un site web à la qualité finale haute.

La méthode Agile est particulièrement bonne lorsque l’on a déjà quelques lignes de codes à son actif et l’expérience de projet Web. Chaque projet a une vocation, il faut comprendre le « business » qui est derrière l’application web. Véritablement, il faut comprendre pourquoi on fait cela (ce qui revient à comprendre les attentes du clients) et ce n’est que l’expérience et les itérations qui en sont juge et permettent d’aboutir au projet final en un temps record.

L’équipe Synbioz.

Libres d’être ensemble.