Dans l’article A quoi sert le Ruby on Rails nous avons présenté son utilité, notamment depuis la création du framework Rails, ainsi que quelques entreprises qui l’utilisent en France et dans le monde
Nous allons lister ici les qualités de ce framework que nous aimons particulièrement chez Capsens.
Vitesse de développements
Ruby est clair, simple, logique et possède une base de code allégée. Sa philosophie basée sur la lisibilité du code et l’application du principe DRY (Dont Repeat Yourself) permet d’accélérer la vitesse de développement et d’en augmenter sa maintenabilité. Ajoutez Rails et vous verrez comment cela aide les développeurs à gagner du temps lors du développement et à se concentrer sur la résolution de problèmes complexes. Tout simplement parce que moins de code signifie moins de temps passé à l'écrire alors que la fonctionnalité reste la même.
« Ruby on Rails est une percée dans la réduction des barrières d'entrée à la programmation. Des applications web puissantes qui, auparavant, auraient pris des semaines ou des mois à développer, peuvent être produites en quelques jours. »
Tim O’Reilly, Fondateur de O’Reilly.
C’est d’ailleurs pour cette raison que la plupart des bootcamps de développement web, comme le Wagon, centrent leur formation sur le Ruby on Rails.
D'ailleurs j'en profite pour rendre hommage au Wagon qui a accentué significativement la popularité du Ruby on Rails en France et dans le monde. Nous avons plusieurs membres de notre équipe qui y a été formé, et ils sont tous fans de leur expérience là-bas !
Rentabilité
Comme il ressort du point précédent, le temps de développement c’est de l’argent (surtout à une époque où les développeurs sont bien payés). Plus le développement prend de temps, plus il coûte cher. En raison de la rapidité avec laquelle les sites web Rails peuvent être créés et modifiés, moins d'argent est dépensé pour les créer et les maintenir. Bien sûr c’est à condition que l’application est correctement conçue et que son processus de développement est correct.
De plus, Ruby on Rails est open-source, ce qui signifie l'absence de frais de licence. Mais ce n’est pas exceptionnel car aujourd’hui les langages open-source sont la norme.
Flexibilité
Le framework Rails est très flexible et permet d'adapter les sites web aux diverses mises à jour liées aux innovations dans les processus métier. Au cas où vous manqueriez certaines fonctionnalités à l'avenir, il existe des modules séparés pour cela. De plus, Ruby vous permet de supprimer divers éléments ou de les redéfinir si nécessaire. De même, des parties individuelles d'un programme ou d'une application peuvent être librement modifiées et étendues ultérieurement.
C'est un langage incroyablement expressif et flexible qui permet de résoudre un problème de plusieurs façons, donnant aux développeurs Ruby on Rails beaucoup de liberté et d'opportunités pour trouver la solution la mieux adaptée à un projet.
Les projets en RoR sont faciles à prendre en main
Le code Ruby est lisible et largement auto-documenté. Épargnés par le besoin d'écrire plus de documentation qu'ils n'en ont absolument besoin, les développeurs peuvent prendre les projets déjà existants presque sans formation spécifique. De plus, plus de 90% des applications web Ruby écrites utilisent Rails. Cela signifie que RoR fournit toutes sortes d'intégrations pour répondre aux exigences du projet.
Chaque projet est bien structuré, de sorte qu'un nouveau développeur obtiendra rapidement les détails du projet dès le premier jour. Cela signifie que le turnover fait moins mal car l’onboarding plus simple. De même, la croissance du nombre de développeurs sur un projet est facilité par cette qualité du RoR.
Ressource massive et communauté
Il existe un grand nombre de solutions Ruby on Rails prêtes à l'emploi dans le domaine public (les fameuses “gem”), dont la plupart ont déjà été testées par quelqu'un d'autre, ce qui réduit la nécessité de développer quelque chose à partir de zéro. D'ailleurs chez Capsens nous en avons réalisé plusieurs que nous avons open-sourcé.
La grande et conviviale communauté où les développeurs Ruby on Rails s'entraident, annoncent de nouveaux projets et discutent de tout ce qui concerne le framework, n'est pas seulement utile pour les codeurs, mais est également bénéfique pour les entreprises. En cas de difficultés, elle aide à trouver les meilleures solutions pour résoudre vos problèmes. À l'heure actuelle, il existe 1 800 000 gems que tout développeur Ruby peut utiliser pour améliorer son application. L'utilisation généralisée des applications et des outils Ruby signifie que vous pouvez facilement intégrer d'autres services dans des produits basés sur RoR.
Scalabilité
Pendant longtemps, Ruby on Rails a été connu pour ses problèmes d'évolutivité, et non sans raison. Par exemple, les performances des mêmes programmes écrits en Java et en RoR peuvent être très différentes, surtout compte tenu de la grande efficacité de Java concernant les applications multi-thread. Cependant, Rails 6 publié en 2020 a résolu la majorité des problèmes d'évolutivité de Rails. Rails 6 est considéré comme évolutif par défaut.
Aujourd’hui, l’utilisation massive de RoR par des entreprises très importantes et avec des impératifs de résilience comme Airbnb, Doctolib ou Github démontre que le langage a largement dépassé ces limites.
Protection des données
Ruby on Rails offre une excellente sécurité aux projets développés. Lors de l'utilisation des outils RoR, les injections SQL et les attaques XSS sont exclues, tous les paramètres d'entrée sont bloqués par défaut, les variables de sortie dans les modèles sont également bloquées. Les mises à jour successives de Rails tendent vers toujours plus de sécurité : Rails 7 introduit le chiffrement de la BDD par exemple.
Et les failles de sécurité sont toujours corrigées dans des délais très courts de sorte qu’il devient très difficile pour un développeur de faire une erreur de sécurité (à moins qu'il ne se soit intentionnellement tiré une balle dans le pied).
Les équipes responsables du développement du framework Rails ont beaucoup réfléchi à ses capacités de protection des données. Entre autres choses, RoR contient le chiffrement des mots de passe et des données de carte de crédit.
Maintenabilité
L'aspect stabilité est extrêmement important pour chaque entreprise. Le développement Ruby on Rails utilise généralement l'approche TDD (développement piloté par les tests) et la boîte à outils prend en charge des capacités de test étendues. Cela signifie que les solutions créées avec Ruby on Rails sont stables et maintenables (cela exige peu de temps de maintenance). Le framework lui-même est également couvert par des tests automatiques, ce qui le rend fiable.
Contrairement à d'autres frameworks, RoR dispose d'excellents outils de tests automatisés, ce qui accélère la transition du projet de l'étape "le programme est écrit" à l'étape "le programme fonctionne sans erreur". Et c'est souvent cette transition qui prend le plus de temps dans la mise en œuvre de presque tous les projets.
Startups et Scaleups
Naturellement, la rentabilité, la rapidité, l'évolutivité, l'accès à la base de connaissances la plus large et d'autres facteurs sont tous les avantages de RoR qui donnent un avantage concurrentiel aux startups et aux petites et moyennes entreprises. Les startups et les entreprises en développement choisissent les services Ruby on Rails car ils leur permettent de rivaliser avec les grandes entreprises.
"Rails a fait plus pour les startups que tout un tas de capital-risqueurs. Rails a eu un impact incroyable sur l'écosystème des startups.” Eric Ries, le promoteur du Lean Startups
En tant qu’agence web Ruby on Rails avec la plupart de nos projets développés en RoR, nous approuvons ce message ;)
Le futur du RoR
L'important est que bien que Ruby on Rails ait plus de 15 ans, il est constamment développé pour répondre aux besoins émergents de l'entreprise. La version stable actuelle de Ruby est la 3.1. Ellel dépasse la précédente (2.0) en étant 3 fois plus rapide, avec une utilisation de la mémoire supérieure, un typage static et de nouvelles fonctionnalités telles que les Ractors (multithreading) et les planificateurs. Ces nouvelles fonctionnalités l'aident à rester à jour et compétitif.
Sans parler de ce qui arrive à plus long terme grâce à des grosses entreprises comme Shopify qui investissent massivement dans la R&D pour le Ruby on Rails.