Logiciels et applications

Développement React Native : deux applications, une seule base de code

Gjethe développe des applications iOS et Android avec React Native et TypeScript, en utilisant Expo pour la rapidité et des modules natifs Swift ou Kotlin lorsqu'une application a besoin d'un accès plus poussé à l'appareil. Nous reprenons aussi des applications React Native existantes : mise à niveau des versions, correction de plantages et de problèmes de performances, et poursuite du développement.

  • Première consultation gratuite
  • Devis écrit pour votre projet
  • Paiements échelonnés par étapes, avec souplesse

En un coup d'œil

Language
TypeScript
Workflow
Expo ou React Native bare
Code natif
Modules Swift et Kotlin si nécessaire
Aussi
Mises à niveau et sauvetage d'applications

Definition

Qu'est-ce que le développement React Native?

React Native est un framework open source de Meta pour créer des applications iOS et Android avec JavaScript ou TypeScript et React. Il affiche de véritables composants d'interface natifs, si bien qu'une seule base de code produit deux applications réellement natives.

React Native permet à une seule équipe de développer les deux applications, de livrer des fonctionnalités aux deux plateformes en même temps et de partager de la logique avec une application web React. Il est utilisé en production par des entreprises comme Meta, Microsoft, Shopify et Discord. Cette page s'adresse aux équipes qui savent déjà qu'elles veulent React Native, ou qui ont une application React Native existante à entretenir. Si vous hésitez encore sur l'approche, commencez par le développement d'applications mobiles.

À qui s'adresse-t-elle ?

  • Équipes qui lancent sur les deux plateformes

    Vous avez besoin d'iOS et d'Android en même temps sans financer deux équipes distinctes.

  • Entreprises avec des équipes web React

    Vos développeurs web connaissent React ; React Native leur permet de partager connaissances, outils et une partie de la logique avec l'application mobile.

  • Propriétaires d'une application React Native vieillissante

    L'application a plusieurs versions de retard, plante sur les nouveaux appareils ou ne peut plus être compilée. Nous la remettons en bonne santé.

  • Startups ayant besoin d'une équipe mobile dédiée

    Une équipe ciblée pour prendre en charge l'application mobile pendant que vos ingénieurs gèrent le back end.

Ce qui est inclus, et ce que vous conservez

Ce qui est inclus

  • Architecture et mise en place du projet avec TypeScript
  • Workflow Expo ou bare, choisi selon le projet
  • Navigation, gestion d'état et récupération de données
  • Modules natifs en Swift et Kotlin si nécessaire
  • Notifications push et liens profonds
  • Achats intégrés avec RevenueCat
  • Stockage et synchronisation en priorité hors ligne
  • Cartes, appareil photo, biométrie et capteurs de l'appareil
  • Mises à jour à distance pour les changements JavaScript
  • Builds automatisés et soumissions aux boutiques avec EAS
  • Rapport de plantages et suivi des performances
  • Mises à niveau d'applications existantes vers les versions actuelles

Ce que vous recevez

Remis en fin de mission. À vous pour toujours.

  • Applications iOS et Android sur les boutiques
  • Code source dans votre dépôt
  • Pipeline de build et de publication
  • Canal de mises à jour à distance
  • Documentation technique

Expo ou React Native bare ?

Expo (avec prebuild)React Native bare
Mise en place et buildsOutils gérés et builds dans le cloudConfiguration manuelle du projet natif
Code natifPris en charge via des plugins de configuration et des modules sur mesureContrôle direct complet
UpdatesExpo Updates intégréMis en place séparément
Notre choix par défautOui, pour la plupart des nouvelles applicationsPour les applications ayant des exigences inhabituelles en SDK natifs

Comment sauvons-nous une application React Native existante ?

Les applications qui n'ont pas été mises à jour depuis un moment échouent de manière prévisible : les builds cassent parce que les outils ont évolué, des bibliothèques sont abandonnées, de nouvelles versions du système font planter l'ancien code et les boutiques exigent des versions cibles plus récentes.

Nous commençons par faire de nouveau compiler l'application et par auditer les dépendances. Puis nous mettons à niveau React Native étape par étape plutôt qu'en un seul bond, remplaçons les bibliothèques abandonnées, corrigeons les plantages signalés par le suivi et passons aux outils Expo lorsque cela simplifie les builds.

Une fois l'application stable et à jour, le développement continue sur des bases saines, avec des builds automatisés pour qu'elle ne prenne plus de retard.

Où React Native performe bien, et où nous ajoutons du code natif

  • Applications métier et grand public

    Formulaires, listes, fils d'actualité, parcours de réservation et tableaux de bord fonctionnent excellemment avec des composants natifs.

  • Animation

    Reanimated exécute les animations sur le thread natif pour des gestes et transitions fluides.

  • Appareil photo et médias

    Bien pris en charge via des bibliothèques matures, avec des modules natifs pour les traitements spécialisés.

  • Graphismes lourds

    Les applications très 3D ou proches du jeu relèvent généralement du code natif ou d'un moteur de jeu.

Comment fonctionne le développement React Native, étape par étape

Chaque étape produit un résultat clair que vous pouvez relire. Le calendrier est convenu dans votre devis.

  1. 1

    Évaluation

    Pour les nouvelles applications, périmètre et architecture ; pour les applications existantes, un audit du code, des dépendances et des plantages.

  2. 2

    Fondation

    Structure du projet, navigation, couche de données, environnements et builds automatisés.

  3. 3

    Développement des fonctionnalités

    Fonctionnalités construites et livrées aux testeurs sur les deux plateformes via TestFlight et les pistes de test de Play.

  4. 4

    Intégration native

    Modules Swift et Kotlin pour tout ce que la couche JavaScript ne peut pas atteindre.

  5. 5

    Qualité

    Tests sur appareils, mesure des performances et suivi des plantages.

  6. 6

    Release

    Soumission aux boutiques, puis mises à jour à distance pour de petites corrections entre les versions.

Les outils, et ce qui détermine votre devis

Le prix dépend de votre projet et est convenu dans votre devis. Voici ce qui le fait varier.

Développement React Native : facteurs de prix
FacteurPourquoi c'est important
Périmètre des fonctionnalitésLes écrans, les parcours et le travail sur le back end déterminent l'essentiel du coût, comme pour toute application.
Modules natifsDu code Swift ou Kotlin sur mesure pour des SDK spécialisés ajoute du travail sur les deux plateformes.
Hors ligne et synchronisationDes données en priorité locales avec gestion des conflits demandent plus de conception et de tests.
État d'une application existanteD'anciennes versions et des bibliothèques abandonnées rendent les mises à niveau et les sauvetages plus complexes.
Code partagé avec le webPartager de la logique avec une application web React fait gagner du temps plus tard mais demande de la planification en amont.

Erreurs courantes à éviter

Ce qui tourne le plus souvent mal, et comment un bon projet l'évite.

  • Laisser les versions prendre du retard

    Sauter les mises à niveau de React Native pendant des années transforme une tâche courante en projet de sauvetage. Mettez à niveau régulièrement.

  • Trop de bibliothèques non maintenues

    Chaque bibliothèque tierce est une dépendance dont vous devez maintenir la compatibilité. Choisissez-en peu et bien maintenues.

  • Faire du travail lourd sur le thread JavaScript

    De grandes listes, des animations ou du traitement de données sur le thread JS principal causent des saccades. Utilisez les bons outils pour chacun.

  • Livrer des changements natifs à distance

    Les mises à jour OTA concernent uniquement JavaScript et les ressources ; les changements natifs doivent passer par les boutiques.

Questions fréquentes

React Native est-il aussi rapide qu'une application native ?

Pour la plupart des applications, les utilisateurs ne voient pas la différence, car React Native affiche de véritables composants natifs. Les parties critiques en performances peuvent être écrites sous forme de modules natifs en Swift ou Kotlin.

Expo ou React Native bare ?

Nous commençons par Expo pour la plupart des applications, car il accélère le développement, les builds et les mises à jour. Nous utilisons le workflow bare, ou Expo avec du code natif sur mesure, lorsqu'une application a besoin de SDK qu'Expo ne couvre pas.

Pouvez-vous reprendre une application React Native existante ?

Oui. Nous auditons la base de code, mettons à jour les dépendances et la version de React Native, corrigeons les problèmes de stabilité et poursuivons le développement.

Pouvez-vous publier des mises à jour sans validation des boutiques ?

Les changements de JavaScript et de ressources peuvent être livrés à distance avec Expo Updates. Les changements de code natif nécessitent toujours une publication normale sur les boutiques.

Pouvons-nous partager du code avec notre site web React ?

Oui. La logique métier, les types, les clients d'API et la validation peuvent être partagés dans un monorepo ; le code d'interface est généralement propre à chaque plateforme.

React Native prend-il en charge les tablettes et les pliables ?

Oui. Les mises en page peuvent s'adapter à la taille de l'écran, et nous concevons des mises en page tablette dédiées lorsque le produit y gagne.

L'application aura-t-elle le même aspect sur iOS et Android ?

Elle peut partager une identité de marque tout en respectant les conventions de chaque plateforme, comme les modèles de navigation et les contrôles système.

Et la New Architecture ?

Les nouvelles applications utilisent par défaut la New Architecture de React Native. Pour les anciennes applications, nous migrons dans le cadre des mises à niveau, une fois que leurs bibliothèques la prennent en charge.

Construisez-vous aussi le back end ?

Oui : API, bases de données, authentification et outils d'administration, ou nous nous intégrons à votre back end existant.

Comment testez-vous les applications React Native ?

Avec des tests unitaires pour la logique, des tests de composants pour les écrans, des tests de bout en bout pour les parcours clés avec des outils comme Maestro ou Detox, et des tests manuels sur de vrais appareils iOS et Android avant chaque publication.

Pouvez-vous améliorer une application React Native lente ?

Oui. Nous mesurons l'application pour trouver la cause (listes lourdes, rendus inutiles, grandes images ou travail sur le thread JavaScript) et corrigeons chacune, en mesurant l'amélioration sur de vrais appareils.

Créez votre application React Native.

Dites-nous ce dont vous avez besoin. Vous recevez une évaluation honnête, un plan clair et un devis écrit. La première consultation est toujours gratuite.

  1. Et ensuite ?
  2. 1Vous nous dites ce dont vous avez besoin
  3. 2Nous nous efforçons de répondre sous 24 heures avec des questions
  4. 3Vous recevez un devis écrit pour votre projet