React Native

React Native
Description de l'image React-icon.svg.
Description de l'image ReactNativeHelloWorld.png.
Informations
Développé par Facebook
Première version le 26 mars 2015, il y a 11 ans
Dernière version 0.87.1 ()
Dépôt github.com/react/react-nativeVoir et modifier les données sur Wikidata
Écrit en JavaScript, Java, C++, Objective-C et PythonVoir et modifier les données sur Wikidata
Système d'exploitation Multiplateforme (d)Voir et modifier les données sur Wikidata
Type Framework JavaScript (en)Voir et modifier les données sur Wikidata
Licence Licence MIT
Site web reactnative.dev

React Native est un framework d'applications mobiles open source créé par Facebook. Il est utilisé pour développer des applications pour Android, iOS et UWP en permettant aux développeurs d’utiliser React avec les fonctionnalités natives de ces plateformes.

Historique

En 2012, Mark Zuckerberg a déclaré : « La plus grande erreur que nous ayons commise en tant que société a été de parier trop sur HTML par opposition au natif ». Il a promis que Facebook offrirait bientôt une meilleure expérience mobile.

À l'intérieur de Facebook, Jordan Walke a trouvé un moyen de générer des éléments d'interface utilisateur pour iOS à partir d'un thread JavaScript. Ils ont décidé d'organiser un Hackathon interne pour perfectionner ce prototype afin de pouvoir créer des applications natives avec cette technologie.

Après des mois de développement, Facebook a publié la première version de la configuration JavaScript de React Native en 2015. Lors d'un entretien technique, Christopher Chedeau a expliqué que Facebook utilisait déjà React Native en production pour son application de groupe et son application de gestionnaire de publicités.

En août 2026, la version 0.87 de React Native adopte par défaut une API publique dont les déclarations de types TypeScript sont générées à partir du code source. Cette version intègre Metro 0.87 et introduit une prise en charge expérimentale de Swift Package Manager pour iOS.


Implémentation

React Native utilise React pour définir des interfaces graphiques rendues à l'aide de composants natifs, sans passer par le DOM d'un navigateur. Dans son architecture initiale, les échanges entre le code JavaScript et les composants natifs reposaient sur un pont asynchrone nécessitant la sérialisation des données.

La nouvelle architecture remplace ce pont par la JavaScript Interface (JSI), qui permet de communiquer avec le code natif sans recourir à la sérialisation systématique des échanges. Elle comprend notamment le moteur de rendu Fabric. Devenue l'architecture par défaut dans la version 0.76, elle est la seule architecture d'exécution prise en charge depuis la version 0.82, publiée en octobre 2025. Depuis la version 0.84, publiée en février 2026, Hermes V1 est le moteur JavaScript utilisé par défaut sur Android et iOS.

Exemple "Hello World"

Voici l'exemple "Hello World" en React Native :

import React from 'react';
import { AppRegistry, Text } from 'react-native';

const HelloWorldApp = () => {
  return (
    <Text>Hello world!</Text>
  );
}
export default HelloWorldApp;

// Skip this line if using Create React Native App
AppRegistry.registerComponent('HelloWorld', () => HelloWorldApp);

// The ReactJS code can also be imported into another component with the following code:
import HelloWorldApp from './HelloWorldApp';

Références

  1. ↑ (en) « React Native: Bringing modern web techniques to mobile », sur Engineering at Meta, .
  2. ↑ (en) « 0.87.1 », sur GitHub, (consulté le )
  3. ↑ « Git-hub React-Native » [archive du ], sur facebook.github.io via Internet Archive.
  4. ↑ (en) « Android Release for React Native », sur Facebook, .
  5. ↑ (en) Windows Apps Team, « React Native on the Universal Windows Platform », blogs.windows.com, sur Windows Developer Blog, (consulté le ).
  6. ↑ « Zuckerberg's Biggest Mistake? 'Betting on HTML5' », Mashable (consulté le )
  7. ↑ (de) « A short Story about React Native », sur JobNinja für Bewerber (consulté le ).
  8. ↑ Christopher, « A Deep Dive into React Native » [vidéo], YouTube, sur YouTube (consulté le ).
  9. ↑ (en) « React Native: Bringing modern web techniques to mobile », sur Facebook, .
  10. ↑ (en) « React Native 0.87 - Strict TypeScript API, Metro Update, Swift Package Manager, AGP 9 Support », sur React Native, (consulté le )
  11. ↑ (en) « New Architecture is here », sur React Native, (consulté le )
  12. ↑ (en) « About the New Architecture », sur React Native (consulté le )
  13. ↑ (en) « React Native 0.82 - A New Era », sur React Native, (consulté le )
  14. ↑ (en) « React Native 0.84 - Hermes V1 by Default », sur React Native, (consulté le )

Voir aussi

Articles connexes

Liens externes