Ă la fin de ce chapitre, vous serez capables de :
Selon le rĂ©fĂ©rentiel du module, on distingue 4 grands types dâapplications :
Les approches hybrides ont servi de transition historique vers les solutions cross-plateformes modernes
Aujourdâhui, des frameworks comme Ionic utilisent :
đ On parle dĂ©sormais plus volontiers de âcross-plateforme Ă base webâ que dâhybride classique.
Lâunivers mobile repose sur plusieurs plateformes :
Chaque environnement a :
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 :
Pour répondre à ces enjeux, plusieurs approches sont apparues :
đĄ Il nâexiste pas de âmeilleureâ approche universelle :
le bon choix dépend du contexte du projet, du budget et du public cible.
Les applications natives sont dĂ©veloppĂ©es spĂ©cifiquement pour un systĂšme dâexploitation :
Elles sont compilées pour chaque OS et publiées sur :
Les apps natives :
Exemples typiques :
Points communs :
Inconvénients principaux :
â Choix privilĂ©giĂ© quand la performance, la stabilitĂ© et lâintĂ©gration systĂšme sont prioritaires.
Les applications web mobiles :
En pratique, ce sont des sites web optimisĂ©s pour lâaffichage mobile.
Principaux avantages :
Limitations :
Quelques exemples :
Adaptés pour :
Les Progressive Web Apps (PWA) cherchent à dépasser les limites du web classique.
Caractéristiques :
Une PWA peut :
đŻ Objectif : offrir une expĂ©rience proche dâune app,
tout en restant plus simple et moins coûteuse à développer.
Exemple concret :
Fait intéressant :
đ§Ș Mini-expĂ©rience (si le service est disponible) :
Vous venez de âinstallerâ une PWA đ
Les applications hybrides :
Elles peuvent ĂȘtre installĂ©es :
Fonctionnement :
Ionic illustre trĂšs bien le modĂšle hybride moderne :
đ Avec Ionic + Capacitor, on parle souvent dâapproche âcross-plateforme Ă base webâ.
đŹ Bon compromis pour des projets Ă budget limitĂ© ou des apps mĂ©tiers.
Historiquement, plusieurs grandes apps ont commencé en hybride :
Elles ont ensuite migré :
Aujourdâhui, beaucoup dâapplications mĂ©tiers restent hybrides :
SchĂ©ma simplifiĂ© dâune architecture hybride :
Code web â rendu dans une WebView â communique avec les APIs natives via des plugins.
Les applications cross-plateformes (multiplateformes) :
Principe :
Contrairement Ă lâhybride classique :
les frameworks cross-plateformes modernes :
Résultat :
une expérience fluide, souvent trÚs proche du natif pur.
| 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 |
đŹ Globalement, câest un excellent compromis entre performance, rapiditĂ© et coĂ»t.
Schéma comparant les approches Hybrides et Natives
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 |
| 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 |
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
Illustration des compromis entre coût, performance et portée selon les approches.
CritĂšres principaux :
Public cible
Objectifs du projet
Budget et délais
Compétences disponibles
Maintenance Ă long terme
đĄ Cas : une application de covoiturage locale Ă budget limitĂ©
Choix typique :
â Framework cross-plateforme (par ex. Flutter) :
Choisissez 3 applications connues
(ex : Duolingo, YouTube, Instagram).
Pour chacune :
Contexte : application pour un festival de musique :
TĂąches :
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.
Google Developers â Android Studio
https://developer.android.com/studio
Apple Developer â Xcode & Swift
https://developer.apple.com/xcode/
Ionic Framework (v8)
https://ionicframework.com/docs
Capacitor (v7)
https://capacitorjs.com/docs
Flutter (Google)
https://flutter.dev
React Native (Meta)
https://reactnative.dev
.NET MAUI (Microsoft)
https://learn.microsoft.com/en-us/dotnet/maui/
Mozilla MDN â Progressive Web Apps
https://developer.mozilla.org/docs/Web/Progressive_web_apps