Ce que React vous a fait oublier (ou ce que vous ne saviez peut-être pas)
(joshcollinsworth.com)- Examen critique de React, bibliothèque JavaScript largement utilisée pour construire des interfaces utilisateur, et proposition d’alternatives.
- React est critiqué comme étant dépassé, avec un manque de performances et d’adaptabilité.
- L’auteur affirme que l’écosystème de React est inutilement vaste et que les React hooks sont désormais dépassés.
- Il soutient qu’il n’est pas nécessaire de se concentrer sur le rendu et le passage à l’échelle dans le frontend.
- Il affirme que le server-side rendering n’a plus rien d’unique et que la liaison de données bidirectionnelle n’est pas une mauvaise idée.
- Il soutient que le styling est plus simple qu’avec React et que les autres frameworks ne sont pas difficiles à apprendre.
- Il affirme que les alternatives à React ne sont pas simplement « nouvelles et brillantes », mais matures et plus performantes.
- Il recommande d’essayer d’autres frameworks comme Svelte, Vue, Solid, Fresh, Astro, Preact, Qwik.
- Son favori personnel est Svelte, qu’il juge plus facile à apprendre et plus performant que React.
- Svelte est un compilateur : le code inutilisé est supprimé au moment du build, ce qui produit des bundles plus petits.
- SvelteKit, le méta-framework de Svelte, est varié et puissant, avec prise en charge du statique, du rendu côté serveur et du déploiement en edge.
- Vue offre de meilleures performances que React et une approche davantage centrée sur l’UI, en utilisant un langage de templates plus proche du HTML natif que JSX.
- Solid est présenté comme une version plus performante de React, supprimant complexité, problèmes de performances et boilerplate. Il propose son propre méta-framework, SolidStart.
- Fresh est un framework frontend à rendu côté serveur construit sur Deno, avec une architecture en îlots. Il offre un minimum de JavaScript et un chargement rapide du contenu dynamique.
- Astro est un générateur de sites statiques haute performance doté de fonctionnalités dynamiques côté serveur. Il n’utilise aucun JavaScript par défaut et est compatible avec divers frameworks frontend.
- Preact est une version plus légère et plus rapide de React, avec quelques excellentes fonctionnalités que React n’a pas.
- Qwik adopte une nouvelle approche, avec un code similaire au React en rendu côté serveur, et constitue un bon choix pour les projets très interactifs.
- Les bibliothèques de composants web comme Lit, Stencil, Polymer sont recommandées pour les projets qui veulent réutiliser les mêmes composants dans plusieurs environnements ou se préparer à un changement de framework.
- L’auteur suggère que l’industrie technologique pourrait franchir une nouvelle étape dans l’adoption technologique en allant au-delà de React.
21 commentaires
Cet article semble écrit comme si un cadet impoli disait : « Senior~ maintenant vous ne valez plus grand-chose, alors prenez votre retraite, non ? », ce qui le rend assez dérisoire.
Je pense que la discussion autour de l’article est en train de s’échauffer.
Merci de consulter la section sur les commentaires dans le guide d’utilisation du site.
Merci de rester aimable et courtois.
Merci de ne pas vous en prendre à l’auteur.
Si vous avez un désaccord, veuillez vous en tenir uniquement à son contenu.
Personnellement, je trouve que des langages comme JS ne sont pas vraiment adaptés au développement côté serveur.
Ces derniers temps, il y a certes beaucoup de projets basés sur TS, mais au final le résultat reste du JS... Que ce soit Python ou JavaScript, je n’aime vraiment pas ces langages en tant que tels, mais ils sont beaucoup utilisés, sans doute à cause de leur praticité.
Ça donne un peu l’impression d’une démocratisation des langages.
Je trouve ça dommage qu’on considère comme allant tellement de soi, et comme si ce n’était pas grand-chose, ce que Vercel a construit au prix d’énormément d’efforts.
Quand je repense à l’époque où, à l’école, j’écrivais des servlets infernaux avec un éditeur qui ne signalait même pas les erreurs de syntaxe, je finis par être reconnaissant pour tout, que ce soit React ou Svelte.....
Quand on essaie diverses choses, on voit bien les avantages de React. Dire que React est bien, que JSX est un point fort, et rejeter systématiquement les avis négatifs sur les hooks donne l’impression d’une religion aveugle.
J’ai écrit que le point fort n’était pas JSX mais plutôt son « expressivité ».. et en relisant le texte original au sujet des hooks, j’ai constaté qu’il ne critiquait pas le pattern des hooks en lui-même, mais disait simplement que ce n’était plus vraiment un avantage propre à React. À ce niveau-là, on peut être d’accord. C’est la façon dont la traduction était formulée qui m’a induit en erreur.
Du coup, pourriez-vous expliquer plus concrètement quel est selon vous le « point fort décisif » que l’auteur du commentaire a identifié ?
Vous ne pensez quand même pas que les bibliothèques ou les frameworks n’ont que des avantages et aucun inconvénient, si ? En les utilisant, vous n’avez jamais ressenti des défauts de React ? Vu que vous demandez absolument qu’on écrive ses défauts, on dirait que vous n’en avez jamais remarqué ? Vous savez bien que parler d’avantages et d’inconvénients, ça veut aussi dire qu’il y a des avantages, n’est-ce pas ? Il y a beaucoup d’avantages, mais aussi beaucoup d’inconvénients. Parmi eux, j’ai lu quelque chose hier, mais je ne me souviens plus du lien : dans les server components, on ne peut utiliser le contexte qu’à l’intérieur des server components. Du coup, on ne peut pas utiliser le js-in-css. Je ne l’ai pas testé moi-même, donc je ne peux pas dire que c’est vraiment un défaut, haha. Les hooks ? Moi, je pense vraiment que c’était une idée révolutionnaire. Mais maintenant, haha, il y a les signaux, qui sont plus intelligents et plus pratiques à utiliser que React. C’est aussi mentionné dans le texte.
Oui haha, bien reçu.
Et pendant ce temps, Angular manque toujours à l’appel, snif snif.
Je ne suis absolument pas d’accord. Dans le cas de JSX, on l’utilise volontairement parce qu’il a des avantages en termes d’expressivité par rapport à HTML.
Et je me demande aussi pourquoi l’opinion générale selon laquelle le data binding bidirectionnel était une mauvaise idée depuis toujours s’est soudainement inversée…
Et qu’est-ce que ça veut dire, un écosystème inutilement vaste ? Et puis les hooks seraient dépassés…
Personnellement, je me demande même si cet article a réellement été écrit par un programmeur.
Il me semble qu’il y a pas mal de points assez convaincants. J’utilise toujours React, mais...
Il semble excessif d’affirmer simplement que les performances sont faibles sans expliquer concrètement quels sont les compromis techniques en jeu. Par exemple, les implémentations d’îlots autres que React ne permettent pas des choses comme le chargement basé sur les priorités.
À moins qu’autre chose n’apparaisse à la place du framework e-gouvernement... React ne peut qu’être puissant en Corée.
Eh bien… on présente beaucoup trop de bibliothèques comme alternatives à React.
Quand on prend tout en compte de manière globale, il faudrait peut-être plutôt mettre en avant ce qu’elles font mieux que React.
Vue et Nuxt sont vraiment excellents, mais c’est dommage qu’ils aient une présence aussi limitée en Corée. Quant à Svelte… il est dans une situation où on ne peut même pas vraiment parler de sa place (snif snif)...
Tellement vrai, 10 000 fois.
Avis Hacker News
filter,mapetreducedans React est plus pratique que de recourir à des contournements.useMemoetuseCallback.