Nous sommes une équipe de développement Ruby on Rails expérimentée. Certains d'entre nous développent en Ruby depuis des années et le savent comme une poche de main. C'est pourquoi il nous faut beaucoup de courage pour admettre que Ruby n'est pas à son meilleur en ce moment.
La langue était très populaire en 2013-2015, mais sa popularité a ensuite décliné. Cela est particulièrement visible lorsque nous comparons les statistiques de Ruby et Ruby on Rails pour 2020 avec les progrès réalisés par d'autres outils. Stack Overflow a fait une comparaison assez triviale de la dynamique de croissance de Ruby et Node.js en fonction du nombre de questions posées. Oui, ce n'est pas l'indicateur le plus objectif, mais vous voyez l'idée ...
Les utilisateurs de Ruby ont abandonné, mais est-ce suffisant pour annoncer la mort de Ruby? Pas vraiment. Si vous avez vu des articles comme "Ruby is Dead" ou "Ruby is Irrelevant", accrochez-vous - à un moment donné, chaque langue a été déclarée morte. Prenez Node.js - le runtime passe de bons moments - et pourtant les gens se précipitent pour annoncer sa mort.
Les conceptions hâtives de la disparition de l'outil sont incroyablement courantes parmi les développeurs de logiciels. Nous avons déjà vu de nombreux instruments déclarés morts, même si ce n'était même pas de loin vrai. Tous les développeurs chevronnés savent que les histoires de langages et de frameworks mourants sont populaires.
Ruby et Ruby on Rails sont-ils morts d'ici 2020?
Évidemment, il n'y a pas de fumée sans feu. Ruby n'est en aucun cas parfait: les développeurs ont reçu plusieurs raisons de penser à passer à d'autres outils. Jetons un coup d'œil aux critiques les plus courantes de Ruby et Ruby on Rails et voyons si cela a du mérite.
1. «Consommation chaotique des ressources du processeur». Ruby et Ruby on Rails sont connus pour avoir une utilisation élevée du processeur à l'improviste. Les développeurs démarrent leurs processus typiques, ouvrent des moniteurs d'activité et constatent que l'utilisation du processeur est de 50%, voire 100%. En règle générale, ces changements se produisent sans raison apparente - les développeurs ne comprennent pas ce qu'ils ont mal fait et ils doivent arrêter le processus.
Notre commentaire: Ruby ne fonctionne pas bien avec l'utilisation du processeur. Habituellement, pour réduire la consommation, il suffit d'éditer les fichiers de configuration et de désactiver les processus d'analyse en arrière-plan inutiles. Le problème est souvent la qualité du code; notre seul reproche est la difficulté à trouver ces problèmes.
2. "Le typage dynamique n'est pas le signe d'un bon code." La saisie dynamique dans Ruby n'est pas correctement testée. Les développeurs peuvent faire des erreurs, créer du code illisible et ne pas en être conscients. Certaines personnes pensent que les référentiels de code Ruby sont un aimant pour la dette technologique.
Notre commentaire: Dans Ruby, les variables sont dynamiques: une variable peut faire référence à différentes valeurs, et vous pouvez la modifier à tout moment. C'est ce qui fait de Ruby l'un des langages les plus rapides pour écrire du code, donc ce n'est pas un inconvénient. Ruby dispose également d'un excellent garbage collector qui détecte automatiquement les problèmes techniques et ne nécessite pas de configuration manuelle. Les projets réussis bien dimensionnés utilisant Ruby sont la preuve que Ruby peut être très ordonné.
3. "Il n'y a pas de courbe de croissance." Ce n'est pas que Ruby soit devenu terrible, c'est juste que d'autres langages sont devenus beaucoup plus puissants. JavaScript fait des sauts incroyables de qualité chaque année, tandis que Ruby se développe régulièrement mais lentement. Auparavant, les rails représentaient un avantage concurrentiel clair, mais désormais, chaque langage possède des cadres de type Rails.
Notre commentaire: Il est vrai que Ruby on Rails a inspiré Node.js, JS, Python et une foule d'autres frameworks. En termes de mises à jour, ceux qui utilisent Ruby tout le temps ont remarqué des améliorations significatives de la vitesse et de la qualité du code. Ruby on Rails en 2020 est aussi rapide que les frameworks JS - nous avons un article expliquant cela plus en détail.
Ruby and Ruby on Rails est un must pour de nombreux projets
Ruby n'est pas un langage courant, mais c'est l'un des plus efficaces. Les gens ne l'apprennent pas pour le plaisir - ils le font pour le travail. Il est utilisé par Airbnb, Hulu, GitHub et de nombreuses autres plates-formes majeures actuellement. Voici quelques statistiques supplémentaires sur les sites basés sur Ruby et leur trafic.
L'écosystème Ruby on Rails 2020 comprend l'une des communautés les plus populaires sur GitHub avec plus de 3500 contributeurs. Pour vous donner une idée, Django, l'un des frameworks Python les plus populaires, n'en a que 1 500. Donc une comparaison entre Ruby on Rails et Django en 2020 montre que RoR fait vraiment bien.
Le développement de Ruby est rapide et efficace
Dans Syndicode, nous utilisons Ruby pour de nombreuses raisons. Premièrement, la vitesse - l'écriture de projets en Ruby prend 30 à 40% moins de temps que dans d'autres langues. En effet, vous avez besoin de 3 à 4 fois moins de lignes de code qu'en Java ou Python. Le code est léger et améliore les performances.
Auparavant, Ruby avait la réputation d'être lent, mais cela peut être résolu avec de bonnes pratiques de codage. Nous sommes entièrement d'accord avec le guide publié par Shopify - il est facile d'écrire du code Ruby rapide si vous savez comment.
Avantages du développement Ruby pour les propriétaires de produits
La vitesse de codage, moins de lignes et d'excellents frameworks semblent tous être un avantage de développement. Qu'en est-il de la qualité des produits et des avantages en termes de performances? D'après notre expérience, Ruby a beaucoup à offrir aux entreprises.
Mise sur le marché rapide. Ruby on Rails est notre choix pour le développement MVP car c'est le seul outil qui nous permet d'obtenir un codage à grande vitesse sans sacrifier la qualité.
Souplesse. Étant donné que le code Ruby est si rapide et facile à modifier, créer et publier des mises à jour est une tâche facile. Les développeurs peuvent rapidement publier de nouvelles fonctionnalités, introduire des innovations sur le marché et s'adapter aux besoins des utilisateurs.
Popularité de Ruby on Rails en 2020: l'écosystème de la plateforme Ruby on Rails surpasse facilement la plupart des environnements de développement backend, y compris les outils Node et Python.
De nombreux outils et bibliothèques gratuits. Il existe un vaste écosystème de gemmes et de référentiels Ruby et Ruby on Rails: des extraits de code réutilisables qui peuvent être intégrés dans n'importe quel projet.
Rentable: avec Ruby, vous devez payer 2 à 3 fois moins cher pour le développement. En effet, la syntaxe du langage vous permet d'écrire rapidement. Pourtant, de nombreuses fonctionnalités peuvent être implémentées avec un code prêt à l'emploi généré par la communauté.
Multiplateforme: le code écrit en Ruby fonctionne bien sur les appareils et les systèmes d'exploitation, ainsi que sur les navigateurs. Tous nos sites Web, SaaS et marchés alimentés par Ruby fonctionnent parfaitement dans un environnement multiplateforme.
Sécurité: Ruby et Ruby on Rails sont idéaux pour les applications sensibles aux données (plateformes financières, marketplaces, solutions de santé, etc.). Ruby et RoR suivent le cycle de vie du développement sécurisé: les développeurs donnent la priorité aux outils de sécurité, aux outils de surveillance en temps réel et adhèrent à des normes de sécurité élevées.
Top 5 des domaines de développement de Ruby
Il n'y a pratiquement aucun aspect du développement Web que Ruby ne couvre pas. Cependant, sur la base de notre expérience, nous avons identifié 5 principaux types de projets dans lesquels l'utilisation de Ruby au lieu d'autres langages à usage général «fait la différence».
Plateformes de trading
Ruby est utilisé par: Airbnb, Hulu, Amazon
Marketplaces sont d'énormes plates-formes Web qui connectent acheteurs et vendeurs, permettent des transactions financières, des transactions et des achats. Ils traitent de grandes quantités de données, nécessitent des normes de sécurité élevées et prennent du temps à se développer.
Nous utilisons Ruby on Rails pour tous nos projets sur le marché, y compris les très réussis Clean Agents et HotelCloud. Cela nous permet de réduire le temps de développement, d'améliorer la qualité et de publier rapidement des mises à jour.
Logiciel en tant que service
Les SaaS qui utilisent Ruby: Basecamp, Dribble
Software-as-a-Service est une plate-forme qui fournit en permanence des services sur la base d'un abonnement régulier. La rapidité et la sécurité sont deux critères pour créer un SaaS réussi. Après tout, les fournisseurs SaaS ont une responsabilité à long terme pour le succès de leurs clients. La fiabilité, les bonnes performances, la sécurité et les mises à jour rapides sont essentielles. C'est pourquoi Ruby on Rails est le meilleur choix pour le développement SaaS.
Évolutivité: le SaaS se développe rapidement - les entreprises se développent à un taux de 50 à 60% par an. La base de code doit s'adapter aux nouveaux besoins et résister à des charges élevées. Ruby et RoR vous permettent de modifier rapidement les fonctionnalités et d'adapter les services aux nouvelles exigences.
Rentabilité: Ruby on Rails possède l'un des écosystèmes les plus importants pour le développement Web. Une grande communauté GitHub, des gemmes de haute qualité et des bibliothèques prêtes à l'emploi contribuent tous à une infrastructure robuste.
Nous avons choisi Ruby on Rails pour InstaLinks, un SaaS qui génère des liens intelligents accessibles depuis le bureau et le mobile. RoR répond également aux exigences de projets plus importants tels que le CRM - jetez un œil à notre cas avec UkrVit.
MVP
Les entreprises qui ont utilisé Ruby pour les MVP comme Twitter, Shopify, GitHub, Basecamp
Ruby et Ruby on Rails sont des choix évidents pour le développement de MVP. Les MVP doivent être développés rapidement - les propriétaires de produits veulent les distribuer aux utilisateurs, démontrer un service attentionné aux investisseurs et étendre leur portée.
Facile à construire: même une petite équipe Ruby on Rails et Ruby peut créer un grand MVP;
Facilité d'apprentissage: les développeurs internes peuvent rapidement rejoindre notre projet plus tard, car l'apprentissage de Ruby on Rails prend peu de temps en raison de sa syntaxe simple.
Voici un exemple de MVP créé par nos développeurs Web à l'aide de Ruby on Rails. HelloCare est le marché de la santé, où la sécurité et la fiabilité ont été nos principales priorités. Ruby on Rails nous permet de progresser vers la réalisation de ces objectifs ambitieux tout en maintenant des délais de mise sur le marché et des coûts de fabrication bas.
Applications multiplateformes avec Ruby on Rails
Applications multiplateformes créées avec Ruby: Basecamp, GitHub Une
application mobile doit être en mesure d'exploiter les API des appareils, d'envoyer des notifications push et de s'adapter aux caractéristiques du matériel et du système d'exploitation. Un bon outil de backend pour une application mobile devrait envoyer des alertes, des annonces, la synchronisation des données. Nous utilisons Ruby et Ruby on Rails pour configurer le back-end de la base de données, du serveur Web et du serveur d'applications.
Bien que nous utilisions principalement Ruby pour les projets Web, nous nous référons souvent à ce langage pour les outils multiplateformes. C'est exactement ce que nous avons fait avec Kindercare, une application qui automatise la gestion et l'organisation des soins de jour et préscolaires. Nous avons utilisé Ruby et Ruby on Rails pour développer des versions mobiles et Web de la plate-forme et l'application a reçu d'excellentes réponses et des notes élevées dans le monde entier.
Des services innovants avec le développement de l'IoT et de l'IA
Ruby on Rails est souvent considéré comme un outil abordable pour des projets simples, mais c'est en fait bien plus que cela. Nous adorons utiliser Ruby et Ruby on Rails pour des produits ambitieux utilisant l'IA, l'IoT, l'apprentissage automatique, etc.
Le langage est suffisamment puissant pour accueillir des innovations complexes, et sa syntaxe simple permet d'économiser beaucoup d'efforts de développement.
Ruby Gems propose de nombreux codes prêts à l'emploi pour l'innovation en IA et IoT.
conclusions
Ruby ne meurt jamais. Les statistiques et les expériences des développeurs de Syndicode indiquent la même chose: Ruby est un langage pratique idéal pour résoudre des problèmes métier spécifiques. Il n'offre peut-être aucune approche spécifique prête à l'emploi, ce qui le rend moins intéressant pour des communautés comme Stack Overflow, mais cela fonctionne.
L'avenir de Ruby on Rails est encore plus optimiste - il est plutôt florissant. C'est toujours l'une des plates-formes de développement Web les plus populaires, et même les frameworks de type RoR n'ont pas encore rattrapé l'original. Ruby et Rails sont des outils rapides et efficaces pour la création de solutions Web et mobiles - et l'avantage ne va nulle part.
Si vous envisagez de créer une marketplace, un SaaS ou toute plate-forme Web avec une version mobile, Ruby est probablement le bon choix pour votre projet. Vous le saurez avec certitude lorsque vous en parlerez aux développeurs, alors n'hésitez pas à nous contacter.