Jour 1
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
Jour 2
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 »
Jour 3
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 »
Jour 4
ÉQUIPES 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 »