2006/6/5, Mathieu C. [email protected]:
LMI consacre une page entière à Ruby et Ror dans son édition du 2/06
Présentation de Ruby
Présentation de ROR
Voici l’article complet pour se faire une idée, il y a effectivement
beaucoup à dire. Mais bon, l’essentiel c’est qu’il existe et que
poulet = Volaille.new
-- Jean-François.
Le Monde Informatique n°1117 du 7 juin 2006.
Techno / Langages de programmation
RUBY, UNE PETITE PERLE SUR LES RAILS
Ruby est un langage pur objet puissant pour développer des services
Web lorsqu’il est associé au framework Rails.
Créé en 1995, la même année que Java, par le Japonais Yukihiro
Matsumoto, Ruby est un langage interprété purement orienté objet
à la syntaxe simple et fluide, qui permet à tout développeur une prise
en main rapide. Le développement de services Web n’est plus réservé
à Java, PHP, .Net ou autres Perl : les programmeurs Web sont séduits.
Ruby présente de nombreux avantages : il est gratuit, simple
d’utilisation
comme Python et très flexible à l’instar de Perl. Le développeur ne
s’encombre pas de lignes de code ou de notations inutiles ; le code
coule…
de source. Par exemple, les accolades et points-virgules de fin de ligne
ont disparu. Le code source est allégé et permet des développements
d’applications plus rapides, et donc une maintenance simplifiée et moins
coûteuse. Les variables ne sont pas déclarées ni typées, et la gestion
de la mémoire est automatique. Ruby gère les tableaux et les exceptions,
mais l’un de ses principaux avantages est son aspect purement orienté
objet. Tout est objet : une constante, une variable… Et l’instruction
de
répétition type boucle for est en réalité un appel à une méthode : pour
trois itérations on écrira tout simplement 3.times do… Ruby autorise
évidemment l’héritage et offre des possibilités dynamiques au sein du
code source, par exemple de vérifier si une méthode existe ou peu
s’appliquer à un objet. L’ajout dynamique d’une méthode sur un nouvel
objet, instance d’une classe, est dynamiquement possible. Des
fonctions peuvent même prendre en argument des classes et générer
de nouveaux objets !
Enfin, avec l’existence de bons modèles d’architecture logicielle
comme MVC (modèle vue contrôleur), le cloisonnement des tâches
du programme permet d’obtenir plus d’efficacité et une programmation
propre : la partie métier en rapport avec les bases (modèle),
l’interface
graphique en relation avec JavaScript, HTML et CSS (vue), la logique
des requêtes (contrôleur) sont séparées.
Un framework puissant
Pris isolément, malgré ses qualités intrinsèques, Ruby ne peut
supporter la comparaison avec ses concurrents. Mais Ruby on
Rails, son framework de développement d’applications Web, change
la donne. Et là , la comparaison avec Java ou PHP est possible. Ce
framework fournit, entre autres, Active Record, qui facilite les
processus d’accès aux bases de données à l’aide de requêtes SQL.
La gestion de formulaires, d’envoi et de réception de courriels,
les sessions, les cookies sont facilement traités. Active
Record procure une grande souplesse d’utilisation des objets.
L’association d’un objet à une table de même nom dans la base de
données induit le fait que toutes les tables seront vues comme des
propriétés de la classe de base : réaliser des enregistrements directs
et peupler les tables devient facile. Rails permet au développeur de se
consacrer à l’écriture de code fonctionnel et spécifique en utilisant
les
nombreux composants réutilisables du framework.
Applications pour le Web
On trouve encore peu d’applications de renommée en Ruby, même
si les projets se multiplient. Basecamp est un outil entièrement
orienté Web qui permet de gérer l’aspect collaboratif d’un projet
d’entreprise, Backpack permet la gestion simple de notes, images
et fichiers sur des pages Web, T est une gestion de liste type
marque-page sur le Web. Le langage trouve une grande partie
de ses débouchés dans le prototypage de services Web, les
tests d’applications Web (log, trafic, statistiques), les messageries
vocales, la gestion de flux RSS permettant des mises à jour faciles
et automatisées, la création de blogs. D’autres applications concernent
la gestion d’images (recadrage, archivage, mise en forme), la génération
de code, le classement et l’indexation de données, la mise en forme et
l’archivage de publications. La liste des développeurs et des projets
Open Source sous Rails s’allonge de jour en jour. Autre preuve
d’intérêt : Ruby et Rails peuvent désormais être utilisés sous l’EDI
Eclipse.
-- Gérard Canesi.
Mots-clés
Objet : Instance d’un classe. Par exemple, l’objet “poulet” fait partie
de la classe “volaille”.
Classe : Une classe contient un modèle d’objets et des méthodes.
Méthode : Sous-programme agissant sur un objet. Par exemple, la
méthode “tri” va agir sur l’objet “tableau”.
Typage : Déclaration du type des variables (entier, réel…).
Héritage : Nouvelle classe dérivant d’une classe initiale et possédant
des caractéristiques supplémentaires.
Avis d’expert
Serge Baccou, directeur associé de la SSII Baccou Bonneville,
spécialisée dans la gestion de projets d’applications Web
"L'avenir de Ruby dépend des hébergeurs de sites"
Les principaux atouts de Ruby sont la maintenabilité du code, qui est
plus forte qu’avec d’autres langages comme Java ou PHP, l’écriture
étant plus concise, compacte et agréable à utiliser. Du point de vue
de la rapidité Ruby, bien qu’interprété, est agréablement surprenant,
mais la vitesse de calcul des ordinateurs progressant, la performance
n’est pas un critère déterminant. Ruby autorise l’object mapping : on
peut avoir une représentation dynamique de l’objet au niveau de la
base de données. Le développeur manipule des objets et non plus des
tables, il va se concentrer sur le développement de son application
plutôt que d’écrire des classes ou réaliser des écritures dans la base
de données. L’objet est de rigueur et il fallait remonter à Small Talk
pour avoir le même niveau. Rails progresse car le développeur
dispose d’outils de développement qui facilitent sa tâche. Ruby,
adossé au framework Rails, a donc ses atouts, mais prendra-t-il le
même chemin que PHP ? A priori, on ne connaît pas de limites Ã
Ruby, mais tout dépendra de l’offre de formation, et surtout du
nombre d’hébergeurs de sites qui fourniront rapidement Ruby et
Ruby on Rails.