| Développé par | |
|---|---|
| Première version | le 26 mars 2015 |
| Dernière version | 0.87.1 () |
| Dépôt | github.com/react/react-native |
| Écrit en | JavaScript, Java, C++, Objective-C et Python |
| Système d'exploitation | Multiplateforme (d) |
| Type | Framework JavaScript (en) |
| 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.
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.
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.
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';