This Week In React

Share this post

React Hebdo #69: useContextSelector, react-gui, Gatsby, Next.js, Expo, Flutter, Detox, TypeScript, npm, Deno...

substack.thisweekinreact.com

React Hebdo #69: useContextSelector, react-gui, Gatsby, Next.js, Expo, Flutter, Detox, TypeScript, npm, Deno...

Sébastien Lorber
Jul 12, 2021
Share this post

React Hebdo #69: useContextSelector, react-gui, Gatsby, Next.js, Expo, Flutter, Detox, TypeScript, npm, Deno...

substack.thisweekinreact.com

React

Le concept de context selector est en cours d'implémentation dans React core et va être testé en interne. Cela permettra de consommer votre contexte React de manière beaucoup plus optimisée et de ne déclencher les re-renders que lorsque les données réellement utilisées sont updatées. Note: les libs comme Redux et Zustand permettent déjà cela (implémentation maison). Cette feature est considérée comme le "level 3 / make it fast", et a privilégier par rapport à useMutableSource et useSubscription.

Un post intéressant sur la migration d'un blog Gatsby vers Next.js. Même si Gatsby n'a pas trop la cote en ce moment, certaines parties peuvent être plus simple que Next.js et on a moins besoin d'écrire de code sur mesure.

Article qui montre les limites de l'Incremental Static Regeneration de Next.js et propose d'utiliser les On-Demand Builders de Netlify pour améliorer le temps de déploiement d'une app Next.js.

Première release avec un support en option de React 18 et du nouveau mode SSR, basé sur l'api pipeToNodeWritable.

Pour un générateur de site statique comme Gatsby (ou Docusaurus), cette nouvelle API SSR permet d'utiliser Suspense, et de remplacer react-loadable/loadable-components par React.lazy :)

  • Hashnode est la plate-forme idéale pour les développeurs qui souhaitent se connecter à la communauté tout en conservant la propriété de leur contenu et de leur domaine.

  • Hashnode facilite l'usage d'un nom de domaine personnalisé: le référencement du domaine que vous créez au fil du temps vous appartient, et non à la plate-forme.

  • Au-delà des aspects techniques, Hashnode dispose d'une audience massive et en croisssante pour votre contenu, dès le premier jour.

  • Vous possédez ce que vous créez sans avoir à tout construire à partir de zéro, et Hashnode vous connecte avec vos futurs fans, qui attendent avec impatience de vous découvrir.

  • En bonus: support de Markdown, coloration syntaxique, sauvegardes automatiques GitHub, et aucune publicité ou paywall, à jamais.

  • Démarrez votre blog et rejoignez la communauté mondiale des développeurs sur Hashnode dès aujourd'hui!

ReactNative

Le SDK 42 d'Expo vient de sortir, et c'est une release très importante puisqu'elle propose une preview du système de clients dev Expo sur mesure, qui permet de créer votre propre Expo Go et d'y inclure des librairies natives additionnelles, via le système de config plugin, qui est supporté par de plus en plus de packages (dont la nouvelle lib Stripe, bientôt Firebase...). Il est possible de créer ce client via leur service cloud, et donc pas nécessaire d'avoir un Mac pour réaliser des applications complexes pour iOS. Il y a quand même quelques limites: je crois que les extensions iOS ne sont pas encore supportées. Une video explique tout ça.

Autre grosse nouvelle, déjà mentionnée: Hermes supporté sur Android! Y compris sur les updates OTA, et le support iOS pourrait venir prochainement!

3ème article de la série Flutter vs RN. Andrei Calazans propose une matrice de décision pour faire un choix éclairé en fonction des besoins de votre app.

Detox, le framework de tests end-2-end React-Native va bientôt proposer une intégration officielle avec Genymotion cloud (Android).

Jobs

Shotgun: Dev Fullstack Senior - Remote - 60-75k€ (+BSPCE)

Shotgun c'est une billetterie et plateforme de streaming pour des évènements electro/techno 🎶. On a déjà les plus gros évènements en France, maintenant on s'agrandit à l'international (US/Brésil/Europe) 🌎. L'équipe est composée de 13 personnes et on fait déjà plusieurs millions d'euros de volume par mois. Malgré le Covid, on vient de faire le mois le plus rentable de notre histoire.

  • 🌴 Remote OK (tu peux aussi travailler depuis nos bureaux de Marseille ou Paris)

  • 📈 Challenge B2C : aider les gens à sortir et s'amuser (Recommandations / Social / UX aux petits oignons)

  • 📈 Challenge B2B : soutenir les organisateurs dans la création et la promotion de leur event (CRM / Business Intelligence / Marketing / Finance)

  • 🤖 Côté tech : ReactNative, React, Typescript, Apollo, GraphQL, NextJS, PgSQL, Vercel (serverless)

PS: j'ai travaillé en freelance pour Shotgun, l'environnement technique est plutôt cool et les gens sympas ☺️.

Une offre ci-dessous t'intéresse? Contacte moi à cet email!

Ponicode: dev JS/React - CDI Paris 40-65k (confirmé ou senior)

Shift: dev React senior - CDI Paris 50-60k

Alkemics: dev Python/React - CDI Paris/remote (junior / senior)

Choose: dev React-Native - CDI Paris 50-60k

Bloom: dev fullstack NodeJS/React senior - CDI Neuilly 60-70k

Splio: dev fullstack React/NodeJS senior - CDI Paris 60-70k

F4: dev NodeJS - CDI Paris 40-50k

Divers

Diverses améliorations sympas. Pour "Control Flow Analysis of Aliased Conditions", c'est une super amélioration, mais je reste un peu sur ma faim: ça marche pas avec déstructuration de props React.

Dan Abramov explique que "npm audit" est pénible et reporte tout un tas de vulnérabilités qui n'en sont pas vraiment au final. Il prend l'exemple de Create-React-App qui reporte tout un tas de warning "Regular Expression Denial of Service" dès l'installation.

En tant que mainteneur de Docusaurus, je suis régulièrement confronté a des issues GitHub qui demandent de fixer des vulnérabilités reportées par npm, qui en pratique ne posent pas un problème de sécurité réel pour le projet.

L'entreprise Deno la beta de son cloud serverless officiel. Par la même occasion, ils présentent Fresh: un framework inspiré de React/Preact et Next.js.

L'extension permet de mesurer les nouvelles métriques Core Web Vitals mesurées à chaque chargement de page. La version 1.0 est sortie récemment et propose de comparer ces métriques locales avec les métriques obtenues par d'autres utilisateurs. J'utilise cette extension depuis quelques temps: je la trouve beaucoup plus légère que Lighthouse pour résoudre les problèmes comme Cumulative Layout Shift.

Ce framework réactif, qui ressemble à un mélange de React et Svelte fait de plus en plus parler de lui, avec sa position en tête des benchmarks et avec sa liste impressionnante de features similaires à React 18. Sortie de la 1.0 après 5 ans de dev (principalement Ryan Carniato). A voir si la communauté prendra. J'ai pas eu le temps de regarder plus que ça.

Un nouveau projet de traitement de signal audio qui s'inspire du modèle déclaratif de React pour composer les elements de processing et faciliter l'écriture de DSP. C'est pas vraiment mon domaine mais l'idée semble plutôt cool.

Share this post

React Hebdo #69: useContextSelector, react-gui, Gatsby, Next.js, Expo, Flutter, Detox, TypeScript, npm, Deno...

substack.thisweekinreact.com
Previous
Next
Comments
TopNewCommunity

No posts

Ready for more?

© 2023 Sébastien Lorber
Privacy ∙ Terms ∙ Collection notice
Start WritingGet the app
Substack is the home for great writing