Menu
Dossiers

React Native : Comment créer une app mobile native en JavaScript facilement

Tutoriel · Développement mobile
React Native est un framework open source piloté par Meta qui permet de créer des applications mobiles natives en JavaScript et React, à partir d’une seule base de code ciblant iOS, Android, Windows et le web. Concrètement : on installe Node.js, on initialise un projet avec Expo CLI (le plus simple) ou React Native CLI (pour les modules natifs avancés), puis on assemble l’interface avec des composants (View, Text, Image…), on gère l’état avec les Hooks et la Context API, on stylise via l’API StyleSheet, et on teste avec Jest. En 2023, près de 38 % des applications publiées sur les stores reposaient sur React Native ou une variante hybride.

Vous voulez livrer une application iOS et Android sans entretenir deux bases de code distinctes ? React Native répond précisément à ce besoin. Ce tutoriel vous emmène de l’installation de l’environnement à la première application fonctionnelle, en passant par les composants essentiels, la gestion de l’état, le style et les tests. Suivez les étapes dans l’ordre : chacune s’appuie sur la précédente.

Pour une application React ou React Native ambitieuse, s’appuyer sur un développeur React expérimenté fait gagner un temps précieux.

Ce qu’il vous faut avant de commencer #

RuntimeNode.js LTS > v18
Outil de démarrageExpo CLI ou RN CLI
ÉditeurVS Code / WebStorm
NiveauBases de JavaScript
Étape 1

Préparer l’environnement

Node.js, puis Expo CLI ou React Native CLI selon le projet.
Étape 2

Créer le projet

Initialiser, lancer le serveur local, comprendre la structure du dossier.
Étape 3

Assembler l’UI

Composer l’interface avec View, Text, Image, ScrollView et Button.
Étape 4

Gérer état & style

Hooks, Context API, puis StyleSheet et Flexbox pour la mise en page.
Étape 5

Déboguer & tester

Flipper, Reactotron, Jest et Testing Library avant chaque livraison.

Qu’est-ce que React Native et pourquoi l’utiliser ? #

React Native est un framework open source piloté par Meta Platforms, Inc., visant à créer des applications mobiles natives en JavaScript et React. À la différence des solutions hybrides traditionnelles, cette technologie traduit chaque composant React en véritables éléments d’interface natifs. Le concept fondamental repose sur le partage d’une seule base de code pour cibler plusieurs plateformes (iOS, Android, Windows ou le web avec React Native Web), réduisant drastiquement le temps de développement et les coûts de maintenance. L’approche modulaire et le « hot reload » permettent de visualiser chaque modification instantanément, point majeur lors du prototypage rapide.

À lire Capacitor JS : La solution open-source pour développer des applications web et mobiles natives

  • Adoption par des entreprises d’envergure : Instagram (Meta), Discord Inc., Shopify (solutions e-commerce) ou UberEats (Uber Technologies Inc.) ont fondé une partie de leur architecture mobile sur ce socle.
  • Performance native : les interfaces proposées sont fluides, exploitant la puissance des composants natifs et limitant la latence, aspect capital pour des apps transactionnelles ou sociales à fort trafic.
  • Richesse de la communauté : plus de 100 000 contributeurs actifs en 2024, des bibliothèques tierces (plus de 33 000 packages sur npm) couvrant des besoins allant de la navigation (React Navigation) à la consommation d’API complexes (Axios, Apollo Client pour GraphQL).
  • Comparatif avec Flutter (Google) et SwiftUI (Apple) : si Flutter convainc par son moteur graphique maison et sa flexibilité, il impose l’apprentissage de Dart et reste moins adopté au sein des SI d’entreprises historiques. SwiftUI reste exclusivement axé Apple. React Native s’impose par son universalité, la dextérité de JavaScript et l’intégration avec des outils CI/CD majeurs, tout en restant très bien noté sur GitHub (plus de 120 000 stars à la mi-2024).
  • Statistique clé : en 2023, près de 38 % des applications mobiles publiées sur Google Play Store et App Store s’appuient sur React Native ou une variante hybride, selon l’étude Statista.

À notre avis, l’atout maître de React Native repose sur la vitesse de livraison et l’agilité : adapter une logique, itérer des UX et mutualiser UI/UX sur plusieurs plateformes est désormais à la portée des petites équipes comme des grandes ESN internationales.

Préparer votre environnement de développement #

Avant de coder une ligne, il est essentiel de préparer l’environnement technique avec rigueur. Node.js (runtime JavaScript open source, multicloud), React Native CLI et Expo CLI sont les piliers du setup. Expo, développé par Expo Inc., simplifie énormément le démarrage.

Installer Node.js

Téléchargez la version LTS sur le site officiel nodejs.org ; préférez toujours une version stable (> v18.0 en 2024).

Installer Expo CLI

Expo permet l’exécution directe sur mobile via l’application Expo Go (iOS/Android), sans Xcode ni Android Studio obligatoires.

À lire Pourquoi choisir Ionic Framework pour développer des applications mobiles efficaces

npm install --global expo-cli

Créez ensuite un nouveau projet. Expo installe toutes les dépendances de base (react-native, react, react-dom, etc.) pour une prise en main rapide.

npx create-expo-app MonPremierProjet

Installer React Native CLI

Pour un projet plus complexe ou nécessitant des modules natifs :

npm install -g react-native-cli
npx react-native init MonProjetRN

Configurer vos simulateurs et votre IDE

  • Android : téléchargez Android Studio de Google LLC, puis créez un AVD (Android Virtual Device) dédié.
  • iOS : installez Xcode via le Mac App Store et configurez les simulateurs nécessaires sur Mac (Apple Silicon ou Intel).
  • IDE : Visual Studio Code (Microsoft Corporation) séduit par son support natif React/React Native et ses extensions comme React Native Tools ou Prettier. WebStorm (JetBrains) propose une intégration frontale avancée.

Ressources officielles et communautaires

  • reactnative.dev — documentation complète actualisée, guides pas à pas, best practices sectorielles.
  • Stack Overflow — plus de 440 000 sujets React Native en 2024.
  • GitHub Discussions — issues suivies en temps réel par les équipes Meta et la communauté open source.
Expo CLI ou React Native CLI ?
Choisissez Expo pour les prototypes, les POC internes ou les apps sans dépendances natives complexes. Préférez React Native CLI dès lors que vos besoins impliquent une intégration native spécifique ou la gestion de builds personnalisés.

Créer votre première application React Native #

La création d’une première application s’effectue en quelques commandes, grâce à la maturité des outils. Prenons l’exemple d’une mini-app Habit Tracker, inspirée des méthodes de Productivité Agile utilisées chez Doist (éditeur de Todoist).

  1. Initialiser le projet
    npx create-expo-app MonHabitTracker
  2. Démarrer le serveur local
    cd MonHabitTracker
    npm start
  3. Lancer sur émulateur via le terminal Expo, ou via l’application mobile Expo Go après scan du QR code affiché.

Structure du dossier

  • App.js : fichier principal d’entrée, orchestrant l’ensemble des écrans.
  • assets/ : centralisation des images, icônes et polices personnalisées.
  • components/ : dépôt des composants réutilisables (ex. HabitItem.js).
  • screens/ : répartition logique des vues — Home, AddHabit, Stats.

Dans notre exemple, une première version « Hello World » s’écrit ainsi :

À lire Flutter en 2026 : le framework multiplateforme préféré des développeurs

import React from "react";
import { Text, View } from "react-native";
export default function App() {
  return (
      Bienvenue dans mon Habit Tracker !
  );
}

Cette structure facilite l’extension progressive du projet. L’ajout de modules (react-navigation pour la navigation multi-écrans, l’intégration d’assets SVG via react-native-svg) s’opère par de simples commandes npm install et une importation dans l’arborescence. La logique du code partagé, l’utilisation de hooks personnalisés et l’organisation modulaire sont des pratiques recommandées, observées chez Qonto, fintech française leader, dès leurs premiers prototypes React Native en 2021.

Composants de base de React Native #

Les fondations de toute app reposent sur une poignée de composants essentiels, équivalents à leurs homologues HTML5 :

  • View : conteneur générique, équivalent de la balise <div>. Sert au positionnement Flexbox et à l’encapsulation.
  • Text : pour tous les affichages textuels. Supporte le stylage, l’accessibilité et l’imbrication.
  • Image : affiche des images issues de ressources locales ou distantes, gère la priorisation de chargement (optimisation de performance, méthode resizeMode).
  • ScrollView : vue défilante verticale/horizontale, idéale pour les listes courtes ou les écrans fluides.
  • Button : bouton interactif natif, stylisation limitée mais parfaitement intégré au système.

Exemple concret de composition d’un écran de liste :

import { View, Text, ScrollView, Button } from "react-native";
export default function ListeTaches() {
  return (
        Ma Liste de Tâches
         {}} />
  );
}

Ces briques permettent d’assembler rapidement des interfaces : la majorité des apps React Native du Google Play Store utilisent une variante personnalisée de cet assemblage. Les écrans « Todo List » de Todoist (Doist) ou les form builders de Typeform (SaaS barcelonais) exploitent ce modèle, répliquant la simplicité du web tout en conservant la robustesse du natif.

À lire Applications hybrides : fonctionnement, avantages et comparaison pour le développement mobile

Gestion de l’état avec Hooks et Context API #

La capacité à réagir à chaque action utilisateur et à partager des données entre composants différencie un prototype d’une app performante en production. Les Hooks React apportent une gestion fine des états locaux, tandis que la Context API permet de propager efficacement une information globale (authentification, thème, panier e-commerce).

useState

Stocke une valeur et déclenche un re-render lors d’une modification. Exemple :

import React, { useState } from "react";
import { Button, Text } from "react-native";
export default function Compteur() {
  const [compte, setCompte] = useState(0);
  return (
      Valeur : {compte}
       setCompte(compte + 1)} title="Incrémenter" />
  );
}

useEffect

Exécute du code en réaction à un changement d’état ou au montage du composant. Essentiel pour la consommation d’APIs REST et de websockets (exemple : actualisation des données en temps réel chez Slack Technologies).

Context API

Fournit une structure pour le partage global sans prop drilling. Exemple d’utilisation chez LeBonCoin (marketplace française) pour la gestion du thème utilisateur sur toutes les vues. Scénario de gestion d’un thème global :

import React, { createContext, useContext, useState } from "react";
const ThemeContext = createContext();
export function ThemeProvider({ children }) {
  const [theme, setTheme] = useState("light");
  return (
      {children}
  );
}
export function useTheme() {
  return useContext(ThemeContext);
}

Positionner la bonne architecture d’état dès l’amorce du projet évite nombre de refontes ultérieures, enjeu testé à grande échelle lors de la refonte mobile de Qonto ou d’Alan, insurtech française, en 2022.

Styles et mise en page dans React Native #

La stylisation d’une app mobile ne se fait pas en CSS pur comme sur le web. React Native utilise l’API StyleSheet (JavaScript natif), inspirée du modèle CSS mais adaptée à l’écosystème mobile afin d’optimiser le rendu réel sur chaque OS.

Déclarer les styles

Centralisez les styles en JavaScript :

import { StyleSheet } from "react-native";
const styles = StyleSheet.create({
  bouton: {
    backgroundColor: "tomato",
    padding: 10,
    borderRadius: 8,
    margin: 10
  }
});

Flexbox et librairies avancées

  • Flexbox : layout flexible et réactif, identique à la syntaxe web (flexDirection, alignItems, justifyContent), accélérant la compatibilité multi-écrans.
  • Styled Components : CSS-in-JS, maintenance facilitée et typée. Très prisé par BlaBlaCar ou Deezer.
  • Tailwind CSS via tailwind-rn : styles utilitaires rapides, cohérence à l’échelle d’un réseau d’entreprise (gain de 30 % de productivité annoncé par Booking.com en 2024).

Exemple de stylisation d’un bouton réactif :

import { TouchableOpacity, Text, StyleSheet } from "react-native";
export default function MonBouton({ onPress, label }) {
  return (
      {label}
  );
}

L’approche CSS-in-JS offre une extensibilité remarquable, aspect fondamental lors des rebrandings ou pour assurer la conformité Design System imposée par le RGAA (référentiel d’accessibilité pour les apps publiques en France).

Débogage et tests de votre application React Native #

L’assurance qualité demeure le pilier de la livraison produit. Sur React Native, divers outils de débogage permettent de traquer les erreurs, surveiller les performances et profiler l’exécution sur de vrais terminaux.

  • Reactotron : suite d’outils de monitoring en temps réel développée par Infinite Red, société américaine de conseil IT. Debuggeur graphique, affichage des logs Redux et états contextuels.
  • Flipper (Meta Platforms, Inc.) : plateforme extensible pour inspecter l’état de l’app, corriger les erreurs UI/UX et analyser le trafic réseau. Adoptée par Airbnb et Messenger (Meta).
  • Console intégrée : output en direct sur le terminal (console.log), idéal pour un débogage rapide durant les sprints agiles.
  • Jest (Meta Platforms, Inc.) : standard de facto pour les tests React Native, couverture multi-composants, snapshots automatiques.
  • Testing Library (version React Native) : rendu des composants dans un environnement virtuel, simulation d’interactions utilisateur, validation de l’expérience.

Exemple de scénario de test simple :

import { render, fireEvent } from "@testing-library/react-native";
import MonBouton from "./MonBouton";
test("vérifie le libellé et le clic", () => {
  const { getByText } = render( {}} />);
  fireEvent.press(getByText("Test"));
  expect(getByText("Test")).toBeTruthy();
});

Cette rigueur dans le test automatise la validation des évolutions, garantit l’évolutivité et la correction rapide après chaque delivery sprint — une approche également plébiscitée par Lydia Solutions pour leurs releases B2B en 2024.

Erreurs à éviter en démarrant avec React Native #

À faire

  • Démarrer avec Expo pour un premier projet ou un POC
  • Choisir l’architecture d’état (Hooks / Context) dès l’amorce
  • Centraliser les styles via StyleSheet et factoriser les composants
  • Écrire des tests dès les premières versions

À éviter

  • Tenter une intégration native complexe sans passer à React Native CLI
  • Stocker tout l’état globalement et provoquer du prop drilling
  • Styliser en inline partout au lieu de centraliser
  • Repousser les tests jusqu’à la mise en production

Votre chemin vers la maîtrise de React Native #

Aborder la conception mobile avec React Native permet d’accélérer chaque phase de livraison : installation rapide, structuration robuste, exploitation optimale des composants essentiels, gestion efficace de l’état, stylisation avancée et contrôles qualité professionnels.

Aux confins de nos recherches et des expériences récentes observées lors d’événements internationaux comme le React Native EU 2024 à Wrocław, Pologne, il apparaît que le framework conserve sa suprématie chez les startups innovantes comme chez les acteurs industriels historiques. La solidité de la communauté, l’évolution rapide (updates mensuels, annonces de Meta et de la fondation Open Collectives) et l’intégration croissante de fonctionnalités Cloud (Firebase, AWS AppSync, Azure Mobile Apps) positionnent React Native comme l’outil stratégique pour toute ambition mobile.

Investir du temps dans ces fondations ouvre les portes à des projets toujours plus variés : CRM B2B, fintech, edtech, apps de santé ou assistants vocaux. Rejoindre ce courant, c’est accéder à des opportunités globales et contribuer à la transformation digitale de secteurs complexes, avec la garantie de rester agile, innovant et pertinent en 2025.

À retenir #

  • Une seule base de code JavaScript/React pour iOS, Android, Windows et le web.
  • Expo CLI pour démarrer vite, React Native CLI pour les modules natifs avancés.
  • View, Text, Image, ScrollView, Button : les cinq composants de base à maîtriser.
  • Hooks + Context API pour l’état ; StyleSheet + Flexbox pour le style.
  • Jest et Testing Library sécurisent chaque livraison avant la mise en production.

Questions fréquentes #

Faut-il connaître React pour apprendre React Native ?
Des bases solides en JavaScript et la connaissance des concepts React (composants, Hooks comme useState et useEffect) facilitent grandement le démarrage. React Native réutilise la même logique : maîtriser React au préalable n’est pas obligatoire, mais accélère nettement la prise en main.
Quelle est la différence entre Expo CLI et React Native CLI ?
Expo CLI simplifie le démarrage et permet d’exécuter l’app directement via Expo Go, sans Xcode ni Android Studio obligatoires — idéal pour les prototypes et les POC. React Native CLI s’impose dès qu’il faut intégrer des modules natifs spécifiques ou gérer des builds personnalisés.
React Native ou Flutter : lequel choisir ?
Flutter convainc par son moteur graphique maison et sa flexibilité, mais impose d’apprendre Dart. React Native s’appuie sur JavaScript, profite d’un large écosystème et d’une forte adoption en entreprise. Le choix dépend de vos compétences existantes et de l’intégration souhaitée avec vos outils CI/CD.
Les applications React Native sont-elles vraiment natives ?
Oui : contrairement aux solutions hybrides traditionnelles, React Native traduit chaque composant React en véritables éléments d’interface natifs, ce qui garantit des performances fluides. Des entreprises comme Instagram, Discord, Shopify ou UberEats l’utilisent en production.

Ressources pratiques et carnet d’adresses #

Agences de développement React Native en France

ALLOHOUSTON

Paris, France · 11-50 membres
À partir de 5 000 € · Contact via site web

Digital Unicorn

Nice (et Paris) · 51-200 membres
À partir de 1 000 €
digitalunicorn.com

Wizz You

Toulouse, France · 11-50 membres
À partir de 1 000 €
wizzyou.com

Yield Studio

Paris, France · 11-50 membres
À partir de 1 000 €
yieldstudio.com

Lunabee Studio

Chambéry / Lyon · apps natives, UX/UI
lunabee.studio

GoodBarber

Ajaccio, Corse · solution clé en main
goodbarber.com

Outils et liens officiels

Communauté et experts

  • Slack Reactif Paris — communauté développeur mobile
  • Meetup.com — groupes « React Native Paris », « React Lyon », « ReactJS France »
  • Forum Developpez.net — section « Développement Mobile React Native »
  • Stack Overflow — tags React Native (français et anglais)
En résumé
Le développement React Native en France est soutenu par une communauté dynamique et des agences spécialisées, pour tous les budgets. Les outils comme Expo et React Native CLI facilitent la création d’applications mobiles performantes.

ce site propose des informations complémentaires.

Mobile Web Edition est édité de façon indépendante. Soutenez la rédaction en nous ajoutant dans vos favoris sur Google Actualités :

Dans la même rubrique : Frameworks mobile

développeur full-stack freelance — forfaits de référencement Google