Ladle est un project d'un ingénieur Uber qui aime Storybook mais pour autant constate divers problèmes de performance au sein de son entreprise: temps de build, de démarrage, Time-To-Interactive… Il a donc créé une alternative beaucoup plus performante, basée sur Vite et les modules ES, et compatible avec le
Component Story Format pour faciliter l'adoption (
demo).
Un article très intéressant et bien documenté sur la stabilité des objects et callbacks. Malgré le fait que l'usage de
useMemo
puisse ressemble à une premature optimization, Zhenghao recommande de stabiliser au maximum les identités, au moins pour les libs et les custom hooks. On attend avec impatience
React-Forget et
Records & Tuples qui pourraient grandement nous simplifier la vie.
Le CLI Remix permet d'initaliser un project avec une stack donnée. Remix propose maintenant 3 stacks completes, et il est possible de créer sa proper stack (par exemple pour son entreprise). Sur les 3 stacks dispo, la différence se fait surtout sur l'hébergement ou la persistence, et on retrouve en socle commun: Tailwind, TypeScript, Prettier, ESLint, Cypress, MSW, Docker, Vitest, Testing Library.
Je trouve ça bien de fournir des starters pour démarrer rapidement, mais j'ai un avis mitigé sur l'approche “template”, je préfère une approche
“company-scripts” (comme CRA) pour garder toutes les stacks synchro.
Vercel a upgradé une app de démo (
Virtual Reality Store) de Next.js v8 vers v12. Ils en profitent pour faire le point sur les nombreuses améliorations qui viennent avec les dernières versions.
Retour d'expérience de Wix qui explique comment ils ont optimisé leur plateforme qui execute le Server-Side-Rendering React avec une grosse demande en terme de CPU. Ils ont utilisé la nouvelle API Node.js 14
worker_threads (permet de partager la mémoire contrairement à
child_process) et ont obtenus de très bons résultats.
Retour d'expérience de Shopify qui reporte des problèmes de consistence sur ses data-visualizations. Solution: la création d'une lib Polaris Viz, qui sera open-sourcée prochainement. Ils détaillent en particulier l'usage du context React pour créer des themes par défaut et la possibilité de créer des variantes via des overrides partiels.
Mark Erikson fait une rétrospective sur le design de la nouvelle API
Listener Middleware de Redux Toolkit 1.8, qui s'étale sur plus de 2 ans, avec de nombreuses itérations. Ils ont réussi à couvrir de nombreux cas d'usage de Redux-Saga/Observable avec une API relativement simple. J'aime bien le concept de
await condition
.
Extras: