6 points par GN⁺ 2024-10-08 | 1 commentaires | Partager sur WhatsApp
  • La première version bêta de Ruby on Rails 8 a été officiellement publiée
  • Cette version, basée sur Rails 7.2, introduit de nouvelles fonctionnalités et optimisations pour rendre le développement Rails plus productif et plus agréable
  • Points forts principaux
    • Intégration avec Kamal 2
    • Introduction de Propshaft comme nouveau pipeline de ressources par défaut
    • Nombreuses améliorations d'Active Record
    • Une mise à niveau de l'intégration SQLite qui en fait une option adaptée à un usage en production

Déploiement simplifié avec Kamal 2 et Thruster

  • Kamal 2 et Thruster simplifient le déploiement des applications
  • Kamal 2 permet un déploiement rapide et facile sur des VM cloud, des serveurs bare metal ou des environnements VPS, réduisant ainsi la dépendance aux services cloud managés et aux plateformes PaaS.
  • Avec la seule commande kamal setup, il est possible de configurer un environnement Rails prêt pour la production sur une machine Linux standard.
  • En outre, l'intégration avec Thruster permet des déploiements sans interruption, la prise en charge de HTTP/2, le SSL automatique via Let's Encrypt, la compression Gzip, ainsi que l'hébergement facile de plusieurs applications sur un seul serveur.

Déploiement Rails simplifié avec les adaptateurs Solid

  • L'une des principales améliorations de Rails 8 est la simplification du déploiement grâce à une réduction du nombre de services supplémentaires nécessaires pour répondre aux besoins courants des applications web.
  • Avec SQLite seul, il est possible de gérer les files de tâches, le cache et la messagerie pub/sub grâce à trois nouveaux adaptateurs basés sur la base de données : Solid Cable, Solid Cache et Solid Queue.

SQLite prêt pour la production

  • SQLite passe d'un outil de développement léger à un choix fiable adapté à une utilisation en production.
  • Grâce à un travail approfondi sur l'adaptateur SQLite et le driver Ruby, SQLite peut désormais prendre efficacement en charge Action Cable, Rails.cache et Active Job.

Une nouvelle ère du pipeline de ressources avec Propshaft

  • Propshaft devient le nouveau pipeline de ressources par défaut, en remplacement du système Sprockets utilisé depuis longtemps.
  • Propshaft reflète une approche simple et moderne de la gestion des ressources, adaptée aux besoins essentiels des développeurs d'aujourd'hui.

Une authentification intégrée plus simple

  • Une commande permet de configurer simplement un système d'authentification avec sessions basées sur la base de données et réinitialisation de mot de passe.
  • Cette commande génère les fichiers clés — modèles, contrôleurs, mailers, vues, etc. — afin de mettre rapidement en place une authentification sécurisée et prête pour la production.

Nouveau dossier script et nouveau générateur

  • Un nouveau dossier script est introduit pour stocker des scripts ponctuels ou génériques, comme des migrations de données, des tâches de nettoyage ou d'autres utilitaires.
  • Un nouveau générateur de scripts permet de créer et d'exécuter facilement ces scripts.

Diverses améliorations d'Active Record

  • Active Record bénéficie d'améliorations majeures visant à accroître les performances, simplifier les migrations, améliorer le diagnostic des problèmes et mieux prendre en charge des cas d'usage de base de données complexes.

Récapitulatif GN⁺

  • Rails 8 introduit de nombreuses mises à jour qui augmentent la productivité des développeurs et s'alignent sur les bonnes pratiques modernes, afin de permettre de se concentrer sur la création d'applications plutôt que sur la complexité de l'infrastructure
  • Le déploiement simplifié avec Kamal et Thruster, la gestion moderne des ressources avec Propshaft et la préparation de SQLite pour la production figurent parmi les principaux atouts de Rails 8

1 commentaires

 
GN⁺ 2024-10-08
Commentaires sur Hacker News
  • Ruby et Rails semblent connaître un regain d’intérêt ces derniers temps

    • Le livre Programming Ruby a publié cette année une nouvelle édition couvrant Ruby 3.3
    • The Rails Way est en cours de mise à jour pour Rails 8, avec deux ouvrages compagnons prévus
    • PragProg prépublie un nouveau livre intitulé Rails Scales
    • Ruby est devenu très rapide grâce à YJIT
    • Rails a ajouté de nouvelles fonctionnalités pour des réussites de niveau « intermédiaire »
    • Ruby a ajouté de nouvelles fonctionnalités comme Data (un Struct immuable), le pattern matching, les Fibers et les Ractors
    • J’ai quitté Ruby après 2013, mais l’idée d’y revenir m’intrigue
  • Le plus gros problème de Ruby reste la documentation

    • Le site officiel de documentation mélange d’anciens livres et la documentation de l’API
    • Les fonctionnalités du langage sont listées sous l’API, ce qui est déroutant
    • Par rapport à la documentation de Python, il manque une table des matières structurée
  • Je travaille sur un projet qui utilise Rails et une architecture basée sur des microservices

    • Il existe une tendance à éviter les architectures monolithiques, mais j’apprécie énormément la valeur fondamentale qu’apporte Rails
    • J’adore le fait que l’équipe Rails continue d’ajouter de la valeur et d’améliorer le framework
  • Rails est un framework qui offre productivité et stabilité pour les nouveaux projets web

    • Les nouvelles mises à jour majeures s’appliquent aux applications existantes sans grands bouleversements
  • Il m’arrive parfois de me dire que j’aurais aimé choisir Ruby/RoR plutôt que Node.js il y a 10 à 15 ans

  • Je n’utilise pas Rails, mais les Solid Adapters ont l’air très intéressants

    • On peut aller très loin avec une seule base de données
    • Utiliser la meilleure solution pour le cache, le pub/sub, la recherche full-text, etc., augmente la complexité opérationnelle
  • Je suis principalement développeur Go, mais j’ai commencé à utiliser Rails pour des projets perso quand la version 7 est sortie

    • C’est amusant de déployer sur Dokku sans outillage frontend complexe
  • J’ai essayé Rails plusieurs fois, mais Node me semblait plus facile à comprendre

    • Je cherche de la simplicité, et Rails n’est pas cela
  • Je suis développeur Rails depuis 20 ans et je cherche un poste à temps plein

    • Mon pseudo GitHub est le même
  • J’utilise RoR depuis 2008 et cela reste un framework puissant et flexible

    • On peut construire seul de grosses applications rapidement
    • J’espère des améliorations côté déploiement, et j’utilise Dokku au lieu de Kamal v1
    • J’attends Kamal 2 avec impatience