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 !

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?

Le , par Olivier Famien

20PARTAGES

6  0 
Estimez-vous que Ruby on Rails est dépassé ?
Rails est un framework écrit en Ruby. Apparue pour la première fois en version stable en 2005, son utilisation dans la création rapide des applications web n’est plus à démontrer. Au fil des années, ses fonctionnalités et sa communauté ont concomitamment gagné en volume.

Avec la dernière version 4.2 parue août dernier, l’on a assisté à l’introduction d’un nouveau framework Active Job, qui est une couche d’adaptateur tournant au-dessus des systèmes de gestion de la file d’attente des processus tels que Resque, Delayed Job, SideKiq, etc.

En plus de cette fonctionnalité, plusieurs apports majeurs ont été intégrés dans cette version. Nous avons par exemple, Action mailer qui permet maintenant de différer l’envoi de mails en utilisant la méthode deliver_later et Adequate record qui permet d’améliorer les performances dans Active Record en accélérant les requêtes d’un facteur de 2. Aussi, avec la migration DSL l’on peut maintenant ajouter ou supprimer des clés étrangères pour les bases de données mysql et postgre en utilisant les adaptateurs adéquats.

Toutes ces fonctionnalités ont été implémentées afin d’offrir aux développeurs des outils à jour pour faciliter leurs projets de développement. Cette grande popularité du framework a incité dès ses débuts les ingénieurs du site de partage de fichiers Scribd pour le développement de cette plateforme.

Toutefois, en dépit de ces fonctionnalités qui font la joie de certaines personnes, un développeur du nom de Jared Friedman déconseille l’utilisation de ce framework pour les nouvelles entreprises. Pour lui, ce framework a connu son heure de gloire et est maintenant sur le déclin. Il serait donc judicieux pour les nouvelles entreprises de ne pas investir dans une technologie qui est en baisse, mais plutôt de se tourner vers celles qui sont en forte progression.

Pour mieux étayer ses propos, Jared a effectué un comparatif entre les langages Ruby on Rails, Django et Node.js avec l’outil Google Trends.


Comme on le constate, Ruby on Rails a connu son niveau le plus important en 2007 et est depuis lors entrainé dans un long processus de décroissance. Django lui connait une stagnation tandis que Node.js fait une percée substantielle.

Pour Jared, le véritable problème lié à Rails est Ruby. Dans un benchmark comparant Ruby, PHP, JavaScript, Go, Java et C, on constate que Ruby on Rails a le temps de latence le plus élevé.


Selon lui, Ruby a besoin d’un sponsor pour booster ses performances à l’instar de JavaScript qui a connu un fort attrait depuis l’implémentation du compilateur à la volée par Google. PHP a connu également des améliorations significatives avec l’investissement effectué par Facebook, ce qui a contribué à attirer les développeurs vers cette plateforme.

Twitter qui a adopté Rails dès ces débuts aurait pu corriger l’interpréteur de Ruby qui est assez lent et constitue un gros handicap pour Rails. Mais ce réseau social a préféré réécrire sa plateforme dans un langage encore plus performant.

Autres arguments avancés par Jared afin d’emmener les entreprises à se détourner de Ruby on Rails est que les autres langages ont rattrapé les avantages liés à ce langage. Par exemple, la facilité avec laquelle les développeurs arrivaient à mettre en œuvre les applications web a été également intégrée aux autres langages.

Enfin Jared souligne que l’enseignement de ce framework est privilégié dans les programmes de camps de démarrage ce qui fait que les développeurs aguerris le perçoivent comme un outil pour débutants et préfèrent se tourner vers d’autres outils ou langages.

À l’opposé de ce framework, Jared préconise l’utilisation de Node.js qui comme le montre Google Trends est en pleine évolution. Le site Coding VC confirme ces tendances dans le rapport mettant en avant les technologies utilisées par les startups.


JavaScript et Node.js apparaissent en tête suivis de Ruby et Ruby on Rails. Enfin, un argument de poids pour convaincre les sceptiques sur l’orientation vers Node.js, ce sont les tendances d’offres d’emploi répertoriées. Sur ce site, les offres d’emploi concernant Node.js sont en pleine croissance tandis que les entreprises demandant les aptitudes pour Ruby et Rails sont à peine visibles.


Source : Blog Jared

Et vous ?

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

Trouvez-vous que Node.js est un successeur valable face à ce framework ?

Ou pensez-vous que ce Ruby on Rails a encore de l’avenir ?

Voir aussi
Forum Ruby on Rails
Forum JavaScript
Forum développement web

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

Avatar de grunk
Modérateur https://www.developpez.com
Le 23/09/2015 à 8:35
Il serait donc judicieux pour les nouvelles entreprises de ne pas investir dans une technologie qui est en baisse, mais plutôt de se tourner vers celles qui sont en forte progression.
Il est surtout judicieux de se tourner vers des technos matures , stable et qui ne vont pas mourir dans les 2 années à venir.

nodejs m'inspire tout sauf la confiance pour le moment. L'exemple de io.js est typique du monde javascript actuellement. On fork parce que on est plus trop en adéquation avec l'original , puis finalement on revient parce que les rancoeurs passées sont oubliées ... c'est vivant , mais pour l'utilisateur ça inspire pas confiance.
C'est le risque des effets de mode. Suffit de voir Angular qui est remplacé très rapidement par Angular 2 , les dév qui espéraient un peu de support et de sérénité pour leur code doivent l'avoir mauvaise
9  0 
Avatar de Hellwing
Membre chevronné https://www.developpez.com
Le 23/09/2015 à 10:23
Vraie question : Comment une techno émergente peut-elle être considérée comme éprouvée et mature si tout le monde attend qu'elle le soit pour l'utiliser ?
8  0 
Avatar de Sodium
Membre extrêmement actif https://www.developpez.com
Le 23/09/2015 à 9:11
Il y a quelques temps, j'ai voulu m'intéresser à node.js.
J'ai constaté la complexité et le manque de maturité de node.js.
J'ai abandonné node.js.

Privilégier une technologie sous le seul prétexte qu'elle serait plus performante est rarement la meilleure solution.

Il y a certaines questions qu'il est nécessaire de se poser avant :
- Dispose-t-elle d'une très grande base de ressources, tant niveau documentation que niveau bibliothèques tierces activement maintenues ?
- Dispose-t-elle d'un ancrage et d'un passé assez solide pour pouvoir raisonnablement estimer qu'elle sera très présente à moyen-terme (je me rappelle d'une époque où Adobe Flex était le gros truc à la mode dans lequel il fallait se lancer) ?
- Trouvera-t-on facilement des développeurs disposant d'une vraie expertise, disposent-t-ils de suffisamment d'expérience pour produire du code solide et durable ?

Je ne dis pas que node.js est une mauvaise technologie et qu'il ne faut jamais en essayer de nouvelles, mais les discours sur le mode "ce langage est mort, dirigez-vous tous vers ce nouveau truc à la mode" sont aussi inintéressants qu'inutiles.
5  0 
Avatar de tomlev
Rédacteur/Modérateur https://www.developpez.com
Le 23/09/2015 à 18:50
Citation Envoyé par hotcryx Voir le message
Oui mais MS comment dire "ça bouge trop" et finalement beaucoup de choses passent à la trappe car c'est une black box et les développeurs commencent à voir clair lol.
C'est de moins en moins une blackbox... maintenant la plupart des technos MS sont open-source (.NET Core, CoreCLR, ASP.NET, Roslyn...)

Citation Envoyé par hotcryx Voir le message
Rappelez-vous du vbscript => finalement JS a gagné
Et qui s'en plaindra ? Pas moi... VBScript n'a jamais été supporté par d'autres navigateurs que IE, et sur le web, tout ce qui n'est pas standard est voué à disparaitre.

Citation Envoyé par hotcryx Voir le message
IE => les browsers alternatifs continuent d'exister
Encore heureux ! Après tous les procès qu'il y a eu contre MS pour abus de position dominante avec IE, on ne va pas maintenant se plaindre d'avoir des alternatives...

Citation Envoyé par hotcryx Voir le message
VB => VB .NET => C#
C# n'est pas un remplaçant de VB.NET, les 2 coexistent
Et en quoi c'est un problème de remplacer un vieux langage (VB) par un plus moderne (VB.NET) et mieux conçu ? (bon, dans le cas de VB.NET, disons moins mal conçu )
Si tout changement était une mauvaise chose, on coderait encore en COBOL, sinon en assembleur ou en binaire...

Citation Envoyé par hotcryx Voir le message
Access => SqlServer
N'importe quoi
Tu compares des choses qui ne sont pas du tout comparables. Access est fait pour la bureautique, SQL Server pour des grosses applications métier et/ou web. D'ailleurs SQL Server n'a pas remplacé Access...

Citation Envoyé par hotcryx Voir le message
Les contrôles: datagrid, grid32, gridview...
Encore une fois tu mélanges les pommes et les carottes. GridView, c'est un contrôle ASP.NET, donc pour le web. Grid32 est un contrôle Win32. Tu m'expliques comment on pourrait utiliser un contrôle Win32 sur un site web ?

Citation Envoyé par hotcryx Voir le message
Silverlight => xaml, html5
XAML n'est pas le nom d'une plateforme, juste une techno utilisée par un ensemble de plateformes (dont Silverlight)
Et HTML5 n'est pas une techno Microsoft, pour autant que je sache... Ce n'est pas MS qui a remplacé Silverlight par HTML5, c'est HTML5 qui est en train de remplacer tous les plugins propriétaires type Flash ou Silverlight. Alors oui, MS a laissé mourir Silverlight, mais je ne vois pas très bien ce qu'il y avait d'autre à faire... c'était un combat perdu d'avance.
5  0 
Avatar de anykeyh
Membre confirmé https://www.developpez.com
Le 25/09/2015 à 6:43
Pour avoir développé avec node.js ET ruby on rails, comment dire...

Il n'y a aujourd'hui aucun framework qui a le nombre de fonctionnalité et la simplicité d'utilisation de Rails.

Alors effectivement, le langage Ruby est un peu lent (et encore les perfs s'améliorent au fil des version), mais franchement:

- Pas plus lent que Python (donc Django/Rails meme combat)
- Le language est beau, et ça compte lorsqu'il s'agit de passer 8h par jour à lire du code qui n'est pas le sien et à en écrire pour les autres.
- Une empreinte mémoire < à Java
- Le framework Rails est vraiment l'un des framework les plus puissants à mon sens, pour en avoir essayé plusieurs.
- Le caching est très facile à intégrer dans RoR.

Le langage viens avec des bindings C facile à utiliser, le cas d'une recherche de performance ciblée il vous est toujours possible de coder les méthodes voulues en C.

Le framework Rails propose des surcouches sur les controlleurs etc... Qui peuvent impacter la performance. En revanche, il est possible d'attaquer le framework à un niveau plus bas (en héritant de ActionController::Metal) et peu de développeurs sont au courant de cela.

En passant, les graphs font des comparaisons un coup avec Python, un coup avec Java, un coup avec Node.js... C'est un peu bête et un non-sens.

Le vrai problème que je trouve à Ruby c'est l'absence de véritable multi-threading, mais c'est une autre histoire...
5  0 
Avatar de abriotde
Membre expérimenté https://www.developpez.com
Le 23/09/2015 à 9:26
On ne choisit pas un langage pour ses perfs
Bien sur que si c'est le rapports performances / souplesse de développement qui détermine un langage. Or aujourd'hui il existe aussi souple que Ruby sans ses inconvénients de performances.

Le facteur performances, contrairement a ce que l'on a voulu nous faire croire, est déterminant en informatique. Même si les performances des processeurs / mémoires ne cessent de progresser, les besoins explose et ne pas avoir besoin de puissance limite les coûts a tous les niveaux : matériel, humain et complexité (et donc fiabilité).

Un autre facteur déterminants dans le choix du langage est sa dynamique, sa communauté et sa perspective a long terme. Mais tous ces critères sont déterminé par son rapport performances / souplesse de développement. Au détail près qu'il est toujours difficile de percer. Mais Ruby a déjà percé et justement sa communauté bien que encore conséquente a tendance a baisser pour les raisons cités.

Choisir node.js est encore un peu prématuré bien que cela constitue un très bon choix surtout pour une start-up dont le but est de développer rapidement une base fiable. Pour une PME il manque encore de perspectives a long terme et pourrait se faire balayer par des Coffee-script ou autre.
Les valeurs sure sont C/C++, Php (Hack), Python et Java ou pour des besoins très spécifiques Erlang et Awk.
Les 3 alternatives crédibles sont Javascript (node.js), Google Go voire Rust.

Choisir un autre langage est pour moi inutile voire risqué. Une chose est sûr, il est très important de ne pas se tromper dans le choix du langage.
5  1 
Avatar de tomlev
Rédacteur/Modérateur https://www.developpez.com
Le 23/09/2015 à 10:22
Citation Envoyé par sazearte Voir le message
On ne choisit pas un langage pour ces perfs
Bah un peu quand même... à moins que tu aies très peu d'utilisateurs, tu es bien obligé de te poser la question des perfs.

Citation Envoyé par sazearte Voir le message
ruby a comme avantage par exemple d'etre un langage fortement orienté objet.
Ni plus ni moins que Javascript (typage dynamique, duck typing)
Si tu veux du fortement orienté objet, va voir plutôt du côté de Java ou C#
4  0 
Avatar de RyzenOC
Inactif https://www.developpez.com
Le 23/09/2015 à 20:00
La, Ruby est un langage innovant and fun.

Python est un langage ergonomique and riche.

Php est un langage avec une super doc et une communauté noob friendly.

Lisp est un langage puissant avec un paradigme fonctionnel de référence.

Go est un langage propre avec une gestion de la concurrence très performante.

Javascript est juste là par hasard. Il ne dépasse aucun des langages ci-dessus en terme de ses qualités propres. Sa bibliothèque standard est risible. Il ne sert absolument à rien sans un framework côté serveur, et côté client il est parfaitement improductif sans une lib pour gommer les incompatibilités entre les implémentations.

Les docs sur JS sont éparpillées sur le Web. Les tutos sont déchirés entre tant de versions et de frameworks qu’on se croirait dans un script des frères wachowski.

Des notions de base comme les closures sont encore obscures pour la plupart des codeurs Javascript, alors qu’elles peuvent ruiner les perfs de votre programme ou créer des bugs énormes. Les projets innovants en Javascript sont tous faits par des gens hyper compétents parce qu’innover dans ce langage, ça demande une discipline de dingue tellement il offre d’opportunité de merder.

Javascript est un hack qu’on se traine.
9  5 
Avatar de Jarodd
Membre expérimenté https://www.developpez.com
Le 24/09/2015 à 9:46
J'adore les graphiques sans légendes !

Alors dans la 1e image, le coeur se RoR s'est arrêtée, malgré les massages cardiaques. A partir de 2011, Node.js a été installé dans une région fortement sysmique.

Dans la 3e, on découvre que les développeurs JS préfèrent le bleu. Par contre les dévs Ruby débordent quand ils colorient en rouge et jaune, ils maitrisent mieux le feutre bleu. Les dévs C++ et Perl, eux, n'ont pas compris la question.
4  0 
Avatar de gretro
Membre actif https://www.developpez.com
Le 23/09/2015 à 13:49
Bonjour.

Je suis un développeur ASP.NET de jour, et de soir, j'ai commencé à me mettre au NodeJS. L'avantage que je peux voir au Node.js est surtout l'introduction d'une boucle d'événements au coeur du Framework. Ce n'est pas nouveau, certes, mais c'est très différent. Ça axe le développement autour de l'asynchronisme et ça permet de scaler horizontalement très facilement. Bref, c'est différent et ça répond à des besoins bien spécifiques. N'utilisez pas du Node pour du travail CPU, vous serez déçus.

Maintenant, est-ce que Ruby On Rails est mort? J'aurais tendance à penser que oui, simplement à cause des performances. Je pense que c'est un aspect très important d'une application Web. Il fait qu'elle soit snappy et que le CPU puisse dormir la plupart du temps. Cela va permettre de gérer un bien plus haut nombre de requêtes. Heureusement, c'est un problème qui est adressable selon moi.
3  0