MFormations
Modern Mobile Engineering

Chapitre 0

00 - Introduction au développement mobile moderne

00 - Introduction au développement mobile moderne

00 - Introduction : Cours complet

Table des matières

  1. Histoire du mobile (2007 → 2026)
  2. Les écosystèmes mobiles
  3. Native vs Cross-platform vs PWA
  4. Market share
  5. Choisir une technologie
  6. Roadmap d'apprentissage
  7. 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éristiqueDétail
Langage officielKotlin (Java historique)
UI moderneJetpack Compose (XML Views historique)
OutilAndroid Studio (IntelliJ)
BuildGradle (Kotlin DSL, version catalog, AGP)
DistributionPlay Store (+ stores tiers, sideloading)
OuvertureOpen source (AOSP), forte fragmentation
FragmentationVersions 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éristiqueDétail
Langage officielSwift (Objective-C historique)
UI moderneSwiftUI (UIKit historique)
OutilXcode (macOS uniquement)
BuildSwift Package Manager, CocoaPods, Xcode build
DistributionApp Store uniquement (sideload UE limité depuis 2024)
ÉcosystèmeFermé, maîtrisé de bout en bout par Apple
FragmentationFaible (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èreRNFlutter
LangageTypeScript/JSDart
RenduComposants natifsMoteur propriétaire
Hot reloadOuiOui (hot reload/restart)
PerformanceTrès bonne (nouvelle archi)Très bonne
UI nativeOui (par composant)Non (rendu uniforme)
Écosystème libsTrè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èreNative (2 apps)Cross-platformPWA
Coût de développementÉlevé (×2)Moyen (×1)Faible
Accès au hardwareCompletComplet (via plugins)Limité
PerformanceOptimaleTrès bonneDépend du navigateur
Expérience UINative parfaiteBonne à très bonneVariable
Distribution storeOuiOuiNon (installable)
Mise à jourReview/rolloutReview/rollout + OTAImmédiate
OfflineOuiOuiVia Service Worker
RecrutementSpécialisés ×2PolyvalentWeb
Équipe pour dupliquer2 équipes1 équipe1 équipe web

3.2 Méthode de décision

Diagramme en cours de génération...

3.3 Règles empiriques

  1. Si le produit repose sur une expérience iOS/Android native (gestes, HIG, Metal) → native.
  2. Si la performance est critique et l'UI fortement customisée → Flutter.
  3. Si l'équipe est forte en TypeScript et que l'écosystème JS est central → React Native.
  4. Si le produit est avant tout web, sans fonctionnalité mobile avancée → PWA.
  5. 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)

  1. Coût : budget initial, coût de maintenance, coût de recrutement.
  2. Compétences : stack interne disponible, courbe d'apprentissage.
  3. Concurrence : comment les concurrents font, différenciation technique.
  4. Contrainte : réglementation (DMA, données), sécurité, offline, store.
  5. Capacité : roadmap produit, scalabilité de l'équipe, vitesse de livraison souhaitée.

5.2 Matrice de choix rapide

ScénarioRecommandation
Start-up B2C, équipe JSReact Native
Grosse app existante AndroidNative Kotlin
App iOS premium, design pousséNative Swift/SwiftUI
App desktop+mobile, rendu uniformeFlutter
E-commerce multilingue, sans fonction hardwarePWA
SaaS pro, R&D limitéeReact Native + Expo
App heavy graphics/gamesNative (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)

MoisObjectif
1–2Fondations : un langage (Kotlin, Swift, TS, Dart)
3–4Premier framework : Compose, SwiftUI, RN ou Flutter
5–6Navigation, réseau, state management, stockage local
7–8Architecture (MVVM/MVI), tests unitaires et UI
9–10Performance, profiling, accessibility
11–12CI/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.