1 - La simplicité
Grâce à l'expressivité du langage Ruby, la courbe d'apprentissage de Ruby on Rails se situe entre celle de PHP et de Java.
2 - La concision
Ruby on Rails est moins prolixe que d'autres environnements de développement. En migrant de PHP à Rails, une entreprise est ainsi passée de 50 000 lignes de code à 5 000.
3 - La maintenance
Outre la concision du code, Rails regroupe les meilleures pratiques récentes comme l'architecture MVC qui simplifie la maintenance applicative.
4 - La productivité
Le développeur se concentre sur la dimension métier de l'application. Le framework se charge du reste, accélérant d'autant le développement.
| FRAMEWORK | RUBY ON RAILS 1.1.6 | CAKE PHP 1.1.8 | JAVA EE (ENTERPRISE EDITION) 5.0 | |||||
| LANGAGE ASSOCIÉ | Ruby | PHP | Java | |||||
| DOMAINES DE PRÉDILECTION | . Architectures web et client riche Ajax et Flex. . Application métier et de gestion, portails. |
. Architecture web. . Applications métier et de gestion. |
. Architectures web, client-serveur, client riche (Ajax via JSF), temps réel. . Tous types d'applications : métier, gestion, scientifique, etc. |
|||||
| POINTS FORTS | . Simplicité. . Concision et expressivité du code. . Maintenance aisée du code. . Génération automatique des squelettes des tests unitaires et fonctionnels. |
. Simplicité. . Souplesse. . Possibilité de mélanger approche procédurale et objet. . Génération automatique du squelette de l'application. |
. Maturité. . Large communauté d'utilisateurs. . Couverture fonctionnelle. . Montée en charge. |
|||||
| POINTS FAIBLES | . Peu d'hébergeurs et de prestataires. . Pas de références de site à fort trafic. . Apprentissage difficile pour les développeurs qui ne viennent pas du monde objet. . Pas d'internationalisation. . Moteur de persistance intégré moins flexible que celui de Java. |
. Communauté de petite taille . Peu de plug in, et peu de projets. |
. Complexité. . Apprentissage difficile pour les développeurs qui ne viennent du monde de l'objet. |
|||||
| COMMENTAIRE | . La première version date de décembre 2005. . Apple et Sun supportent Ruby et Ruby on Rails. |
. La première version du framework date de 2005. Cake PHP se présente comme une copie en PHP de Rails. Il sera bientôt confronté au Zend Framework qui devrait vite s'imposer comme le framework MVC de référence de la communauté PHP. | . La première version de Java EE date de 1998. Sun annonce 5 millions de développeurs Java et vient d'embaucher les créateurs de JRuby. | |||||
Il est le créateur du portail de la communauté Rails en France et l'organisateur de Paris on Rails, la première conférence française sur Ruby on Rails.
<i>' Trois à cinq fois plus productif que J2EE. '</i>
' Le principe de convention plutôt que de configuration soulage le développeur d'une grande partie des aspects techniques de l'application. Ils sont pris en charge par le framework. Et,
comme un L4G, Rails génère automatiquement le squelette de l'application auquel le développeur n'a plus qu'à apporter ses modifications. '
<i>' Il encourage les bonnes pratiques. '</i>
' Il bâtit aussi les squelettes de fichiers pour les tests unitaires et fonctionnels. Depuis la version 1.1, Rails aide à écrire des scénarios de tests complexes qui seront utilisés pour valider la chaîne
applicative en simulant, par exemple, les interactions avec des utilisateurs. '
<i>' On peut presque lire un modèle de données à haute voix. '</i>
' Grâce à l'expressivité de Ruby et à la concision de Rails, tout développeur peut comprendre la logique métier et la modifier simplement. '
Mathieu Chappuis (Communauté d'agglomération belfortaine) : <i>' Rails est taillé pour séduire les développeurs. '</i>
' J'ai mis beaucoup de projets PHP en production. Leur maintenance s'avère souvent difficile. De son côté, J2EE est plus structuré, mais aussi plus complexe. Le temps d'analyse initiale est trop important. A la
frontière, Ruby on Rails maquette une application Web dynamique parfaitement fonctionnelle, dans le temps normalement imparti à la création d'un site Web statique. De plus, ce framework repose sur les meilleures pratiques
d'aujourd'hui : modèle strict MVC, modules d'aide, etc.
Rails est taillé pour séduire les développeurs. En effet, tout informaticien peut facilement comprendre son code grâce à sa lisibilité et à son expressivité. Un point important pour accélérer l'adhésion. Enfin, Ruby va plus loin
que Rails seul. Nous projetons, par exemple, de créer un portail décisionnel basé, pour sa partie Web, sur Rails et alimenté par un ETL écrit en Ruby qui agglutinera des données du système d'information. '
Samuel Dechomets (Cartaix) : <i>' La rapidité d'apprentissage et de mise en ?"uvre ont fait la différence. '</i>
' Après avoir été initiés aux atouts du motif de conception (MVC), nous avons lancé une étude auprès d'experts internes et externes pour trouver le framework de développement qui
corresponde à nos besoins. Marginale par rapport à PHP, J2EE et.NET, Ruby on Rails correspondait à nos attentes. Nous n'avions pas plus d'expérience en Java qu'en C#, et les frameworks PHP n'étaient pas aboutis. La rapidité
d'apprentissage et de mise en ?"uvre de Rails ont fait la différence. Et nous avons pu constater qu'il fallait moins d'un mois pour assimiler et mettre en ?"uvre le langage, le framework et la méthodologie
associée. '
Franck Perrier (Eyeka) : <i>' Nous avons abandonné J2EE, notre choix initial. '</i>
' Positionnés sur un concept naissant, nous avions besoin d'un environnement de développement agile pour nous adapter rapidement aux évolutions de notre marché. Le challenge consistait à combiner
l'apprentissage d'un langage sur une application critique devant rapidement entrer en production avec un délai de mise en production serré. Les nombreux atouts J2EE n'ont pas suffi. C'était pourtant notre choix initial. Mais cette technologie s'est
révélée trop lourde par rapport à notre besoin de réactivité. A l'inverse, Rails proposait un code plus léger. Au début, des experts de Ruby on Rails ont accompagné notre équipe de développement, constituée d'experts J2EE et J2ME. Aujourdhui, tout
est en place pour faire de ce choix audacieux un succès. '