IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Pourquoi Ruby on Rails ne serait pas encore mort
D'après Patrick Helm, développeur back-end

Le , par Anthony

25PARTAGES

14  0 
Voici pourquoi Ruby on Rails est loin d'être mort... Les développeurs Honeypot écrivent même des lettres d'amour à Rails.


Ruby ou Rails ?

Il était une fois un petit quiz en ligne avec 10 questions.

Chaque question affichait une petite méthode et il fallait deviner si elle était définie dans le langage Ruby ou dans le framework Rails.

Ni Matz ni DHH n'ont obtenu 10/10.

Yukihiro Matsumoto, également connu sous le nom de Matz, est le créateur du langage Ruby.

David Heinemeier Hanson, alias DHH, a inventé le framework Rails.

Si aucun d'entre eux n'est capable de faire la différence entre Ruby et Ruby on Rails, soyez indulgents avec moi ; il se peut que je mélange certaines choses.


Pourquoi suis-je tombé amoureux de Ruby on Rails ?


Il y a plus de dix ans, lors d'une pause semestrielle, j'ai publié un tweet disant que je voulais apprendre quelque chose de nouveau.

Un ami m'a répondu : Il y a un nouveau venu sur le marché, qui s'appelle Ruby On Rails.

J'ai alors commencé à suivre un guide sur la façon de construire un clone de Twitter et un blog simple avec RoR.

Cela m'a pris moins de deux jours. C'est époustouflant !

La syntaxe de Ruby/Rails se lit souvent comme un texte anglais.

Il n'est donc pas étonnant que la doctrine de Rails soit "Optimize for programmer happiness".

Après cette expérience, je suis allé faire un stage en utilisant explicitement Ruby on Rails.

Ce tutoriel et le stage qui a suivi sont les raisons pour lesquelles j'apprécie le monde Ruby/Rails depuis plus d'une décennie maintenant.

Quelques-uns de mes outils préférés

Ce monde se compose d'une grande communauté et d'un écosystème encore plus grand.

En Ruby, les paquets sont appelés gems. Nous disposons donc d'un excellent système d'empaquetage appelé rubygems.

Deux autres outils que j'utilise très fréquemment sont Rubular pour jouer avec les expressions régulières, et The Ruby Toolbox pour trouver des solutions existantes aux problèmes que nous avons à résoudre.

Je suis (encore) un passionné

Aujourd'hui encore, je suis un "Rubyiste de jour et de nuit".

Rails et Ruby évoluent en permanence. La tradition veut qu'une nouvelle version majeure/mineure de Ruby soit publiée à chaque Noël.

C'est un cadeau à la communauté.

Rails n'est peut-être plus l'enfant le plus cool du quartier.

Il a grandi, mais surprend toujours la communauté avec de nouvelles fonctionnalités et améliorations utiles.

Ce que j'apprécie toujours autant, c'est que "Rails est omakase". C'est-à-dire qu'il est livré avec un grand nombre de paramètres par défaut qu'il est facile de modifier !

Si vous n'êtes pas satisfait du framework de test par défaut dans un nouveau projet Rails, vous pouvez le remplacer par ce que vous préférez ! Voulez-vous simplement utiliser Rails comme une API et ne pas envoyer de HTML sur le fil ?

C'est exactement ce que nous faisons avec Rails chez Honeypot.

Quelqu'un utilise-t-il encore Rails ?

Une phrase que je lis ou que j'entends de temps en temps est "Rails n'est-il pas encore mort ?

Récemment, Rails 7.1 a été publié avec plus de 800 contributeurs différents !

Et cela correspond à l'histoire récente du développement de Rails.

Du point de vue de la maintenance, Rails n'est donc pas encore mort.

Il y a près d'un an, la Rails Foundation a été créée.

Il s'agit d'une organisation à but non lucratif visant à améliorer la documentation, l'éducation, le marketing et les événements autour de Rails. L'une de ses principales étapes a été l'organisation de la toute première conférence Rails World à Amsterdam cette année. Les billets ont été vendus en 45 minutes ! Je dirais que c'est le signe d'une communauté très active.

Mais est-ce que ça a été mis à l'échelle ?

"Ok, ce n'est pas mort. Mais est-ce que ça passe à l'échelle ?"

C'est une phrase que je lis/entends de plus en plus souvent.

Comme nous le savons déjà, Ruby n'est plus le dernier né, et ce n'est certainement pas le plus rapide non plus.

Mais saviez-vous que vous utilisez très probablement un site web Ruby On Rails presque quotidiennement ?

Je veux parler de GitHub et de GitLab. Tous deux sont des applications Ruby On Rails assez classiques.

GitLab est une application web open-source, au cas où vous voudriez parcourir la base de code

Une autre entreprise dont vous avez peut-être entendu parler, et qui utilise toujours Ruby On Rails, est Shopify !

Et puisque nous parlons de mise à l'échelle, laissez-moi vous présenter quelques faits sur Shopify en ce qui concerne la mise à l'échelle de Rails :

  • il utilise la version HEAD la plus récente de Rails
  • il traite jusqu'à 1,3 million de requêtes par seconde
  • il dessert ~10 % du trafic de TOUT le commerce électronique.

Permettez-moi également de citer quelques autres entreprises qui utilisent ou ont utilisé Rails : Twitch, SoundCloud, Airbnb, et bien sûr Honeypot.

Donc, si Rails est assez bon pour un produit comme GitHub et Shopify, il est probablement sûr de dire :

"Il a été mis à l'échelle !"

Permettez-moi de conclure avec une citation de DHH sur Rails :

Vous commencez très bas, très simple, en ayant très peu à apprendre, et ensuite vous pouvez aller jusqu'à devenir la personne la plus importante dans votre entreprise, dans votre industrie, même si vous n'avez pas les qualifications nécessaires. J'aime cet aspect de Ruby on Rails. J'aime la diversité des personnes qui ont pu faire carrière dans la programmation grâce à ce cadre que nous avons créé.
Source : Honeypot (Patrick Helm)

Et vous ?

Quel est votre avis sur le sujet ?

Trouvez-vous que Ruby on Rails est dépassé ?

Voir aussi

La première version EAP de RubyMine 2023.3 est disponible : un aperçu des nouveautés de l'EDI Ruby on Rails de JetBrains

Rails 7.0 est disponible, cette version annoncée comme l'accomplissement d'une vision, peut-elle sauver Rails du naufrage ?

Un développeur estime que Ruby on Rails est dépassé et conseille aux entreprises de se tourner vers Node.js, partagez-vous ce point de vue?

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de Pierre Louis Chevalier
Expert éminent sénior https://www.developpez.com
Le 26/10/2023 à 13:47
La technologie parait séduisante, mais dans 90% des cas à la mise en production c'est un désastre car les performances sont le plus souvent catastrophiques.
Bon après pour un particulier ou une PME qui peut mettre en place un serveur ultra puissant pour compenser la lenteur de la technologie pour peu de visiteurs ça passe, mais pour une grande entreprises qui doit gérer un trafic énorme c'est pas une bonne solution.
3  1 
Avatar de siosnarf69
Membre à l'essai https://www.developpez.com
Le 26/10/2023 à 11:39
Bonjour,

Developpeur Rails Fullstack depuis 2020 suite à un bootcamp Le Wagon, je trouve que Rails évolue dans le bon sens.

La version 7 se débarrasse de Webpacker et permet d'importer très facilement des paquets JS (importmap).
Et puis l'intégration de Hotwire (= Turbo + Stimulus) permet par exemple de rafraichir des parties d'une page (turbo frame, turbo stream) sans avoir à recharger le DOM sans une seule ligne de JS, ça devient vraiment intéressant et même révolutionnaire.
L'intégration native de Stimulus (Framework JS) est aussi très simple à utiliser, avec ou sans Turbo.

Contrairement à PHP qui dispose d'une grosse communauté francophone, je trouve dommage que la communauté francophone Rails soit plutôt confidentielle et moins active.
C’est pour moi ce qui rend un peu difficile l'apprentissage des nouvelles fonctionnalités dans Rails.
Heureusement certains font des vidéos en français https://www.youtube.com/@GuillaumeBriday (Merci à toi Guillaume Briday) pour démystifier et expliquer ces nouvelles techno sur Rails.
Après il y a de très très nombreux supports, tutos et vidéos en anglais.

Concernant l'hébergement d'une application Rails, ceux qui galèrent peuvent se tourner vers Tomo Deploy de Matt Brictson (https://tomo.mattbrictson.com/) qui permet un déploiement ultra simple ! Merci à lui également.

J'entends aussi parler des problèmes de performances de Rails : C'est toujours pareil, quand vous prenez une VPS chez un hébergeur pour votre application à 4 euros/mois, faut pas s'attendre à des miracles. La machine virtuelle est mutualisée, elle a peu de mémoire, peu de CPU alloués etc.. Donc si les perfs de votre appli sont modestes, ca reste essentiellement lié au hardware utilisé.

Enfin, je trouve que ça bouge tellement vite que Rails reste pour moi, une valeur sure, stable et facile à mettre en œuvre. Et puis le langage Ruby est simple.
Rails n'est pas mort, c'est juste que l'engouement pour les nouvelles techno qui sortent chaque jour auto-incite les nouveaux développeurs à opter pour ces technos et puis à y rester.
Pourquoi ? On ne va pas se mentir, tous ces langages sont quand même compliqués, les frameworks ont tous leurs spécificités, leurs conventions etc... du coup, tu ne peux pas changer de framework ou de langage tous les 4 matins car les journées ne font que 24 heures et la phase d'apprentissage d'un nouveau framework est longue.

Voilà c'était juste mon avis.
1  0 
Avatar de marc.collin
Membre émérite https://www.developpez.com
Le 25/10/2023 à 20:04
Il y a eu une certaine popularité dans les années 2000, mais maintenant je dirait que c'est à peu près mort

Dépassé je sais pas, mais j'aurais de la misère à choisir cette technologie pour un nouveau projet.

j'ai du deux fois refaire des applications (300K et plus) dans une autre technologie car les entreprises avaient de la difficulté à recruter des gens, les experts à l'interne n'était pu intéressé à l'interne à développer dans cette technlogie.

J'ai pu constataté que l'écrire de code pouvait être souvent plus concise que dans d'autre langage, mais cela la rendait plus difficile aussi à lire...

Je préfère de loin 4 ligne de codes que tu prends 1 sec à comprendre, qu'une seule qui te prendre 2 minutes...

Dans les deux cas, il y a eu un gros gain de performance à changer de technologie, moins de consommation mémoire et support de plus de requête (sur le même serveur)
1  1 
Avatar de statoon54
Nouveau Candidat au Club https://www.developpez.com
Le 27/10/2023 à 9:24
Personnellement j'ai aucun mal à gérer 3 grosses applications en solo/ et équipe restreinte en Rails avec un développement initié en 2013 en Rails 4. (Stack Rails/Nginx/PostgreSQL/Redis)
Les 3 applications sont en Rails 7 désormais, et le plus gros du travail ces dernières années a du être réalisé sur le "frontend". Intégration de Stimulus/Stimulus Reflex et Turbo qui au passage a permis de nettoyer une quantité astronomique de code JavaScript.
A un moment on a travaillé sur VueJS pour une possible intégration mais ..... comme toutes technos JS de nos jours, les mises à jours se sont enchaînées, les cassures avec ....

Cela me fait doucement rire quand je vois des experts dire que c'est difficile à mettre en production du Rails alors que ça l'est certainement moins que tous les frameworks JS/Python réunis qui sont pour la plupart imbuvable.
Capistrano, Mina et récemment Rails 7.1 intègre aussi Kamal qui permet de déployer très facilement sur des conteneurs Docker.

Quelques petits points:
Ruby est aussi un très bon langage, qui a vu des améliorations notable au niveau des Performances ces dernières années, intégration de YJIT par l'équipe Shopify.
Les outils de développement/debug se sont aussi grandement améliorés avec entre autres RubyLSP/ Rubocop/Solargraph et debug pour VSCode.
Le framework de test RSpec est certainement inégalé dans ce domaine.
Rails 7.1 intègre encore pas mal de nouveautés qui en font certainement l'un des meilleurs frameworks Web encore de nos jours : https://rubyonrails.org/2023/10/5/Ra...-been-released

Si vous êtes un développeur seul ou en petite équipe, le choix de la stack peut être importante au début d'un projet. Rails reste une valeur sure.
Personnellement je vous le recommande.
1  1 
Avatar de statoon54
Nouveau Candidat au Club https://www.developpez.com
Le 27/10/2023 à 9:30
Citation Envoyé par Pierre Louis Chevalier Voir le message
La technologie parait séduisante, mais dans 90% des cas à la mise en production c'est un désastre car les performances sont le plus souvent catastrophiques.
Bon après pour un particulier ou une PME qui peut mettre en place un serveur ultra puissant pour compenser la lenteur de la technologie pour peu de visiteurs ça passe, mais pour une grande entreprises qui doit gérer un trafic énorme c'est pas une bonne solution.
Les performances à quel niveau ???
Honnêtement depuis 24 ans, j'ai eu la chance de faire la visite de plusieurs entreprises dont certaines encore aujourd'hui ne vérifie même pas les performances de chargement de leur page web/ et même simplement du temps d’exécution de leurs requêtes en base de donnée.
Donc parler de performances pour un framework Web, ça veut absolument rien dire du tout ....
0  2