đŸȘȘ 2.1 Typologie des applications mobiles

Module 335 – RĂ©aliser une application pour mobile

🎯 Objectif d’apprentissage

À la fin de ce chapitre, vous serez capables de :

  • Comprendre pourquoi il existe plusieurs types d’applications mobiles
  • Distinguer les approches natives, web, hybrides et cross-plateformes
  • Identifier les forces, limites et contextes d’usage de chacune
  • Expliquer comment le choix d’une technologie influence la performance, la maintenance et le coĂ»t

â„č Les 4 grands types d’applications (rĂ©fĂ©rentiel module)

Selon le rĂ©fĂ©rentiel du module, on distingue 4 grands types d’applications :

  1. Natives – dĂ©veloppĂ©es spĂ©cifiquement pour Android ou iOS
  2. Web – accessibles via un navigateur, sans installation
  3. Hybrides – applications web encapsulĂ©es dans un conteneur natif (WebView)
  4. Cross-plateformes – un seul code source compilĂ© pour plusieurs systĂšmes (Flutter, React Native, 
)

🔁 Hybride vs Cross-plateforme : vision moderne

  • Les approches hybrides ont servi de transition historique vers les solutions cross-plateformes modernes

  • Aujourd’hui, des frameworks comme Ionic utilisent :

    • une base web (hĂ©ritĂ©e de l’hybride)
    • combinĂ©e Ă  des capacitĂ©s natives via Capacitor

👉 On parle dĂ©sormais plus volontiers de “cross-plateforme Ă  base web” que d’hybride classique.

đŸ€” 2.1.1 Pourquoi plusieurs types d’applications ?

L’univers mobile repose sur plusieurs plateformes :

  • iOS, Android
  • et, plus globalement, le Web mobile

Chaque environnement a :

  • ses outils
  • ses langages
  • ses rĂšgles de sĂ©curitĂ©
  • ses mĂ©thodes de publication

2.1.1 La question centrale

Les entreprises et développeurs se demandent :

Comment atteindre tous les utilisateurs sans exploser les coûts, les efforts et les délais ?

D’oĂč la recherche d’un Ă©quilibre entre :

  • Performance
  • CoĂ»t
  • AccessibilitĂ© / portĂ©e

2.1.1 Les grandes approches techniques

Pour répondre à ces enjeux, plusieurs approches sont apparues :

  • Natif
    → performance maximale, intĂ©gration profonde au systĂšme
  • Web
    → compatibilitĂ© universelle, mises Ă  jour instantanĂ©es
  • Hybride
    → application web encapsulĂ©e dans un conteneur natif
  • Cross-plateforme
    → un seul code compilĂ© pour plusieurs OS (Flutter, React Native, 
)

💡 Il n’existe pas de “meilleure” approche universelle :
le bon choix dépend du contexte du projet, du budget et du public cible.

đŸ“± 2.1.2 Les applications natives – DĂ©finition

Les applications natives sont dĂ©veloppĂ©es spĂ©cifiquement pour un systĂšme d’exploitation :

  • Pour Android :
    • Langages : Java, Kotlin
    • IDE : Android Studio
  • Pour iOS :
    • Langages : Swift, Objective-C
    • IDE : Xcode

Elles sont compilées pour chaque OS et publiées sur :

  • Google Play Store
  • Apple App Store

2.1.2 Intégration et capacités des apps natives

Les apps natives :

  • Interagissent directement avec les API du systĂšme
  • Exploitent pleinement les capacitĂ©s matĂ©rielles :
    • appareil photo
    • GPS
    • Bluetooth
    • gyroscope
    • notifications
    • biomĂ©trie (Face ID, Touch ID)
  • Offrent :
    • performance maximale
    • fluiditĂ©
    • cohĂ©rence visuelle avec le systĂšme

2.1.2 Exemples d’applications natives

Exemples typiques :

  • WhatsApp
  • TikTok
  • Instagram

Points communs :

  • usage intensif de la camĂ©ra et du micro
  • animations et transitions complexes
  • besoin d’une rĂ©activitĂ© trĂšs Ă©levĂ©e

2.1.2 Limites du natif

Inconvénients principaux :

  • Deux bases de code si on vise Android + iOS
  • NĂ©cessite souvent deux Ă©quipes (ou au moins deux compĂ©tences)
  • Tests sĂ©parĂ©s, pipeline de build plus complexe
  • CoĂ»ts de dĂ©veloppement et de maintenance plus Ă©levĂ©s

✅ Choix privilĂ©giĂ© quand la performance, la stabilitĂ© et l’intĂ©gration systĂšme sont prioritaires.

🌐 2.1.3 Les applications web mobiles – DĂ©finition

Les applications web mobiles :

  • Ne s’installent pas depuis un store
  • S’exĂ©cutent dans un navigateur (Chrome, Safari, Firefox, Edge
)
  • Sont dĂ©veloppĂ©es en :
    • HTML
    • CSS
    • JavaScript

En pratique, ce sont des sites web optimisĂ©s pour l’affichage mobile.

2.1.3 Forces des applications web

Principaux avantages :

  • UniversalitĂ© : un seul site pour tous les appareils
  • DĂ©veloppement rapide et coĂ»ts rĂ©duits
  • Mises Ă  jour instantanĂ©es (pas de store, pas de tĂ©lĂ©chargement)
  • Multi-appareils : ordinateur, tablette, smartphone

2.1.3 Limites des applications web

Limitations :

  • DĂ©pendent d’une connexion Internet stable
  • AccĂšs aux capteurs limitĂ©, mĂȘme si :
    • Web Bluetooth
    • WebUSB
    • WebRTC
    • Geolocation API
      élargissent progressivement les possibilités
  • Performance gĂ©nĂ©ralement infĂ©rieure au natif, surtout pour :
    • animations complexes
    • jeux
    • traitements lourds

2.1.3 Exemples d’applications web

Quelques exemples :

  • Twitter Web
  • Wikipedia Mobile
  • Certains portails bancaires consultables uniquement depuis un navigateur

Adaptés pour :

  • la consultation d’informations
  • de la saisie simple
  • des scĂ©narios peu intensifs en ressources

🚀 Focus : les Progressive Web Apps (PWA) – Concept

Les Progressive Web Apps (PWA) cherchent à dépasser les limites du web classique.

Caractéristiques :

  • Utilisent HTML / CSS / JS
  • Ajoutent :
    • Service Workers (cache, offline)
    • Manifest (icĂŽne, nom, Ă©cran d’accueil)
  • Combinent les avantages du web et du mobile

PWA – CapacitĂ©s

Une PWA peut :

  • Être ajoutĂ©e Ă  l’écran d’accueil
  • Fonctionner hors-ligne (grĂące au cache local)
  • Envoyer des notifications push (dans certains contextes)
  • S’exĂ©cuter en plein Ă©cran, sans barre d’adresse

🎯 Objectif : offrir une expĂ©rience proche d’une app,
tout en restant plus simple et moins coûteuse à développer.

PWA – Exemple Starbucks

Exemple concret :

  • Starbucks propose une PWA permettant de :
    • consulter le menu
    • passer commande
    • gĂ©rer la fidĂ©litĂ©
    • fonctionner en connexion intermittente

Fait intéressant :

  • La PWA pĂšse ~99 % de moins que l’app native
  • L’expĂ©rience reste trĂšs proche de l’app installĂ©e

PWA – À tester en classe

đŸ§Ș Mini-expĂ©rience (si le service est disponible) :

  1. Ouvrez le navigateur de votre smartphone
  2. Allez sur un site proposant une PWA
  3. Utilisez la fonction :
    “Partager” → “Ajouter Ă  l’écran d’accueil”
  4. Lancez l’icĂŽne depuis l’écran d’accueil

Vous venez de “installer” une PWA 😉

đŸ’» 2.1.4 Les applications hybrides – Concept

Les applications hybrides :

  • MĂ©langent technologies web et enveloppe native
  • Reposent sur :
    • une base HTML / CSS / JS
    • encapsulĂ©e dans un conteneur natif

Elles peuvent ĂȘtre installĂ©es :

  • depuis les stores (Play Store, App Store)
  • comme des apps classiques

2.1.4 WebView et ponts natifs

Fonctionnement :

  • Le cƓur de l’app tourne dans une WebView
    → un navigateur intĂ©grĂ© Ă  l’app
  • Des ponts natifs (plugins) permettent :
    • d’accĂ©der Ă  la camĂ©ra
    • au GPS
    • aux notifications
    • au stockage local
  • Sans Ă©crire (ou presque) de code natif cĂŽtĂ© dĂ©veloppeur web

2.1.4 Exemple : Ionic + Capacitor

Ionic illustre trĂšs bien le modĂšle hybride moderne :

  • Interface en technos web (HTML, CSS, JS/TS)
  • Utilisation de Capacitor pour :
    • empaqueter l’app pour Android / iOS
    • accĂ©der aux capteurs et fonctionnalitĂ©s natives
  • DĂ©ploiement possible :
    • Android
    • iOS
    • Web

👉 Avec Ionic + Capacitor, on parle souvent d’approche “cross-plateforme à base web”.

2.1.4 Avantages des apps hybrides

  • Un seul code pour plusieurs plateformes
  • RĂ©utilisation des compĂ©tences web
  • Publication simplifiĂ©e sur les stores
  • IdĂ©ales pour :
    • prototypes
    • apps internes
    • outils Ă©ducatifs

2.1.4 Limites des apps hybrides

  • Performance parfois infĂ©rieure, en particulier :
    • animations complexes
    • rendus 3D
  • ExpĂ©rience utilisateur parfois moins homogĂšne
  • DĂ©pendance aux plugins pour accĂ©der aux fonctionnalitĂ©s natives :
    • qualitĂ© variable
    • maintenance Ă  suivre

💬 Bon compromis pour des projets Ă  budget limitĂ© ou des apps mĂ©tiers.

2.1.4 Exemples d’usage hybride

Historiquement, plusieurs grandes apps ont commencé en hybride :

  • Instagram (premiĂšres versions)
  • Uber
  • Twitter

Elles ont ensuite migré :

  • vers le natif pour gagner en performance
  • avec l’augmentation du nombre d’utilisateurs et des exigences UX

Aujourd’hui, beaucoup d’applications mĂ©tiers restent hybrides :

  • coĂ»t maĂźtrisĂ©
  • mise en production rapide

2.1.4 Architecture hybride – SchĂ©ma

SchĂ©ma simplifiĂ© d’une architecture hybride :
Code web → rendu dans une WebView → communique avec les APIs natives via des plugins.

⚛ 2.1.5 Les applications cross-plateformes – Concept

Les applications cross-plateformes (multiplateformes) :

  • reprĂ©sentent aujourd’hui l’une des approches les plus rĂ©pandues
  • cherchent Ă  combiner :
    • la performance du natif
    • la productivitĂ© d’un code unique

Principe :

  • une seule base de code
  • compilĂ©e pour produire de vraies apps Android et iOS
  • sans passer par une simple WebView

2.1.5 Cross-plateforme vs hybride

Contrairement à l’hybride classique :

  • les frameworks cross-plateformes modernes :

    • n’utilisent pas (ou plus vraiment) une WebView centrale
    • affichent des composants natifs ou quasi-natifs
    • gĂšrent eux-mĂȘmes le rendu (ex. Flutter + moteur Skia)

Résultat :
une expérience fluide, souvent trÚs proche du natif pur.

2.1.5 Principaux frameworks cross-plateformes

Framework Langage principal Moteur / Principe
Flutter Dart Moteur graphique Skia, rend lui-mĂȘme l’UI
React Native JavaScript / TypeScript Utilise les composants natifs via un pont
.NET MAUI C# / XAML Compilation native via l’écosystĂšme .NET
Kotlin Multiplatform Kotlin Partage la logique, UI propre Ă  chaque plateforme

2.1.5 Points forts des frameworks cross-plateformes

  • Un seul code source pour plusieurs OS
  • Performance proche du natif
  • UX fluide et cohĂ©rente
  • Maintenance simplifiĂ©e (une base de code)
  • Grandes communautĂ©s (Flutter, React Native, 
)
  • Bon choix pour :
    • startups
    • produits Ă  forte Ă©volution
    • projets multisystĂšmes

2.1.5 Limites du cross-plateforme

  • DĂ©pendance au framework :
    • nĂ©cessitĂ© de suivre les Ă©volutions
  • Taille de l’app parfois plus importante qu’en natif pur
  • Certaines APIs rĂ©centes accessibles plus tardivement
  • Besoin parfois de code natif complĂ©mentaire
  • Courbe d’apprentissage propre Ă  chaque framework

💬 Globalement, c’est un excellent compromis entre performance, rapiditĂ© et coĂ»t.

2.1.5 Hybrid / Cross – Illustration

Schéma comparant les approches Hybrides et Natives

🧼 2.1.6 Comparatif global – Vue d’ensemble

Type                          Langages                    Performance           AccÚs matériel       Publication

Native Kotlin / Swift đŸ”„ Excellente ✅ Complet Stores officiels
Web HTML / CSS / JS ⚠ Moyenne ❌ LimitĂ©e Navigateur
Hybride HTML / JS + plugins ⚙ Bonne ⚠ Partielle (plugins) Stores possibles
Cross-plateforme Dart / JS / C# / Kotlin đŸ’Ș TrĂšs bonne ✅ Large Stores possibles

2.1.6 Comparatif global – CoĂ»t & maintenance

Type d’application Maintenance CoĂ»t estimĂ© Cas d’usage idĂ©al
Native Difficile (2 bases de code) 💰💰💰 Apps critiques, banque, rĂ©seaux sociaux, gros volume d’utilisateurs
Web Trùs facile (1 code) 💰 Sites vitrines, services sans installation
Hybride Moyenne 💰💰 Apps mĂ©tiers, outils Ă©ducatifs, prototypes
Cross-plateforme Plutît facile (1 code) 💰💰 Startups, projets multisystùmes performants

2.1.6 Lecture du tableau

  • Native
    → prioritĂ© Ă  la performance et Ă  la qualitĂ© d’intĂ©gration

  • Web
    → prioritĂ© Ă  la portĂ©e et Ă  la vitesse de dĂ©veloppement

  • Hybride
    → bon compromis pour des projets internes ou Ă  budget limitĂ©

  • Cross-plateforme
    → excellent ratio performance / coĂ»t / maintenance pour la plupart des projets modernes

2.1.6 Comparatif – SchĂ©ma visuel

Illustration des compromis entre coût, performance et portée selon les approches.

đŸ€” 2.1.7 Comment choisir la bonne approche ? (1/2)

CritĂšres principaux :

  1. Public cible

    • Utilisateurs uniquement sur un OS (ex. iOS en entreprise) → natif possible
    • Public mixte Android + iOS → cross-plateforme souvent plus rentable
  2. Objectifs du projet

    • PrioritĂ© performance / UX → Natif
    • PrioritĂ© rapiditĂ© de dĂ©ploiement → Web ou Hybride
    • PrioritĂ© multi-OS → Cross-plateforme

2.1.7 Comment choisir la bonne approche ? (2/2)

  1. Budget et délais

    • Natif = plus cher, plus long (2 codes)
    • Cross / Hybride = mutualisation des coĂ»ts
  2. Compétences disponibles

    • Équipe Ă  dominante web → Hybride ou PWA
    • Équipe logicielle / mobile → Natif ou Cross-plateforme
  3. Maintenance Ă  long terme

    • Une seule base de code → mises Ă  jour plus simples
    • Moins de risques d’incohĂ©rences entre plateformes

2.1.7 Exemple de choix – Cas concret

💡 Cas : une application de covoiturage locale Ă  budget limitĂ©

  • Besoin :
    • multi-plateforme
    • bonne performance
    • UX moderne

Choix typique :
→ Framework cross-plateforme (par ex. Flutter) :

  • un seul code source
  • rendu fluide
  • maintenance simplifiĂ©e

đŸ§© 2.1.8 ActivitĂ©s pĂ©dagogiques – Exercice 1

🧠 Exercice 1 – Identifier les types d’applications

Choisissez 3 applications connues
(ex : Duolingo, YouTube, Instagram).

Pour chacune :

  • DĂ©terminez le type : native, web, hybride ou cross-plateforme
  • Justifiez votre choix en observant :
    • mode d’installation
    • fluiditĂ©
    • fonctionnement hors-ligne
    • compatibilitĂ© multi-appareils

2.1.8 ActivitĂ©s – Exercice 2

⚖ Exercice 2 – Comparatif de solutions

Contexte : application pour un festival de musique :

  • agenda
  • billetterie
  • carte interactive

TĂąches :

  • Comparez Native, Web, et Cross-plateforme
  • Recommandez une approche en fonction :
    • des objectifs
    • du budget
    • du public cible

2.1.8 ActivitĂ©s – Exercice 3

💡 Exercice 3 – Étude de cas client

Vous ĂȘtes en charge d'Ă©tudier l'un de ces trois cas clients. Pour chacun, dĂ©terminez la meilleure approche technique (native, web, hybride, cross-plateforme) en justifiant votre choix. RĂ©pondez aussi aux questions Ă  la fin du cas.

  • HelvBank Mobile

  • AgendaCulturel

  • TechServ Mobile

L’exercice sera discutĂ© en petits groupes, puis prĂ©sentĂ© Ă  l’oral.

🔗 2.1.9 RĂ©fĂ©rences et ressources

đŸȘȘ 2.1 Typologie des applications mobiles

By tirtho

đŸȘȘ 2.1 Typologie des applications mobiles

  • 104