Développer des applications Android avec Kotlin
Programme
Historique
- Pourquoi Kotlin ?
- Les « défauts » de Java
- L’esprit Kotlin
- Installer l’environnement
- Créer son premier projet
Concepts et syntaxe
- Classe et Fonction
- Variable et propriétés
- Types de base
- Strings
- String template (interpolation)
- Package
- Modificateurs de visibilité
- Paramètre
- Valeur par défaut
- Arguments nommés
- Propriétés, getters et setters
- Constructeurs
- Le type Any
- Le type Unit
- if
- when
- Appels multiples (with)
- for
- while / do while
- ranges
- Gestion du null
- Test de type
- Conversion de type
- Comparaison
Concepts objets avancés
- Classe de donnée (data class)
- Héritage
- Redéfinition de méthode
- Redéfinition de propriétés
- Mot clé « super »
- Classes anonymes
- Singleton
- Opérateurs et surcharge
- Opérateurs disponibles
- Héritage et interface
- Exception
- Checked Exceptions ?
- Try, catch, finally…
- Le type Nothing
- Objet compagnon
- Interface et délégation
- Collections
- Type générique
Concepts fonctionnels
- Lambda
- Le mot clé « it »
- Valeur de retour
- Imbrications et labels
- Lambdas et Collection
- Opérations d’agrégation
- Opérations de mapping
- Opérations de filtrage
- Opérations d’éléments
- Opérations de génération
- Récursivité terminale (tailrec)
- Référence de fonction
- Closure
- Déclaration déstructurée
- Variable « underscore » ( _ )
Concepts avancés
- lateinit
- Delegated properties
- Lazy Properties
- Observable properties
- Alias
- Notation infixée
- Classes imbriquées
- Classes énumérées (enum)
- Classes scellée (sealed)
- Extension par décoration
- Lambdas avec receveur
- Librairie standard – let
- Librairie standard – run
- Librairie standard – also
- Librairie standard – apply
- Librairie standard – with
- Inline / Noinline
- Réflexion
- Annotation
- reified
- Builder
- Coroutine (expérimental)
Intégration Java
- Avantages de Kotlin sur Java
- Appeler du code Java depuis Kotlin
- Appeler du code Kotlin depuis Java
Intégration Android
- Utiliser Kotlin pour Android
- Coroutines sur Android
- La librairie Anko
- Anko – Commons
- Anko – Layouts
- Anko – SQLite
- Anko – Coroutines