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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Ruby on Rails Discussion :

Rails 7.0 est disponible, cette version est annoncée comme l’accomplissement d'une vision


Sujet :

Ruby on Rails

  1. #1
    Chroniqueur Actualités
    Avatar de Bruno
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    mai 2019
    Messages
    570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : mai 2019
    Messages : 570
    Points : 8 943
    Points
    8 943
    Par défaut Rails 7.0 est disponible, cette version est annoncée comme l’accomplissement d'une vision
    Rails 7.0 est disponible, cette version annoncée comme l'accomplissement d'une vision,
    peut-elle sauver Rails du naufrage ?

    Rails, également appelé RoR ou Ruby on Rails, est un framework web libre écrit en Ruby et qui propose une structure qui permet de développer rapidement et intuitivement. Cependant, il impose un grand niveau d'abstraction dans la programmation qui apporte en contrepartie l'économie d'écrire soi-même la plupart des routines obligatoires d'une application web. Le 15 décembre, l’équipe de développement a annoncé la version 7 de Rails. Elle propose une approche sans node par défaut pour le front-end, sans pour autant sacrifier l'accès aux paquets npm ou le JavaScript moderne.

    Nom : ruby.PNG
Affichages : 9355
Taille : 4,1 Ko

    Cette version de Rails est le fruit de plusieurs années de réflexion. C'est la concrétisation d'une vision qui consiste à présenter une approche véritablement complète du développement web, qui s'attaque avec la même vigueur aux défis du front-end et du back-end. Un menu omakase qui comprend tout, de l'apéritif au dessert. Rails est basé sur deux principes fondamentaux :

    • pas de répétition : tenter autant que possible de n'avoir des éléments de l'application qu'à un seul endroit. L'architecture MVC et la métaprogrammation en Ruby peuvent faciliter cela ;
    • convention plutôt que configuration : les éléments de configuration ne sont nécessaires que s'ils ne respectent pas les conventions établies. Rails exploite cela en proposant des comportements par défaut pour la plupart de ses fonctionnalités.


    Avec les progrès réalisés dans la prise en charge des navigateurs ES6/ ESM (EcmaScript Modules), l'adoption généralisée de HTTP/2 et la nouvelle norme passionnante pour les cartes d'importation, c'est enfin possible. Rails 7 tire parti de toutes ces avancées pour proposer une approche sans node par défaut pour le front-end, sans pour autant sacrifier l'accès aux paquets npm ou le JavaScript moderne.

    La combinaison de Turbo et de Stimulus de Hotwire offre tous les outils nécessaires pour produire des expériences utilisateur fantastiques qui ne laissent rien à désirer par rapport aux applications à page unique - pour une fraction de la complexité. C'est le choix par défaut pour les nouvelles applications Rails, qui remplace les options beaucoup plus limitées de Turbolinks et Rails UJS.

    Si la plupart des applications Rails n'ont pas besoin de dépendre de Node compte tenu de ces valeurs par défaut, l’équipe a tout de même réussi à améliorer considérablement l'intégration pour celles qui en ont besoin dans Rails 7. Fini le couplage étroit de Webpack avec Webpacker, place à un couplage plus souple avec n'importe quel bundler JavaScript. Il est possible d’utiliser esbuild ou rollup.js ou même Webpack grâce à la nouvelle intégration jsbundling-rails qui peut être préconfigurée pour les nouvelles applications avec --javascript esbuild. La même approche est adoptée pour les bundlers CSS qui reposent sur Node. Avec Rails 7, tout ce qu'ils doivent être capables de produire est un fichier application.css compilé, et ils s'intégreront parfaitement.

    Le chemin par défaut sans Node est considérablement plus simple, étonnamment performant, et il va dans le sens de ce que le futur développement frontal est susceptible de faire de toute façon. L'autre voie d'intégration avec Node est plus légère, moins prescriptive et moins fragile que jamais. Ce sont les meilleurs choix par défaut que l’équipe de développement n’a jamais eu pour le développement frontal dans Rails. Voici, ci-dessous, quelques-unes des nombreuses autres nouvelles fonctionnalités et améliorations :

    Chiffrement avec Active Record

    Extrait de HEY, l’équipe Rails a ajouté des attributs chiffrés à Active Record, de sorte que le framework peut offrir un chiffrement en plus de la couverture traditionnelle au repos et en transit. En tant qu'avantage pratique immédiat, le chiffrement des attributs sensibles ajoute une couche de sécurité supplémentaire. Par exemple, si un cybercriminel accède à une base de données, à un ou aux journaux de votre application, il ne sera pas en mesure de comprendre les informations chiffrées. Et même sans penser aux acteurs malveillants, la vérification des journaux d'application pour des raisons légitimes ne devrait pas non plus exposer les informations personnelles des clients.

    En utilisant Active Record Encryption, il est possible de définir ce qui constitue des informations sensibles dans l’application au niveau du code. Cela permet de contrôler l'accès à ces informations et de créer des services autour d'elles. À titre d'exemple, on a les consoles Rails auditables qui protègent les données chiffrées ou vérifiez le système intégré pour filtrer automatiquement les paramètres des contrôleurs.

    Chargement asynchrone des requêtes

    Lorsqu’il existe une action du contrôleur qui doit charger deux requêtes non liées, il est maintenant possible le faire simultanément grâce à Relation#load_async. Si il existe trois requêtes complexes qui prennent chacune 100 ms, vous auriez dû passer 300 ms à les exécuter une par une auparavant. Maintenant, vous pouvez les exécuter en parallèle, en ne dépensant que 100 ms au total sur l'ensemble.

    Zeitwerk En exclusivité

    Le chargement automatique dans Rails est l'une de ces réalités magiques de qualité de vie qu'il est facile de considérer comme acquises. La bonne vieille approche const_missing, qui s'accompagnait d'une série de bizarreries et de fonctionnalités manquantes, a finalement été remplacée exclusivement par le chargeur de code Zeitwerk. Il y a quelques problèmes de mise à jour à connaître, en particulier pour les anciennes applications.

    Toutes les fonctionnalités de Rails 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.

    Nom : Ruby on RailsB.png
Affichages : 1929
Taille : 42,0 Ko

    Toutefois, en dépit de ces fonctionnalités qui font la joie de certaines personnes, un développeur du nom de Jared Friedman a déconseillé en 2015 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.
    À l’opposé de ce framework, Jared préconise l’utilisation de Node.js qui comme le montre Google Trends est en pleine évolution.

    Source : Ruby on Rails

    Et vous ?

    Utilisez-vous le framework Ruby on Rails ? Sinon lequel utilisez vous ?

    Quelle caractéristique de Ruby on Rails vous intéresse le plus ?

    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 :

    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 ?

    La première Release Candidate de Ruby 3.0.0 est disponible avec les vérificateurs de type, y compris TypeProf et d'autres outils prenant en charge RBS

    Ruby on Rails 7 révise la prise en charge de JavaScript, en abandonnant Webpacker au profit d'une approche du regroupement JavaScript sans Node.js

    Ruby 3.0.0 est disponible, cette version majeure est annoncée comme étant trois fois plus rapide que Ruby 2, et introduit plusieurs nouvelles fonctionnalités dont les Ractors, RBS et TypeProf
    Contribuez au club : corrections, suggestions, critiques, ... Contactez le service news et Rédigez des actualités

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur C++
    Inscrit en
    octobre 2008
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur C++

    Informations forums :
    Inscription : octobre 2008
    Messages : 236
    Points : 691
    Points
    691
    Par défaut
    Quand je vois que ce qui est conseillé est le nodejs à la place de rails, je suis content de pas faire du développement web

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    avril 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : avril 2014
    Messages : 1
    Points : 8
    Points
    8
    Par défaut Ruby, Node et autre
    Merci pour l'article, c'est chouette d'avoir un suivit sur Developpez. Ce que je peux en dire :

    Ruby on Rails reste un poids lourd dans l'écosystème de Ruby pour lequel il a codifié la façon dont une application est structurée, tout autant que la généralisation de certaines pratiques.

    C'est une caractéristique intéressante en soit, couplée à "Convension over Configuration" tout comme le principe de "Rails is Omakase" : concentrez-vous sur votre application, Rails implémente la stratégie la plus cohérente par rapport à votre objectif. Bien sûr, il est bon de ne pas rester dans l'ignorance et de se documenter.

    Ce qui se traduit par la disparition du code "glue" entre le framework et le code métier, ou l'usage à la place du DSL offert par Rails qui donne un aspect déclaratif.

    Bien que ça offre un avantage pour faire évoluer rapidement son produit, c'est aussi un piège pour une application qui grossit et prend de l'âge (fort couplage au framework sans pour autant s'en rendre compte).

    Et ça va très vite : stockage en cloud, cache, sécurité des mots de passe, synchronisation de l'état des bases de données, nettoyage de template (évite du XSS), traitement en arrière-plan, voir du distribué sur d'autres serveurs... Tout est facilement accessible sur Rails. D'où le risque qu'on avance sans trop planifier sur le long terme.

    Pour la remarque sur NodeJS... C'est éloquent.

    NodeJS n'est pas un successeur à Ruby (ni même à PHP). C'est une option qui a de bons arguments. Comme toute solution, ce n'est pas "bullet proof". Il y a des arbitrages à faire en fonction du projet.

    Ce qui manque d'argument en revanche, c'est de conseiller une technologie en fonction du trending du marché. Cela amène à croire des choses et pousse des gens à poser des questions stupides du genre "Pourquoi utiliser C++ quand Python est #1 sur Tiobe Index" (du côté de Quora).

    Ruby a une implémentation, un écosystème et une philosophie qu'il faut prendre en compte. Soit c'est cohérent pour le projet et l'équipe, soit ça ne l'est pas. Il en va de même pour le reste.

    Pour ce qui est de l'avenir de Ruby on Rails, je ne m'inquiète pas. Il est encore utilisé pour démarrer des projets et des start-ups chez nous, en France. Idem aux USA. Mais il est vrai qu'il n'y a pas vraiment de fanfare ou de publicité sur cet aspect. Car effectivement, Ruby on Rails n'est plus à la mode. Et finalement, c'est très bien.

  4. #4
    Membre extrêmement actif
    Avatar de Madmac
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    juin 2004
    Messages
    1 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : juin 2004
    Messages : 1 095
    Points : 1 182
    Points
    1 182
    Billets dans le blog
    3
    Par défaut Et il fonctionne avec Ruby 3
    Ruby 3 permet de typer les variables. Ce qui dans le cas de programme de base de donnes, un gros avantage. De plus avec la version 3, Ruby est compile comme Java.

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/07/2020, 10h14
  2. Réponses: 0
    Dernier message: 19/11/2019, 14h06
  3. Réponses: 0
    Dernier message: 04/11/2017, 23h12
  4. Réponses: 0
    Dernier message: 04/07/2017, 19h58
  5. Réponses: 3
    Dernier message: 09/04/2011, 13h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo