Développeur Expo freelance
Expo est devenu la façon sérieuse de faire du React Native, et c'est mon outil de travail quotidien : apps en production, builds EAS, mises à jour à distance, et modules natifs quand l'écosystème ne suffit pas.
Expo, jusqu'au natif
La force d'Expo, c'est de ne plus toucher à Xcode et Android Studio. Sa limite, c'est le jour où il vous faut une API que l'écosystème n'expose pas. C'est là que j'interviens : j'écris des modules Expo en Swift et en Kotlin, j'en publie en open source sur npm, et j'ai unifié des SDK natifs complets en un module Expo cross-platform pour MWM.
EAS, du build au store
Builds EAS, signature, profils, soumission aux stores, mises à jour OTA et gestion des runtime versions : je mets en place la chaîne complète, avec la règle qui compte, savoir ce qui peut partir en OTA et ce qui exige un build store. Votre équipe repart avec un pipeline qu'elle comprend.
Ce que j'ai livré avec Expo
Chez MWM, un module natif sur l'API Expo Modules qui unifie deux SDK iOS et Android derrière une seule API TypeScript, installé par config plugins sans ouvrir Xcode. Chez Epsor, une app Expo intégrée à un monorepo Turborepo, avec un design system partagé via React Native Web et une navigation Solito. Chez Mistral AI, Le Chat sur base Expo, avec des modules natifs Swift et Kotlin et l'ouverture de fichiers via Quick Look. Chez Snoop, les apps iOS et Android d'un réseau social, de zéro.
OTA ou build store : la règle
Une mise à jour OTA embarque le JavaScript et les assets, rien d'autre. Un module natif ajouté, un config plugin modifié, une permission, une montée de SDK Expo : tout cela change la runtime version et exige un build store. Je fixe cette règle dans le pipeline dès le départ, avec un channel par environnement, pour qu'une OTA ne casse jamais une app installée.
Ce que je fais
- Créer une app Expo de zéro, avec Expo Router et EAS.
- Migrer une app bare React Native vers Expo.
- Écrire des modules natifs Expo Modules en Swift et Kotlin.
- Mettre en place EAS Build, Submit et Update, avec CI/CD.
- Débloquer une équipe coincée sur un problème natif.
Missions qui le prouvent
Questions fréquentes
Expo Go ou development build ?
Development build, dès le premier jour. Expo Go ne charge que le natif qu'il embarque : le premier module natif, le premier config plugin, et il ne suffit plus. Un dev build est votre app, avec votre natif, et le rechargement à chaud reste identique.
Expo ou React Native bare ?
Expo, sauf raison précise et documentée de faire autrement. Les prebuilds et les config plugins couvrent aujourd'hui presque tous les cas qui justifiaient le bare, et Expo Modules permet d'écrire le natif qui manque sans quitter l'écosystème.
Une app Expo peut-elle utiliser du code natif ?
Oui, sans restriction. Expo Modules est justement une API moderne pour écrire du Swift et du Kotlin proprement. C'est une partie importante de mon travail : SDK natifs, Quick Look iOS, modules publiés sur npm.
Migrer vers Expo, combien de temps ?
Pour une app de taille raisonnable, quelques jours à quelques semaines selon le nombre de dépendances natives à remplacer ou à envelopper. Je commence par un inventaire des libs, qui donne un chiffrage honnête avant d'écrire la moindre ligne.
Un projet en tête ?
Réponse garantie en moins d'une heure, et trente minutes d'audit offertes en visio.