Article du "ReadME" project de Github, relate l'histoire de React du début jusqu'a aujourd'hui. Belle lecture pour les nostalgiques :)
Adam Rackis propose une belle intro à Svelte pour ceux qui connaissent déjà bien React. Donne l'équivalent React/Svelte avec de nombreux exemples. Avec Svelte, pas de problème de stale closure ou d'infinite loops dans les useEffect. Il faudrait vraiment que j'essaie, mais j'ai vraiment du mal avec le language de template.
Kent C. Dodds explique les cas particuliers ou il ne faut pas inclure un element dans le dependency array des hooks React: quand cet élément ne déclencher pas de re-render, comme les refs, imports ou les déclarations let. TIL le plugin ESLint react-hooks/exhaustive-deps émet des warnings assez utiles. J'ai tendance a inclure les refs (pas ref.current), alors que ca n'est pas nécessaire.
Kent C. Dodds met en avant 2 implémentations différentes d'un formulaire React, l'une lente et l'autre rapide. L'implémentation rapide propose de co-localiser le state React dans l'input. Technique à connaitre, mais en pratique ca n'est pas toujours aussi simple, et les librairies uncontrolled ou basées sur un système de subscriptions peuvent être une meilleur solution.
Choisir une lib CSS-in-JS est aujourd'hui assez compliqué, tant il existe de solutions. Cet article compare une dizaine de librairies, certaines pour React et d'autres agnostiques. Met en avant leurs differences et donnes quelques indications pour faire un choix éclairé.
Oğuzhan propose d'assembler plusieurs apps React en une seule via le système de Module Federation de Webpack.
Conférence Next.js en ligne annoncée par Vercel.
Comparaison 4 solutions pour héberger un site Next.js: Vercel, Netlify, Heroku et Layer0.
Setup de Prettier, ESLint, Lint-staged, Husky et tout le tooling usuel utile pour que le code soit bien formatté et linté sur master. Je découvre une Github action qui applique Prettier sur les PRs, plus simple que de demander au contributeur une action manuelle.
Explique comment bien utiliser la callback de cleanup de useEffect lors du unmount/update dans divers cas de figure: fetch, timeouts, debounce/throttle...
BAM - Lead Dev React Native - CDI Paris - 45-60k€:
Avec 120+ projets réalisés, nous sommes la startup spécialisée dans le développement mobile. En 6 ans nous sommes passés de 2 à 90 BAMers et avons atteint un chiffre d’affaires de 11 millions d’euros en 2020 ! Comment ? En révolutionnant développement d’applis mobiles ! Pour continuer à innover, nous recherchons un lead developer qui saura combiner vitesse et qualité, performance et complexité. Si le défi te tente discutons en !
Wecasa: Développer React Native Sénior - CDI à Paris:
Wecasa, c’est l’offre de services 7j/7 d’aide et de bien-être à domicile. Notre mission : permettre à chacun.e de retrouver du temps pour soi et pour les autres. Et pour ça, on fait grandir notre équipe de rêve. Seras-tu notre nouvel expert technique react-native (en remote first) ? Es-tu prêt à rejoindre une aventure où on fait rimer business, robustesse et gentillesse ? Deviendras-tu, comme nous, accro aux croissants aux amandes du lundi matin ? Tant de mystères à résoudre. Go go go, on a déjà hâte de te rencontrer.
Une offre ci-dessous t'intéresse? Contacte moi à cet email!
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
De nouvelles commandes Expo run:[ios|android] permettent de builder et démarrer un projet Expo en local et d'y inclure le code natif additionnel apporté par le nouveau système de plugin, sans besoin d'ejecter en Bare Workflow. Plusieurs packages populaires sont déjà supportés pour WebRTC, NFC, Bluetooth... De quoi faire patienter en attendant Expo Dev Client (client Expo Go sur-mesure).
Jacob de Coinbase explique comment l'animation TabBar de leur app est implémentée en React-Native.
Grosse innovation! StackBlitz, l'IDE en ligne, présente sa technologie WebContainers, une sorte de polyfill en WebAssembly qui permet de faire tourner des apps Node.js dans le browser. Leur démo fait tourner Next.js. La doc StackBlitz est en Docusaurus, qui tourne aussi, et on va travailler sur un workflow d'édition de doc simplifié (en particulier pour les non techs).
Sortie de Jest 27. Changement de certains defaults comme le test-runner et l'environnement (jsdom -> node), et divers autres changements qui devraient améliorer les performances. Mode interactif pour updater les snapshots en erreur un par un.
Dernières nouvelles du TC39 qui fait évoluer JavaScript. Top-level await passe en stage-4 (standardisé). Progrès intéressants sur Intl et les RegExp.
Sortie officielle de TypeScript 4.3, avec des améliorations assez variées, en particulier sur les classes avec le nouveau mot clé override.
Le concurrent de TypeScript open-sourcé par Facebook va se recentrer sur les besoins internes de l'entreprise. C'est surement une bonne idée de migrer vers TypeScript.