Développement Mobile & Flutter (IGL241)
Thème :
Junior
1 vues ·3/19 leçonsChapitre 3 : Architectures Android, iOS et Processus de Publication
I. Android : Architecture Interne
Android est un système d’exploitation Open Source basé sur Linux. En tant que plateforme, son exécution repose sur 4 grandes couches architecturales :
- Le Noyau Linux (Linux Kernel) : Sert de pont de bas niveau entre le système d’exploitation et le hardware pur du téléphone. Il s’occupe de la gestion de la sécurité, de la mémoire, de l’énergie et abrite les pilotes matériels (audio, caméra, wifi).
- Les Bibliothèques Android Runtime (Execution Engine) :
- Comporte des bibliothèques originelles (écrites en C/C++) comme OpenGL (pour la 3D) ou WebKit.
- Contient l’environnement d’exécution de l’application (Historiquement la machine virtuelle Dalvik, remplacée par l’Android Runtime - ART). ART compile l’application de manière anticipée (Ahead-of-Time) lors de son installation pour accélérer l’exécution et économiser la batterie du terminal.
- Le Framework Applicatif (Application Framework) :
L’espace où les développeurs travaillent en permanence. Il expose des classes Java/Kotlin permettant d’accéder aux fonctions du téléphone. (Exemples :
Activity Manager,Location Manager,Notification Manager). - Les Applications : La couche supérieure visible, incluant les applications natives pré-installées (téléphone, SMS, calendrier) et les applications tierces téléchargées.
II. iOS : Architecture et Principes
L’OS développé par Apple s’appuie massivement sur une fondation Unix fermée (Darwin/XNU) et utilise des concepts très proches du système d’exploitation Mac (macOS).
- L’IDE Officiel et les Langages : Le développement exclusif iOS s’effectue obligatoirement sur l’outil Xcode (sur machine macOS impérativement). Les langages historiques (Objective-C) ont cédé presque toute la place à Swift (moderne, rapide et sécurisé).
- L’Architecture MVC à VIPER : Le développement iOS reposait initialement sur le patron structurel Modèle-Vue-Contrôleur (MVC). Les applications modernes (depuis SwiftUI) évoluent massivement vers des modèles comme le MVVM (Model-View-ViewModel) ou VIPER (très modulaire et parfait pour les tests techniques rigoureux).
III. Le Processus de Publication et de Déploiement
Amener son application finale de l’ordinateur jusqu’aux appareils des utilisateurs requiert un processus strict.
Côté Google (Play Store)
- Coût d’entrée : Création du compte Google Play Developer (25$, frais unique à vie).
- Packaging : Le développeur génère l’exécutable sous forme d’AAB (Android App Bundle) qui remplace l’ancien format APK. Le format AAB permet aux serveurs de Google d’alléger le téléchargement en envoyant au joueur uniquement le code adapté spécifiquement à la résolution de son téléphone cible.
- Validation : Un processus de contrôle hybride (tests algorithmiques de malwares + tests humains) vérifie l’application.
Côté Apple (App Store)
- Coût d’entrée : L’Apple Developer Program coûte 99$ par an (frais récurrents).
- Contrôle strict : La revue par Apple est stricte et contraignante. L’interface utilisateur, la qualité globale, et l’architecture du code sont vérifiées de très près pour s’assurer que l’application respecte les Human Interface Guidelines avant une publication planifiée (
App Store Connect).
Prêt à passer à la suite ?
Vous avez terminé cette leçon sur Chapitre 3 : Architectures Android, iOS et Processus de Publication. Continuez votre apprentissage avec la prochaine leçon ou explorez d'autres formations.