
Remix se réinvente
Écrit par Thomas Broyer
Remix, sorti initialement en novembre 2020 puis open sourcé l’année suivante, était à l’origine un framework web fullstack basé sur React et React Router, concurrent direct de Next.js. Racheté en 2022 par Shopify, une version 2.0 a vu le jour en septembre 2023, et finalement Remix a disparu pour être intégré complètement dans React Router v7 en novembre 2024.
Fin mai, un article sur le blog de Remix annonce une réécriture complète du framework, sur de nouvelles bases :
- exit React et React Router ‼
- exit les routes basées sur des règles de nommage de fichiers
- exit la dépendance/intégration à un bundler pour produire une application à partir de toutes ces règles spécifiques, et
- bienvenue aux APIs Web (partagées par tous les runtimes JavaScript : navigateurs, serveurs et environnements serverless)
- bienvenue aux assistants de code IA (Copilot et autres), et pour ça il ne doit plus y avoir d’implicit (règles de nommage et autres) pour pouvoir tirer parti de ces assistants sans attendre qu’ils apprennent de nouvelles approches de développement spécifiques au framework
- bienvenue à la modularité : chaque abstraction répond à un problème spécifique, et toutes s’emboîtent pour travailler ensemble ; on semble plus sur une approche toolkit que framework.
Et ce vendredi 19 octobre, lors de la conférence annuelle Remix Jam diffusée en live sur YouTube, les cofondateurs de Remix font une présentation d’un prototype de ce Remix 3 réinventé !
Ryan Florence présente d’abord la nouvelle approche de développement frontend, utilisant toujours JSX (mais avec un fork de Preact), à mi-chemin entre React et Solid, mais tournant le dos aux signals (et aux hooks) pour adopter une approche explicite de mise à jour, où l’état interne d’un composant est simplement géré par des variables tirant avantage des closures ; et termine par une démo rapide du système de rendu isomorphique avec hydratation côté client.
Michael Jackson présente ensuite la partie backend, basée un nouveau router et tirant parti des APIs Web qu’on connaît tous : Request et Response de l’API fetch(), FormData, ReadableStream, etc.
Au-delà de ces briques de Remix 3, la présentation vaut elle-même le coup d’œil puisque chacun part de JavaScript vanilla pour démontrer petit à petit le besoin (ou au moins l’utilité) d’une abstraction avant d’introduire la proposition de Remix qui y répond.
Pour les curieux, le projet GitHub contient déjà les briques backend (les briques frontend sont toujours dans un projet privé, même si des versions prototypes sont disponibles sur NPM), ainsi qu’une démo fullstack complète.
Résultats du js13k
Écrit par Alexandre Nicolas
Les résultats de la 14ᵉ compétition du js13k qui a eu lieu d’août à septembre est disponible ici.
Le thème de cette année était « Black Cat ».
Pour rappel, il s’agit d’une compétition dans laquelle il s’agit de développer un jeu en javascript correspondant au thème choisi, dont la taille du bundle final (sources + médias) ne doit pas dépasser les 13ko ! Il s’agit donc de développer un jeu le plus simple possible, d’optimiser le code au mieux et de réduire la taille finale du bundle à grand coup de roadroller.
Parmi les coups de cœur : Cat Survivors et Non mewtionian cat !
Laisser un commentaire