logiciels pilotes / drivers mobiles et PDA jeux logos et sonneries cartes virtuelles bandes annonces

Abonnez-vous aux flux RSS
Comptes & Budgets
Étudiez votre situation financière pour prendre les bonnes décisions.
Téléchargement
Tout savoir sur le SP3 de Windows XP
FORUMS
NEWSLETTERS
CHAT
MON ESPACE PRODUIT
EMPLOI ET FORMATIONS
TELECHARGEMENT PILOTES
         01net    Web
Les développeurs mettent le cap sur Ruby on Rails Frédéric Bordage [ FRAMEWORK ]
Les développeurs mettent le cap sur Ruby on Rails
Proposant le meilleur de Java et de PHP, Ruby on Rails accélère le développement d'applications métier tout en améliorant leur maintenance.

Frédéric Bordage , 01 Informatique (n° 1878), le 28/12/2006 à 07h00

Un sondage effectué cet été, auprès de 5 000 professionnels et publié sur le site Sitepoint.com révèle que près de 6 % des développeurs ont déjà adopté Ruby on Rails (RoR ou Rails), et que 25 % s'y intéressent. Pourtant, ce framework open source (licence MIT), écrit en Ruby, n'existe que depuis un an. Une première version stable a été publiée en décembre 2005. Elle est issue d'un développement de la société 37 signals, icône du Web 2.0.

Malgré sa jeunesse, Rails va-t-il remplacer PHP et Java pour le développement d'applications Web ? La question mérite d'être posée. Mais, avant d'y répondre, il faut bien faire la distinction entre le langage Ruby et le framework Rails. Le premier est un langage interprété, nativement orienté objet, considéré comme l'évolution naturelle de Perl et de Smalltalk. Le second repose, lui, sur le motif de conception modèle, vue, contrôleur (MVC) qui fait aujourd'hui référence pour architecturer une application Web. Cette méthode a le mérite de dissocier correctement les couches métier et présentation.

Les arguments de Rails ont en tout cas convaincu Sun d'embaucher les créateurs de JRuby, une installation de Ruby pour Java. « La communauté Java ne s'arrête pas au langage Java, déclare Alexis Moussine-Pouchkine, architecte Java et services Web chez Sun. Rails répond bien aux besoins des application s Crud [Create, Retrieve, Update, Delete, NDLR]. » Ces dernières effectuent des opérations de lecture et d'écriture dans les bases de données. Le déploiement d'applications Rails sur une infrastructure Java gagnerait en robustesse. Elle donne aussi la possibilité aux partisans de Ruby d'utiliser des outils de développement avancés basés sur Netbeans.

Bien d'autres signes révèlent l'engouement pour ce framework. Des grands noms de l'informatique, comme Adobe, Apple, IBM ou Sun, soutiennent Rails. Des écoles renommées, telles l'Epita et l'Insia, l'ont associé à leur cursus 2007. Et de nombreuses entreprises et institutions l'ont adopté pour développer des applications sensibles. En France, c'est le cas de la communauté d'agglomération belfortaine, de Cartaix, un spécialiste de la fidélisation client, et d'Eyeka qui propose sur une plate-forme d'échange et de vente de photos et de vidéos sur le Web.

Ce succès repose d'abord sur l'adhésion des développeurs qui apprécient son utilisation. « Rails offre le meilleur compromis entre la productivité de PHP et l'approche structurée de Java EE (nouveau nom de J2EE depuis la version 1.5) », résume Jérémy Chatard, directeur technique de Breek, une SSII qui se spécialise dans Rails. « C'est le framework Web le mieux pensé qu'il m'ait été donné de voir depuis dix ans », s'enthousiasme James Duncan Davidson, le créateur de Tomcat, le serveur de JSP-servlets le plus utilisé au monde.

Moins de lignes de code, donc plus de lisibilité

On peut comparer Rails aux Java Server Face (JSF) de Java EE ou au Zend Framework dans le monde PHP. Mais il se distingue en s'appuyant sur le principe de convention plutôt que de configuration. Il s'agit de ne configurer que les cas particuliers. La mise en oeuvre de ce principe repose sur l'application de règles implicites entre le développeur et le socle de développement. Elle requiert un effort de formation supplémentaire lors de la prise en main du framework. En contrepartie, le développeur n'a pas à gérer, entre autres, le mapping objet relationnel. « Il suffit que le nom de la table de la base de données corresponde à celui de la classe Ruby », détaille Richard Piacentini, cofondateur de Nuxos, une SSLL spécialiste de Rails.

Une fois ces conventions en tête, le développeur se concentre sur la dimension métier de son application et délègue la plomberie et les détails techniques au framework. Rails met en oeuvre un autre principe essentiel -  Dont Repeat Yourself (DRY)  - qui favorise la réutilisation et la standardisation du code. « Chaque partie de la logique applicative et de l'interface ne doit être exprimée qu'une seule fois et à un seul endroit dans l'application, ce qui aide à factoriser le code », argumente Richard Piacentini. Au final, Rails réduit significativement les coûts de développement et diviserait par trois le nombre de lignes de code à écrire par rapport à PHP, et bien davantage encore si on le compare à Java. Cette concision améliore la lisibilité des applications et donc leur maintenance.

Ce ne sont pas les seuls points distinctifs. Rails génère le squelette complet d'une application en quelques clics. Comme un L4G, il s'appuie sur le modèle de données pour produire les interfaces Crud correspondantes. Cette fonctionnalité génère à la fois la navigation, les vues, les modèles de données, et les tests unitaires associés. Lorsque le développeur souhaite adapter le squelette de l'application, il peut réaliser toutes les opérations -  manipuler les données de la base relationnelle, créer d'autres vues et règles métier  - avec un seul langage (Ruby) et un seul framework (Rails).

Encore quelques défauts de jeunesse

Ce framework, très séduisant, possède encore quelques lacunes. Les outils de développement restent, en effet, rudimentaires et les offres d'hébergement sont quasi inexistantes. En plus, les prestataires réellement expérimentés se comptent pour l'instant sur les doigts d'une main dans chaque pays. Des défauts de jeunesses qui seront vite corrigés.

En revanche, il souffre de deux autres défauts plus handicapants. Tout d'abord, même si 37 signals se targue de posséder 500 000 utilisateurs pour son application gestion de projet Basecamp, personne n'a de réel retour d'expérience sur sa capacité à monter en charge. C'est un problème pour les applications à très forte volumétrie. En outre, Ruby serait plus lent que PHP. Deux problèmes qui devraient être résolus à terme avec Yarv. Cette machine virtuelle, en cours d'écriture, accélérera ainsi l'exécution des applications avec du code précompilé. Et les efforts de Sun autour de JRuby devraient aller dans le même sens.

Dernière limite, conceptuelle celle-là. Rails s'avère très mal adapté à la reprise d'applications existantes, surtout si le modèle de données existe déjà et qu'il n'est pas parfait. « Rails est surtout adapté au développement de nouvelles applications métier, et autour de gros projets dans lesquels on manipule et met en forme de nombreuses données. Le gain sera encore plus significatif si le besoin d'interaction avec les données devient très intense », analyse Nicolas Cavigneaux, ingénieur développement spécialiste de Rails. Pour ne rien gâcher, Rails brille aussi sur les projets Web 2.0. Il comprend nativement les méthodes Ajax et peut, via certains modules complémentaires, générer des interfaces utilisateur évoluées.

Les quatre atouts de Ruby on Rails

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.


Rails face à ses deux plates-formes de 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.



Suite de l'article
Richard Piacentini, cofondateur de la SSLL Nuxos Group
Témoignages

écrire à l'auteur imprimer
envoyer par mail
Cet article est extrait de : 01 Informatique

Hebdomadaire stratégique d'actualité, son objectif est d'informer et d'aider les décideurs dans leurs choix de produits et de solutions technologiques.

Découvrez le magazine
Contactez la rédaction
Abonnez vous
Devis et Factures
Réalisez facilement en quelques minutes des devis et factures professionnels et analysez votre activité.
Finances
Obtenez une vue globale de votre situation financièe pour prendre les bonnes décisions.


Votez pour les Trophées 2008

Question d'argent





conversation high-tech
Jog the Web : faites du Net un diaporama

marché
Les entrepreneurs du Web se tournent vers Israël

conversation high-tech
Voxmobili : synchroniser son mobile avec le Web

La logithèque pro windows   > mac   > linux
En vedette 
Image du logiciel The GIMP

Pour retrouver toute l'actualité des collectivités locales
Cliquez ici

L'actualité des .com, des .fr,
des .biz... chroniquée par
Jean-François Poussard (MailClub)
Cette semaine :
A quoi servira le .tel ?




Environnement haute-disponibilité
moyenne du 08 09 au 07 10 2008
rang hébergeurs disponibilité
des sites
performance d'accès aux sites qualité
globale
tendance
1 integra 99.92 98.20 99.49 En baisse
2 Ecritel 99.87 96.58 99.05 En baisse
3 Internet FR 99.80 96.49 98.97 En hausse
  Moyenne 99.27 93.91 97.93  


Serveurs dédiés
moyenne du 08 09 au 07 10 2008
rang hébergeurs disponibilité
des sites
performance d'accès aux sites qualité
globale
tendance
1 Magic Online 99.97 99.25 99.79 En hausse
2 Planet-Work 99.94 98.38 99.55 En hausse
3 Ikoula 99.90 96.97 99.17 En hausse
  Moyenne 99.87 97.29 99.22  

01net.com, en partenariat avec , mesure chaque semaine les performances des hébergeurs

Pour retrouver tout le test des opérateurs ToIP
Cliquez ici


A ne pas manquer !


Deuxième édition des trophées 01 Informatique
Abonnez-vous gratuitement !
Quotidienne
Hebdomadaire
 
découvrez 01men.com
> toutes nos newsletters

FLUX RSS

Une attaque affecterait 80 000 sites Web, selon un expert en sécurité


Le nouvel Internet à construire est l'Internet des objets


AMD devient un fondeur sans usines


IBM met en ligne messagerie, agenda, espace de travail et réseau social


Mono 2.0 : les applications .NET s’ouvrent à Linux


> tout le classement  




KIOSQUE
01 Informatique
01Informatique
L'hebdo de référence des décideurs informatiques.
Micro Hebdo
Micro Hebdo
L'hebdo qui vous simplifie la micro et Internet.
L'Ordinateur Individuel
L'Ordinateur Individuel
Le mensuel informatique qui vous informe et vous conseille.

Les flux RSS de 01net.


Tous les PodCasts
audio et video
Tous droits réservés © 1999 - 2008 Internext - 01net.
Sites du réseau 01net Network : 01net. - 01men - RMC - BFM - BFM TV - La Tribune - TousLesPodcasts - Association RMC-BFM