Accueil / Formations

Formations

Android avancé : architecture et testabilité Mixte : présentiel / à distance

Dernière mise à jour : 03/12/2021

Type : Stage pratique
Description
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 session prépare au développement d'applications Android en milieu professionnel. Une très grande attention sera portée sur la mise en place de tests unitaires sur les différentes couches de l'application. La présentation et la mise en pratique de concepts d'architecture fondamentaux permettra de voir comment une application Android peut être entièrement conçue et développée en Test Driven Development.

Il sera également question de méthodologie, tant dans l'organisation des équipes, que dans les stratégies d'intégration continue et de déploiement.
Objectifs de la formation
  • Développer une application de manière professionnelle et testée
  • Industrialiser la couche réseau et la persistance
  • Concevoir les différentes couches en Test Driven Development
  • Appliquer des concepts architecturaux avancés
  • Maîtriser son environnement de développement
  • Monter une usine d'intégration continue et piloter les indicateurs de qualité
  • Partager les bonnes pratiques de travail en équipe et de déploiement
Public visé
  • Développeur Android confirmé
  • Architecte
  • Chef de projet technique
Prérequis
Cette formation avancée ne rappellera pas les concepts de bases d'Android. Les participants doivent avoir une bonne maîtrise de la plateforme Android et des langages Kotlin ou Java.
Modalités pédagogiques
Durant les 3 jours de la formation, le développement complet d'une application sera l'occasion d'alterner des apports théoriques et des travaux pratiques. Ceux-ci se dérouleront en binôme ou en coding dojo (tous les développeurs passent tour à tour au clavier pour résoudre un problème ensemble).
Profil du / des Formateur(s)
Toutes nos formations sont animées par des consultants-formateurs expérimentés et reconnus par leurs pairs.
 
Modalités d'évaluation et de suivi
L'évaluation des acquis se fait tout au long de la session au travers des ateliers et des mises en pratique. Une évaluation à chaud sur la satisfaction des stagiaires est réalisée systématiquement en fin de session et une attestation de formation est délivrée aux participants mentionnant les objectifs de la formation, la nature, le programme et la durée de l'action de formation ainsi que la formalisation des acquis.
 
Programme
Jour 1

INTRODUCTION

COUCHE RÉSEAU

  • État 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 : Room
  • Mise en pratique : "Réaliser un CRUD avec Room"

TESTER UNE APPLICATION
  • Tests manuels
  • Tests unitaires
  • Tests d'interface
  • Développement d'une fonctionnalité à partir des tests
  • Mise en pratique : “Calcul d'un score d'une partie de bowling en TDD”

Jour 2

ARCHITECTURE ANDROID MODERNE
  • MVP, MVVM, Redux
  • Principe des différentes couches
  • Présentation du modèle de Clean Architecture

MISE EN PRATIQUE : DÉVELOPPEMENT DES RÈGLES FONCTIONNELLES SELON LE MODÈLE DE CLEAN ARCHITECTURE
  • Création d'un module sans aucune dépendance au framework Android pour la gestion de ces règles Définir les exigences de notre application via des tests unitaires
  • Présentation du concept des mocks pour définir ces exigences
  • Implémenter le code de production nécessaire pour répondre à ces exigences
  • Gestion des erreurs fonctionnelles et techniques par des exceptions
  • Utiliser les fonctionnalités et les raccourcis d'Android Studio pour refactorer le code

MISE EN PRATIQUE : DÉVELOPPEMENT DE LA COUCHE PRÉSENTATION
  • Compréhension de la frontière entre la View et le Presenter
  • Transformation des données en données présentables (ViewModel)
  • Présentation de Robolectric pour tester unitairement des composants Android

Jour 3

MISE EN PRATIQUE : INTÉGRATION DES DIFFÉRENTES COUCHES DÉVELOPPÉES DANS L'APPLICATION
  • Utilisation du pattern Controller
  • Implémentation d'un fournisseur de données bouchonné
  • Injection des dépendances dans les différentes couches créées
  • Intégration et branchement au design définitif de l'application

GESTION DE L'ASYNCHRONISME
  • Présentation des composants JetPack & Kotlin : ViewModel, LiveData et Coroutine
  • Mise en pratique : “Exécuter les méthodes du Controller en asynchrone avec des Coroutines et celles de la View sur le main thread via des LiveData”

EQUIPES MOBILES
  • Retours d'expérience d'organisations multi-équipes
  • Bonnes pratiques méthodologiques : feature flips, A/B testing, release train

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"

DISTRIBUER SUR LE PLAY STORE
  • Préparer et signer un package
  • Maîtriser le Play Store : builds alpha, déploiements progressifs

SYNTHÈSE ET RAPPEL DES POINTS CLÉS DE LA FORMATION
Exposé (%)
30
Pratique (%)
70

M'inscrire à la formation

Cette session se passera en partie à distance et en partie en présentiel
Cette session se passera en partie à distance et en partie en présentiel
Lieu(x) :

Classe virtuelle
Classe virtuelle
Détail des horaires :
Demander un devis
Prochaines Sessions
  • 27/06/22 → 29/06/22 Mixte Classe virtuelle
  • 12/12/22 → 14/12/22 Mixte Classe virtuelle
Dans la même catégorie

Catalogue de formation propulsé par Dendreo,
logiciel spécialisé pour centres et organismes de formation

OCTO Academy respecte votre vie privée

Ce site web stocke des informations vous concernant via le dépôt de cookie afin de mesurer l’audience du site. Ces données de navigation sont anonymisées.

En cliquant sur « OK pour moi », vous manifestez votre consentement pour le dépôt de ces cookies.

Lire la politique de confidentialité

À propos des cookies

Sur ce site, nous utilisons des cookies pour mesurer notre audience, entretenir la relation avec vous et vous adresser de temps à autre du contenu qualitif ainsi que de la publicité. Vous pouvez sélectionner ici ceux que vous autorisez à rester ici.

Cookies