Par Meta (Jordan Walke, Christopher Chedeau et l’équipe Facebook) · 2015 · Sources officielles vérifiées
En résumé
Framework open-source créé par Meta permettant de concevoir des applications véritablement natives pour iOS, Android et d'autres plateformes en utilisant JavaScript et le paradigme React.
React Native applique la philosophie 'Learn once, write anywhere'. Contrairement aux frameworks hybrides qui encapsulent un site web dans une WebView (ex: Cordova), React Native instancie de véritables vues natives (UIView sur iOS, android.view.View sur Android). Dans sa nouvelle architecture (New Architecture désormais activée par défaut), l'ancien pont asynchrone JSON ('The Bridge') est remplacé par JSI (JavaScript Interface), le moteur de rendu Fabric et le système TurboModules, offrant des appels synchrones directs en C++ et des performances quasi indiscernables du natif pur.
Une refonte complète du moteur de communication entre le runtime JavaScript et l'OS hôte.
Couche d'abstraction C++ permettant au code JavaScript d'invoquer directement des méthodes natives C++/Obj-C/Java sans sérialisation/désérialisation JSON coûteuse.
Nouveau système de rendu gérant les arbres d'interface de façon concurrente, permettant un rendu synchrone prioritaire pour les interactions utilisateurs fluides (ex: défilement et gestes rapides).
Moteur d'exécution JavaScript open-source optimisé spécifiquement par Meta pour les applications mobiles, compilant le code en bytecode en avance (AOT) pour un démarrage instantané et une empreinte mémoire réduite.
React Native utilise de vrais composants natifs de l’OS, tandis que Flutter dessine ses propres pixels via un moteur graphique Skia/Impeller.
| Critère | React Native | Flutter (Google) |
|---|---|---|
| Composants graphiques | Vrais composants natifs de l’OS (vrai bouton iOS/Android respectant les règles d’accessibilité système). | Composants reproduits au pixel près par le moteur graphique Flutter (toile Canvas). |
| Langage | JavaScript / TypeScript (l’écosystème le plus vaste au monde). | Dart (langage propriétaire de Google, moins répandu sur le web). |
Données techniques vérifiées auprès des documentations officielles, des RFCs et des spécifications standards.