Chapitre 0
00 - Introduction au développement mobile moderne
00 - Introduction au développement mobile moderne
00 - Introduction : Cours complet
Table des matières
- Histoire du mobile (2007 → 2026)
- Les écosystèmes mobiles
- Native vs Cross-platform vs PWA
- Market share
- Choisir une technologie
- Roadmap d'apprentissage
- Résumé et checklist
1. Histoire du mobile (2007 → 2026)
1.1 Avant le smartphone (1983–2006)
- 1983 : Motorola DynaTAC 8000X, premier téléphone portable commercial. Poids 794 g, autonomie 30 min.
- 1992 : IBM Simon, premier téléphone avec écran tactile (précurseur du smartphone).
- 1994 : Nokia déploie les jeux (Snake) et impose le « feature phone ».
- 1996 : WAP (Wireless Application Protocol) : premier accès limité à Internet via le navigateur.
- 2002 : BlackBerry domine le courrier électronique professionnel (push mail).
- 2005 : Symbian est le leader mondial des OS mobiles.
Ces appareils sont limités : écrans résistifs, interfaces à clavier, pas d'App Store, pas de multi-touch.
1.2 La révolution de 2007 : l'iPhone
- 9 janvier 2007 : Steve Jobs présente l'iPhone au Macworld.
- Écran capacitif multi-touch (pas de stylet), interface fluide, navigateur Safari complet.
- Juillet 2008 : lancement de l'App Store avec 500 applications.
- L'iPhone définit le modèle « mobile-first » : l'application (ou le site) devient le produit.
1.3 La réponse de Google : Android (2008)
- Octobre 2008 : premier appareil Android commercial (HTC Dream / T-Mobile G1).
- Android est open source (AOSP) mais le Play Store et les services Google (GMS) restent propriétaires.
- 2009–2012 : guerre des plateformes contre iOS, Windows Phone, BlackBerry OS.
- 2010 : émergence du cross-platform avec PhoneGap/Cordova (WebView).
1.4 La consolidation (2013–2019)
- 2013 : Windows Phone s'essouffle, BlackBerry abandonne son OS.
- 2014 : Apple Swift est annoncé ; React Native émerge chez Facebook.
- 2015 : Android passe le milliard d'utilisateurs actifs.
- 2017 : Flutter (Google) fait sa première apparition publique.
- 2018 : Google impose le langage Kotlin comme premier langage Android.
- 2019 : Flutter 1.0 est stable ; SwiftUI est annoncé par Apple.
1.5 La maturité (2020–2026)
- 2020 : Compose (Android), premier framework UI déclaratif du monde Android.
- 2021 : Android 12 introduit Material You (thème dynamique).
- 2022 : l'App Tracking Transparency (ATT) d'Apple bouleverse la publicité mobile.
- 2023 : K2 compiler (Kotlin 2.0), l'Intelligence Artificielle s'invite (Copilot, Gemini).
- 2024 : Apple impose le sideloading limité en Europe (DMA).
- 2025 : foldables, IA on-device (Gemini Nano, Apple Intelligence), on-device ML généralisé.
- 2026 : l'IA est un composant de première classe (agents, UIs génératives). Les stores intègrent des systèmes de revue assistés par IA. L'attention se porte sur la performance, la confidentialité (privacy-by-design) et le développement durable numérique (sobriété énergétique).
1.6 Frise chronologique
Diagramme en cours de génération...
2. Les écosystèmes mobiles
2.1 Android
| Caractéristique | Détail |
|---|---|
| Langage officiel | Kotlin (Java historique) |
| UI moderne | Jetpack Compose (XML Views historique) |
| Outil | Android Studio (IntelliJ) |
| Build | Gradle (Kotlin DSL, version catalog, AGP) |
| Distribution | Play Store (+ stores tiers, sideloading) |
| Ouverture | Open source (AOSP), forte fragmentation |
| Fragmentation | Versions d'OS, tailles d'écran, OEM (Samsung, Xiaomi…) |
Points forts : ouverture, flexibilité, market share global élevé, coût de publication faible. Points faibles : fragmentation, qualité inégale de l'expérience, revenus publicitaires dominants.
2.2 iOS
| Caractéristique | Détail |
|---|---|
| Langage officiel | Swift (Objective-C historique) |
| UI moderne | SwiftUI (UIKit historique) |
| Outil | Xcode (macOS uniquement) |
| Build | Swift Package Manager, CocoaPods, Xcode build |
| Distribution | App Store uniquement (sideload UE limité depuis 2024) |
| Écosystème | Fermé, maîtrisé de bout en bout par Apple |
| Fragmentation | Faible (peu de modèles, mises à jour longues) |
Points forts : écosystème premium, revenus IAP/Abo plus élevés, matériel unifié, confidentialité valorisée. Points faibles : barrière matérielle (macOS), review stricte, frais de compte 99 $/an, 15/30 % de commission.
2.3 Cross-platform (React Native, Flutter, .NET MAUI…)
Définition : une base de code unique compile vers plusieurs plateformes natives.
- React Native : JavaScript/TypeScript, rendu de composants natifs via une architecture « bridge/Fabric ». Nouvelle architecture : TurboModules, Fabric, Hermes.
- Flutter : Dart, rendu pixel-par-pixel par son propre moteur (Skia/Impeller). AOT vers du code machine.
- .NET MAUI : C#/XAML, héritier de Xamarin.
| Critère | RN | Flutter |
|---|---|---|
| Langage | TypeScript/JS | Dart |
| Rendu | Composants natifs | Moteur propriétaire |
| Hot reload | Oui | Oui (hot reload/restart) |
| Performance | Très bonne (nouvelle archi) | Très bonne |
| UI native | Oui (par composant) | Non (rendu uniforme) |
| Écosystème libs | Très riche (npm) | Riche (pub.dev) |
2.4 PWA (Progressive Web Apps)
- Site web « installable », hors-ligne (Service Worker + Cache API), notifications push.
- Pas de store (ou bien via Play Store), pas de code natif.
- Limitations : pas d'accès complet au hardware (NFC, Bluetooth partiel), pas de facturation IAP iOS, moins de visibilité.
- Cas d'usage : vitrines, sites marchands, pays émergents où les stores sont moins présents.
2.5 Schéma des écosystèmes
Diagramme en cours de génération...
3. Native vs Cross-platform vs PWA
3.1 Tableau comparatif
| Critère | Native (2 apps) | Cross-platform | PWA |
|---|---|---|---|
| Coût de développement | Élevé (×2) | Moyen (×1) | Faible |
| Accès au hardware | Complet | Complet (via plugins) | Limité |
| Performance | Optimale | Très bonne | Dépend du navigateur |
| Expérience UI | Native parfaite | Bonne à très bonne | Variable |
| Distribution store | Oui | Oui | Non (installable) |
| Mise à jour | Review/rollout | Review/rollout + OTA | Immédiate |
| Offline | Oui | Oui | Via Service Worker |
| Recrutement | Spécialisés ×2 | Polyvalent | Web |
| Équipe pour dupliquer | 2 équipes | 1 équipe | 1 équipe web |
3.2 Méthode de décision
Diagramme en cours de génération...
3.3 Règles empiriques
- Si le produit repose sur une expérience iOS/Android native (gestes, HIG, Metal) → native.
- Si la performance est critique et l'UI fortement customisée → Flutter.
- Si l'équipe est forte en TypeScript et que l'écosystème JS est central → React Native.
- Si le produit est avant tout web, sans fonctionnalité mobile avancée → PWA.
- Le choix est stratégique et coûteux à inverser : choisir pour au moins 3–5 ans.
4. Market share
4.1 Le marché en 2026 (ordre de grandeur)
- Android : ≈ 70–72 % du parc mondial de smartphones.
- iOS : ≈ 28–30 % du parc mondial (mais >50 % en Amérique du Nord, Europe de l'Ouest, Japon).
- Autres (KaiOS, HarmonyOS, …) : < 1 %.
4.2 Nuances importantes
- Le market share par région est très hétérogène : iOS domine dans les pays à fort pouvoir d'achat.
- Le market share par revenus favorise largement iOS (revenus publicitaires et IAP supérieurs).
- Le market share tablette est dominé par iPad (~40 %).
- Le téléchargement vs revenu : Android gagne en volume, iOS en valeur.
4.3 Diagramme market share mondial (estimations 2026)
Diagramme en cours de génération...
4.4 Implications pour l'ingénieur
- Faire les deux plateformes est souvent nécessaire pour couvrir 100 % du marché.
- Les entreprises privilégient souvent iOS en premier pour le B2C (revenus).
- Android reste incontournable dans les marchés émergents (Inde, Brésil, Afrique).
- Les postes « iOS only » restent nombreux et bien rémunérés ; les postes « cross-platform » se multiplient.
5. Choisir une technologie
5.1 Facteurs de décision (méthode des 5C)
- Coût : budget initial, coût de maintenance, coût de recrutement.
- Compétences : stack interne disponible, courbe d'apprentissage.
- Concurrence : comment les concurrents font, différenciation technique.
- Contrainte : réglementation (DMA, données), sécurité, offline, store.
- Capacité : roadmap produit, scalabilité de l'équipe, vitesse de livraison souhaitée.
5.2 Matrice de choix rapide
| Scénario | Recommandation |
|---|---|
| Start-up B2C, équipe JS | React Native |
| Grosse app existante Android | Native Kotlin |
| App iOS premium, design poussé | Native Swift/SwiftUI |
| App desktop+mobile, rendu uniforme | Flutter |
| E-commerce multilingue, sans fonction hardware | PWA |
| SaaS pro, R&D limitée | React Native + Expo |
| App heavy graphics/games | Native (ou moteur 2D/3D) |
5.3 Check-list de décision
- Le hardware est-il nécessaire (caméra profondeur, NFC, Bluetooth, capteurs) ?
- La performance UI est-elle critique ?
- Le budget couvre-t-il deux équipes natives ?
- La vitesse de sortie prime-t-elle sur la perfection UI ?
- L'équipe maîtrise-t-elle JS/TS, Dart, Kotlin ou Swift ?
- L'app cible-t-elle des pays où les stores sont actifs ?
- La monétisation passe-t-elle par l'App Store/Play (IAP) ?
6. Roadmap d'apprentissage
6.1 Parcours de l'ingénieur mobile (2026)
Diagramme en cours de génération...
6.2 Étapes concrètes (12 mois)
| Mois | Objectif |
|---|---|
| 1–2 | Fondations : un langage (Kotlin, Swift, TS, Dart) |
| 3–4 | Premier framework : Compose, SwiftUI, RN ou Flutter |
| 5–6 | Navigation, réseau, state management, stockage local |
| 7–8 | Architecture (MVVM/MVI), tests unitaires et UI |
| 9–10 | Performance, profiling, accessibility |
| 11–12 | CI/CD, publication sur store, maintenance |
6.3 Compétences non techniques
- Anglais technique (documentation, CFP, conference talks).
- Connaissance du design (Material 3, HIG) pour mieux collaborer.
- Compréhension produit et métier (métriques, abonnement, rétention).
- Veille continue (Android Weekly, Swift Weekly, podcast mobile).
7. Résumé et checklist
7.1 Points clés
- 2007 marque le début de l'ère smartphone ; 2026 est l'ère de l'IA on-device et de la sobriété.
- Android = ouverture et volume ; iOS = valeur et expérience premium.
- Cross-platform (RN/Flutter) réduit le coût mais pas à zéro : il faut maîtriser les plateformes sous-jacentes.
- PWA : pertinente pour le web-first, limitée sur hardware et store.
- Le choix technologique est stratégique, long terme et dépend du contexte.
- La roadmap d'apprentissage doit inclure qualité, architecture, tests et distribution.
7.2 Checklist de fin de chapitre
- Je peux dater les événements majeurs 2007–2026
- Je sais expliquer la différence entre Android, iOS, RN, Flutter, PWA
- Je sais construire un comparatif native vs cross vs PWA
- Je sais lire un graphique de market share avec ses nuances régionales
- Je peux appliquer la méthode des 5C pour choisir une technologie
- J'ai défini ma roadmap personnelle sur 12 mois
Prochain chapitre
→ 01-Fondamentaux-Mobile : lifecycle, concurrence, mémoire, UI, accessibility, batterie, offline, stores.