La sortie de React Router 7 est imminente
Remix nous annonce enfin la sortie imminente des React Server Components, lors de la présentation de Ryan Florence à la React Conf 2024.
00:00 Remix va bientôt sortir les React Server Compalents. Sauf qu'il y a un petit problème. Ils ne vont pas les sortir avec la librairie Remix à proprement parler. Ils vont les sortir avec la librairie React Router. Hier s'est déroulée la conférence React deux-mille-vingt-quatre.
00:16 On peut la retrouver sur le site conf point react point dev avec un lien vers le live. Cette conférence n'est pas encore terminée. Elle se déroule sur deux jours, mais on connaît déjà les aboutissants de la première journée. Et cette première journée était vraiment très intéressante. Si on clique sur l'agenda, sur le site, on se retrouve donc sur l'agenda de la première journée et on peut voir que Rayane Florence, le créateur de Remix, avait des choses à dire dans sa présentation de vingt minutes.
00:42 Sa présentation s'appelait Vanilla React et on va tout de suite en parler parce que c'est des changements qui te concernent, si tu utilises Remix ou React Trouter. Remix et React Trouter vont fusionner. Voilà, fin de vidéo. Pour mieux comprendre, il faut regarder la conférence de Rayan Florence sur YouTube ici où il nous présentait son parcours et son dixième anniversaire depuis qu'il a créé la librairie React Rooter. À travers cette présentation, il nous explique plusieurs choses.
01:09 Déjà, on peut regarder cette image, mais ils ont ajouté des fonctionnalités de Remix dans React Router et ils ont utilisé React Router pour créer Remix. Maintenant, les deux projets ont une différence toute petite, toute minime et ils ne voient plus l'intérêt de maintenir ces deux librairies alors qu'ils pourraient à fond s'investir sur une seule. Du coup, au lieu d'annoncer la version trois de Remix, ils préfèrent annoncer la version sept de React routeur. Et cet article nous explique cette décision. En fait, ça fait dix ans depuis le premier commit de React Router et cette librairie est présente dans plus de sept millions de projets qui utilisent React, y compris chez Shopify qui a un projet qui contient cinq millions de lignes de code et qui exploite les capacités de React Rotter.
01:54 Sauf qu'il manquait des éléments à React Rotter pour être vraiment puissant et pour avoir des capacités de framework. Exemple, automatique cold splitting, simplify Data Loading, Formactions, et caetera. En gros, le Code Sleeping, c'est l'optimisation des fichiers de code, le chargement des données, il est très simple, la gestion des formulaires, elle est très simple, le rendu côté serveur, Optimistique UI, on pourra même build d'un site de manière statique et bien sûr React serveur component qui est l'un des plus gros features qu'on attend impatiemment. Mais en fait, ce qui a vraiment changé, c'est qu'à l'époque, pour démarrer une application React, on utilisait Create React App. Sauf que Reagan dit que cette librairie est totalement morte.
02:32 La documentation de React ne la mentionne plus et les derniers commit remontent il y a plus d'un an. Pendant ce temps-là, Vite a pris en popularité et il a carrément dépassé Reactap. Et c'est pour ça qu'ils ont pris cette décision. En fait, ils ont réalisé depuis qu'ils supportent vite, mais attends. En fait, Remix, c'est juste React Router plus vite.
02:52 C'est rien d'autre que ça. Depuis qu'on a ajouté le mode SPA et le chargement des données côté client, tous les projets qui utilisent React Router, c'est-à-dire les très vieux projets n'ont plus besoin de migrer vers Remix. Ils ont juste besoin de mettre à jour React Router et on va leur donner sans migration toute la puissance de Remix et d'un framework full stack. Et voilà, en fait, ils ont parlé énormément avec les communautés de développeurs. Et le mot qui fait peur, c'est Revite ou plutôt le mot migration.
03:18 En fait, ce qui fait peur à beaucoup d'équipes, c'est de devoir migrer une base de code d'un framework à un autre framework. Parce que voilà, on a tous eu à effectuer une migration vers une nouvelle version ou vers un nouveau framework et on le sait tous, ce n'est pas simple du tout. Mais et si c'était juste une version majeure En fait, Remix et ReactRooter sont identiques, il y a juste le nom qui change. Du coup, voilà ce qu'ils vont faire. Ils vont prendre React Router, ils vont ajouter vite et ça va donner React Router version sept.
03:47 Et React Router version sept bénéficiera de tout ce qu'on bénéficie actuellement avec Remix, y compris les React Serveurs Component. Alors qu'est-ce que ça veut dire Si tu utilises Remix, il va se passer quoi au final Et bien si tu utilises Remix, ça va se passer comme ça regarde. Tu vas juste aller dans ton package point json et tu vas remplacer toutes les librairies Remix Run par React Twitter. Et tu vas ensuite remplacer les imports dans ton projet remixran par React Router. Voilà, c'est tout.
04:14 C'est la seule migration que tu dois faire, c'est très très simple. Mais t'inquiète pas, ils vont quand même partager ce qu'on appelle un code mode, donc une commande de terminale que tu pourras lancer qui va faire ce remplacement pour toi. Tu n'y verras aucune différence au final, ça sera la même application, les mêmes capacités, c'est juste le nom de la librairie qui va changer. Donc, qu'est-ce qui se passe si tu utilises Remix Et bien, comme je l'ai dit, tu vas remplacer tous les imports de Remix par des imports ReactRooter. Par contre, si tu utilises ReactRooter et que tu comptais migrer vers Remix, tu peux faire cette migration.
04:46 Même s'ils ne vont pas sortir cette V7 avant quelques semaines, tu peux commencer ta migration et ensuite, tu n'auras juste à remplacer tes imports pour repasser de remix vers React Trotter. Et voilà, le mot de la fin, c'est que pour tout projet qui existe depuis quatre ans ou même depuis dix ans, tu apprends beaucoup de choses et tu combats cette envie de vouloir tout supprimer et tout recréer avec toutes les leçons que tu as apprises. Ce qu'ils veulent dire par là, c'est qu'ils regrettent parfois certains choix d'architecture ou d'API. Mais ce n'est pas fini pour Remix. Tous ceux qui ont acheté des t-shirts Remix et qui vont à des meetup Remix ne seront pas déçus parce qu'ils nous prévoient beaucoup de nouveautés.
05:23 Ils nous ont teasé dans cet article. Ils ne peuvent pas encore en parler, mais ils ont beaucoup d'idées pour rendre Remix encore plus puissant et encore plus serveur centrique, donc centré autour du serveur. Et ils ont hâte de nous partager toutes ces idées fraîches qui nous ont fait tomber amoureux du framework Remix. Dis-moi ce que tu penses de tous ces changements et de la conférence React, Est-ce que tu es déçu par la diffusion de Remix ou est-ce que tu comprends leur diffusion Allez à très bientôt.