Formation Kotlin : Développer des applications mobiles pour Android en Kotlin
4 JoursDescription de la formation Kotlin
Jetbrains, l’éditeur qui a conçu le langage Kotlin cherchait à apporter tous les avantages d’un langage moderne (flexibilité, richesse, concision, efficacité, robustesse, etc.) tout en restant interopérable avec les standards incontournables comme Java et Javascript (à partir d’un programme Kotlin on peut générer un bytecode Java ou un code source en Javascript).
Bien entendu un projet Android peut inclure à la fois des fichiers Java et Kotlin (supporté officiellement par Google depuis 2017). Cette interoperabilité et le fait que Kotlin supporte toutes les versions d’Android (donc des équipements anciens également) vont favoriser son adoption progressive un peu comme Swift l’a été au détriment d’Objective-C qui n’était pas particulièrement conçu à l’origine, comme Java, spécifiquement pour le développement mobile.
Cependant il faut préciser que Kotlin ne se limite pas au développement mobile et se présente comme un concurrent plus général de Java.
Cette formation Kotlin vous apprendra à développer avec Kotlin sous Android Studio dans le cadre du développement mobile pour les plateformes Android.
Objectifs
Concrètement cette formation Kotlin vous apportera les connaissances et compétences nécessaires pour:
- Savoir développer avec le langage Kotlin
- Créer des interface utilisateurs
- Utiliser les fragments et les activités dans vos interfaces en maîtrisant leurs cycles de vie
- Manipuler les données (chargement, affichage, échanges, web services, …)
- Utiliser les fonctions d’une tablette ou d’un mobile (téléphonie, SMS, géolocalisation, etc.)
- Perfectionner votre maîtrise du langage Kotlin (expression lambda, collections, exceptions, annotations, etc.)
À qui s’adresse cette formation ?
Public :
Ce cours s’adresse aux développeurs et aux chefs de projets.
Prérequis :
Il est nécessaire de connaître les bases d’au moins un langage de programmation objet (Java, C#, C++, etc.).
Contenu du cours Kotlin
Premiers pas avec Kotlin
Pourquoi un nouveau langage pour Android ?
Principales différences avec Java
Syntaxe de base (types, variables, tests, boucles, packages, fonctions)
Classes et variantes (nested, enum, data)
Programmer objet en Kotlin (interfaces, héritage, polymorphisme, etc.)
Délégation
Les génériques
L’environnement de développement Android Studio
Maîtriser le SDK (émulateur, outils, manager, etc.)
Travaux pratiques
Tour d’horizon de la philosophie et syntaxe fondamentale de Kotlin à travers un premier exemple simple et complet d’affichage de texte.
Interfaces utilisateurs
Les View (TextViews, EditText, Buttons, etc.)
Les Layouts (Linear, Relative, Constrainte)
Interaction avec les vues
Les listeners
Les notifications (toast, AlertDialog, Snackbar)
Librairies, support/androidX
Les événements
Travaux pratiques
Création d’une « coquille vide » avec une interface design et agréable pour l’utilisateur
Activités et Fragments
Philosophie et liens entre activités et fragments
La classe Activity : cycle de vie et état
Intents implicites
Les Fragments, cycle de vie (onAttach, onCreate, etc.)
Travaux pratiques
Mise en œuvre d’une application avec plusieurs fragments et une seule activité.
Navigation entre les fragments (NavigationDrawer).
Chargement et affichage de données
Récupération de données via une API (utilisation de Retrofit2)
Présentation des solutions (Room, ORMLite, ActiveAndroid, GreenDao,…)
SQLite
Découverte des libs Google Architecture Component (Room Persistence Library)
Les SharedPreference (clé/valeur)
Stockage interne et externe
Les permissions (déplacé ici)
L’affichage avec ListView, GridView, RecyclerView, etc.
Travaux pratiques
Communication avec une API et stockage de données reçues à l’aide de celle-ci
Echanges de données
Partager des données entre les applications (ContentProvider)
Envoyer et recevoir des événements via les BroadcastReceiver
Manipuler des flux JSON en Kotlin
Implementation de Services
Consommation de web service
Travaux pratiques
Faire communiquer deux applications et partager des données entre celles-ci
Aller plus loin…
La téléphonie et les SMS
Les capteurs
La géolocalisation (API Google, etc.)
Les tâches asynchrones
Versionning via Android Studio
Firebase (NoSQL)
Publication d’une app sur le store
Travaux pratiques
Aspects avancés du langage Kotlin
Qu’est-ce qu’une expression lambda ?
Lambda expression et fonctions anonymes
Améliorer les performances avec les fonctions inline
Les collections/ranges
Variantes sur les opérateurs
Les exceptions
Les annotations
La réflexion
Le type safe builders
Le type Aliases
Travaux pratiques
Travaux Pratiques
Les travaux pratiques représentent 60% de la formation.