Notes de cours : 27/10/2024
Différence entre développement mobile et développement web
Limitation des ressources : Contraintes au niveau du CPU et de la
mémoire. Bien que la gestion de la mémoire soit partiellement
maîtrisable, le CPU reste une limitation majeure.
Contrainte de refroidissement du mobile.
Pour compenser la limitation du CPU, il est recommandé d’effectuer le
traitement côté serveur (pose cependant des problèmes pour la gestion
de l'offline).
Gestion offline : Utilisation de SQLite comme base de données
embarquée.
Valeurs ajoutées d’une application mobile
1. Offline
2. Sécurité : Utilisation de Mercury Framework pour renforcer la sécurité.
3. Internationalisation : Prise en charge du multilingue.
Étude de risque
💡 L'étude de risque est essentielle avant le développement d’une application
mobile.
Contraintes du développement mobile
1. Ressources limitées (notamment CPU).
2. Autonomie de la batterie :
o Les applications consommatrices incluent le streaming, les jeux, et
les applications en arrière-plan.
o Deux types d’applications :
Application activité : Fonctionne au premier plan.
Application service : Fonctionne en arrière-plan.
o Certaines applications comme Facebook ou WhatsApp combinent
activité et service (exemple : notifications).
o Justification nécessaire pour développer des applications
gourmandes en ressources.
3. Interface utilisateur (UI) :
o Gestion de la variance de taille d’écran (applications
responsives).
o Éviter les formulaires complexes.
o Privilégier l’auto-complétion.
o Prendre en compte la rotation de l’écran.
4. Connexion au réseau mobile :
o Restriction de mobilité géographique.
o Prise en compte de l’aspect prépayé.
o Gestion de l'offline.
o Mises à jour : Préférer leur téléchargement uniquement via Wi-Fi.
Types d'applications mobiles
Applications natives
Android : Java, Kotlin
iOS : Swift, Objective-C
Développées pour une plateforme spécifique (mono-plateforme).
Utilisent un code natif compilé.
Sidenote : Lors du développement Android, le code Java est d'abord compilé en bytecode sous forme de
fichiers .class. Ces fichiers sont ensuite convertis en .dex (Dalvik Executable) à l'aide de l'outil dx du SDK
Android.
Le fichier .dex optimise l’application en :
Fusionnant plusieurs classes dans un seul fichier pour réduire la duplication.
Améliorant les performances avec une gestion efficace de la mémoire.
La DVM exécute ces fichiers .dex de manière fluide sur des appareils mobiles. Depuis Android 5.0, ART
(Android Runtime) a remplacé la DVM pour de meilleures performances en utilisant la compilation ahead-of-
Avantages :
1. Optimales : Accès direct aux périphériques (caméra, etc.) grâce au SDK.
2. Légères : Consomment moins de ressources.
3. Widgets adaptés : Gestion efficace du canvas d'affichage et des
événements.
4. Répondent bien aux besoins UI, UX, UT.
Inconvénients :
Coût élevé : Nécessite deux développements distincts (Android et iOS).
Applications Web mobiles hybrides
Exemple : IONIC
Développement multi-plateforme.
Avantages :
Moins coûteuses.
Inconvénients :
Lourdes : Utilisation intensive de plugins.
Ne répondent pas complètement aux besoins UI, UX, UT.