React Native 0.74 : Yoga 3.0, Nouvelle Architecture sans Bridge, et plus 🚀

📅 Date de sortie : 22 avril 2024

La version 0.74 de React Native apporte des nouveautés majeures, dont Yoga 3.0 pour des comportements de mise en page améliorés, l’activation par défaut du mode sans bridge dans la Nouvelle Architecture 🏗️, et des mises à jour groupées pour les événements onLayout 📦. Elle introduit également Yarn 3 comme gestionnaire de paquets par défaut pour les nouveaux projets 🧶 et retire plusieurs API obsolètes 🚫.


🏆 Points clés

1. Yoga 3.0 🧘‍♀️

  • Amélioration des mises en page :
    ✅ Comportements plus cohérents pour le style, alignement avec les normes web (ex. align-content: space-evenly, position: static).
    ✅ Support de nouveaux comportements CSS.
  • ⚠️ Modifications importantes : Les marges, bordures et paddings pour row-reverse ne sont plus inversés, nécessitant des ajustements dans les anciens projets.

2. Nouvelle Architecture : Mode sans Bridge activé par défaut 🌉❌

  • Simplifie l’interopérabilité grâce à des couches améliorées pour supporter les bibliothèques courantes.
  • Réduction des dépendances avec une structure plus moderne.

3. Mises à jour groupées pour onLayout 🛠️

  • Les mises à jour d’état déclenchées par onLayout sont désormais regroupées, ce qui réduit les rendus inutiles.
  • ⚠️ Impact potentiel : Les anciens codes qui dépendaient des mises à jour non groupées nécessiteront des ajustements.

4. Yarn 3 comme gestionnaire de paquets par défaut 🧶✨

  • Utilisé avec node-modules pour assurer la compatibilité avec React Native.
  • Les projets existants peuvent migrer en suivant ce guide.

🚨 Changements majeurs et suppressions

  1. 📱 Version minimale d’Android : API 23 (Android 6.0)
    • Gain notable : Réduction de ~13 % de la taille des applications sur les appareils. 🎉
  2. 💾 Suppression des PropTypes
    • API obsolète supprimée pour réduire la taille et améliorer les performances.
    • 🛠️ Migration recommandée : Utilisez TypeScript pour définir vos types.
  3. 🔔 Modifications à PushNotificationIOS
    • Basée désormais sur le framework User Notifications d’Apple 🍎.
    • 🚧 La bibliothèque sera retirée du noyau dans la version 0.75.
  4. 🛠️ Fin de support de Flipper
    • Flipper est retiré des nouveaux projets en raison de sa faible utilisation et des alternatives disponibles.
    • Alternatives : Utilisez Hermes Debugger ou le New Debugger expérimental.

Autres changements notables 📝

  • Android :
    • Suppression des API JSIModule* inutilisées.
    • Déplacement de UIManagerModule.showPopupMenu vers une bibliothèque dédiée.
  • iOS :
    • Mise à jour de la gestion de bundleURL pour permettre des URL différentes après actualisation.
    • 📌 Correction d’un bug avec des fenêtres multiples prévue pour la version 0.74.1.

🔄 Migration et compatibilité

  • Utilisez l’outil React Native Upgrade Helper 🔧 pour mettre à jour vos projets existants.
  • 📌 Version stable : 0.74 est désormais la version recommandée, et les versions 0.71.x ne sont plus prises en charge.

✨ En conclusion : React Native 0.74 se concentre sur la modernisation, la performance et la simplicité pour les développeurs, tout en posant les bases pour des versions futures. 💡