Depuis son lancement en 2008, le système d’exploitation de Google a connu de nombreuses mutations et se positionne comme l’OS mobile le plus répandu au monde. Parallèlement, la plateforme Android est devenue un système techniquement mature et sur lequel s’appuient de très larges projets. Développer aujourd’hui pour Android requiert un savoir-faire et une méthodologie particulière. Cette formation d'OCTO Academy prépare au développement d’applications Android en milieu professionnel : multi-équipes et multi-projets avec des pratiques industrielles.
Formation alternant des apports théoriques, des retours d’expérience du formateur ainsi que des travaux pratiques et des mises en situation.
4 jours (28 heures)
INTRODUCTION
Présentation de la plateforme Android
Contraintes et enjeux
ERGONOMIE ET DESIGN
Découvrir le concept de Material Design
Identifier les changements introduits par Lollipop et M
Savoir optimiser pour différentes tailles d’écran
Maitriser les styles et les thèmes
Widgets
SDK INTERFACE UTILISATEUR
Quand utiliser les Activités ou les Fragments ?
Maitriser les subtilités des Fragments
Réutilisabilité des composants graphiques
Les composants incontournables Open Source
Mise en pratique : « Créer un composant graphique réutilisable »
ANIMATIONS
Principe et sémantique des animations
Mise en pratique : « Animer l’apparition d’un écran maitre-détail »
DÉVELOPPER POUR ANDROID WEAR
Présentation de la plateforme
Guidelines ergonomiques
Architecture de communication
COUCHE RÉSEAU
Etat de l’art des principaux frameworks réseau
Bonnes pratiques sur la gestion du cache
Mise en pratique : « Faire des appels réseau avec Retrofit »
PERSISTANCE DES DONNÉES
Architecture ORM
Nouvelles bases : Realm
Mise en pratique : « Réaliser un CRUD avec Realm »
SÉCURITÉ
Permissions Android
Sécuriser le stockage des données
Sécuriser les communications réseau
Mise en pratique : « Sécuriser un build de production avec Proguard »
BUILD ET PACKAGING
Historique des outils
Zoom sur Maven
Zoom sur Gradle
Mise en pratique : « Simplifier une application existante avec Gradle »
ARCHITECTURE ANDROID MODERNE
MVC, MVVM, MVP
Gestion des erreurs et des exceptions
Injection de dépendance
Bonnes pratiques
Mise en pratique : « Monter une architecture MVVM »
TESTER UNE APPLICATION
Tests manuels
Tests unitaires
Tests d’interface
Mise en pratique : « Tester ses écrans avec Espresso »
AUTOMATISER LE BUILD
Choisir les outils pour l’intégration continue
Différents jobs : continu, nightly, release
Mesurer la qualité
Mise en pratique : « Automatiser un build dans le Cloud »
EQUIPES MOBILES
Enjeux du multiplateforme
Retours d’expérience d’organisations multi-équipes
Bonnes pratiques méthodologiques : feature flags, A/B testing, release train
Mise en pratique : « Feature flipper une application »
MULTI PROJETS
Partager des composants inter-applications
Architectures multi-applications Android
INTÉGRER DES SDKS
Enjeux d’intégration de code tiers
Multidex
Outils d’analytics
Outils de reporting de crash
Mise en pratique : « Collecter un crash avec Crashlytics »
NOTIFICATIONS PUSH
Principes d’architecture Push
Google Cloud Messaging
Customisation des Pushs
Ongoing notifications
DISTRIBUER SUR LE PLAY STORE
Préparer et signer un package
Mise en pratique : « Maitriser le Play Store : builds alpha, déploiements progressifs »