Ruby on Rails
Une définition du Jargon Français.
nom propre→ masculin→. [Ruby]. Framework de développement en Ruby d'applications web reposant sur des bases de données relationnelles.
Abréviations courantes : Rails et RoR.
Il suit les principes du design pattern appelé Modèle-Vue-Contrôleur. Rails fournit un environnement de développement cohérent prenant en compte aussi bien Ajax pour ce qui concerne la vue, les requêtes/réponses dans le contrôleur et le mapping objet-relationnel pour ce qui concerne la base.
[modifier] Productivité
Pour améliorer la productivité du développeur, le framework utilise et/ou favorise l'emploi de divers principes:
- « Low Barrier to Entry » : tout en étant très puissant (le développeur avancé, par exemple, est encouragé à métaprogrammer), les fonctionnalités intégrées sont particulièrement intuitives et le débutant réalise très rapidement des applications
- « Convention plutôt que configuration » : le comportement par défaut correspond aux besoins courants et la configuration est bien entendu possible
- « Principe de surprise minimale » : les noms de méthodes collent au plus près à la fonctionnalité. Le code fait donc ce à quoi on s'attend en le lisant et il n'est d'ordinaire pas nécessaire de chercher un nom de méthode dans la documentation
- Très peu de dépendances : le développeur débutant est tout de suite productif car n'a à installer qu'une base de données pour commencer à travailler (l'emploi de SQLite simplifie encore cela)
- Modifications immédiatement visibles : tout comme PHP et contrairement à Java, les modifications dans l'éditeur se traduisent par un changement de comportement instantané (plutôt qu'après plusieurs dizaines de secondes ou minutes de compilation).
[modifier] Maintenance
Le framework facilite la maintenance du logiciel :
- « DRY (Don't Repeat Yourself) » : le framework pousse le développeur à éviter la duplication de code afin d'éviter la chasse aux bogues dupliqués par «copié-collé». Techniquement, cela repose beaucoup sur les techniques de métaprogrammation rendues possibles par Ruby.
- Rails est livré avec un framework de test complet pour les objets métiers, les actions des contrôleurs et des comportements d'utilisateurs. Il gère également les mocks simulant les interfaces avec des composants externes.
- Les changements de version sont facilités par l'utilisation de migrations pour le schéma des bases de données. L'intégralité du schéma est décrit par du code Ruby intuitif (méthodes add_table, add_column, add_index...) permettant de revenir en arrière.
[modifier] Limitations
- Le framework est peu adapté à un schéma de bases de données non conforme à ses principes (en particulier, la version standard de Rails ne gère pas les clefs composées). La migration de données d'une application existante peut s'avérer indispensable et partager une base de données avec des applications non Rails est parfois impossible.
- Les calculs sont plus lents qu'avec un langage compilé. Cela ne desservira guère une application web reposant sur une base de données, d'autant que l'ajout de serveurs est facile. Il est possible d'implémenter les calculs gourmands en langage C.
- Gourmand en mémoire, il n'est guère adapté à l'hébergement mutualisé de masse.
| http://www.rubyonrails.org/ |

