Kotlin par Human Coders
Lieu(x)
En centre (75)
Durée
Total : 21 heures
En centre : 21 heures
Financement
Demandeur d’emploi
Salarié
Prix
Nous contacter
Cette formation vous intéresse ?
Description générale
Jour 1 : Fondamentaux & POO
Introduction
Histoire et raison d'être de Kotlin
Installer l'environnement de développement
Fondamentaux de Kotlin
Type de données
Mutabilité et nullabilité des variables
Contrôle de flux (if / when / while / for)
const
Les fonctions
Les packages
Mise en pratique : création et structure d'un projet Kotlin
Programmation Orientée Objet
Héritage et Polymorphisme
Visibilité des variables
Classe abstraite et Interface
Data Class, Enum Class, Sealed Class
Nested Class et Inner Class
Companion Object
Mise en pratique : manipulation des différents types de Kotlin
Cohabitation avec Java
Appel Java depuis Kotlin
Appel Kotlin depuis Java
Fonctionnement de la chaîne de compilation et limitations
Jour 2 : Le fonctionnel avec Kotlin
Les fonctions en Kotlin
High order function
Lambdas
Fonctions d'extension
let, apply, with, run, use
Implémentation des lambdas et fonction d'extension
Gestion d'erreurs
Exceptions
Préconditions
Différences avec Java
Mise en pratique : Utilisation de la programmation fonctionnelle en Kotlin
Particularités de Kotlin
elvis operator
lazy init vs late init
Collections mutable / immutables, filters, etc
Déstructuration de variables
Getter / Setter et Backing Fields
Mise en pratique : Manipulation des Collections et syntaxe spécifique à Kotlin
Tester avec Kotlin
Mockito Kotlin
Expecting exceptions
Matchers
Test Data
Inspectors
Mise en pratique : Création de tests en TDD
Jour 3 : Notions avancées
Generics
Paramètre de type
Variance & Invariance
Type erasure
Type reified
Mise en pratique : Programmation de classes générique custom
Ecrire un DSL avec Kotlin
Utilisation des lambdas
Utilisation des fonctions d'extension
Le Builder pour construire ses objets
DslMarker pour vérifier la déclaration
Mise en pratique : Projet de DSL
Coroutines
Threads & Coroutines
Exécuter en asynchrones
Notion de Scope
Faire de l'asynchrone en lisant de l'impératif
Mot clé suspend
Mise en pratique : Projet de dispatch d'opération asynchrone
Introduction
Histoire et raison d'être de Kotlin
Installer l'environnement de développement
Fondamentaux de Kotlin
Type de données
Mutabilité et nullabilité des variables
Contrôle de flux (if / when / while / for)
const
Les fonctions
Les packages
Mise en pratique : création et structure d'un projet Kotlin
Programmation Orientée Objet
Héritage et Polymorphisme
Visibilité des variables
Classe abstraite et Interface
Data Class, Enum Class, Sealed Class
Nested Class et Inner Class
Companion Object
Mise en pratique : manipulation des différents types de Kotlin
Cohabitation avec Java
Appel Java depuis Kotlin
Appel Kotlin depuis Java
Fonctionnement de la chaîne de compilation et limitations
Jour 2 : Le fonctionnel avec Kotlin
Les fonctions en Kotlin
High order function
Lambdas
Fonctions d'extension
let, apply, with, run, use
Implémentation des lambdas et fonction d'extension
Gestion d'erreurs
Exceptions
Préconditions
Différences avec Java
Mise en pratique : Utilisation de la programmation fonctionnelle en Kotlin
Particularités de Kotlin
elvis operator
lazy init vs late init
Collections mutable / immutables, filters, etc
Déstructuration de variables
Getter / Setter et Backing Fields
Mise en pratique : Manipulation des Collections et syntaxe spécifique à Kotlin
Tester avec Kotlin
Mockito Kotlin
Expecting exceptions
Matchers
Test Data
Inspectors
Mise en pratique : Création de tests en TDD
Jour 3 : Notions avancées
Generics
Paramètre de type
Variance & Invariance
Type erasure
Type reified
Mise en pratique : Programmation de classes générique custom
Ecrire un DSL avec Kotlin
Utilisation des lambdas
Utilisation des fonctions d'extension
Le Builder pour construire ses objets
DslMarker pour vérifier la déclaration
Mise en pratique : Projet de DSL
Coroutines
Threads & Coroutines
Exécuter en asynchrones
Notion de Scope
Faire de l'asynchrone en lisant de l'impératif
Mot clé suspend
Mise en pratique : Projet de dispatch d'opération asynchrone
Objectifs
Comprendre et écrire du code Kotlin
Connaître la bibliothèque standard Kotlin
Faire de l'asynchrone avec les Coroutines
Ecrire son propre DSL en Kotlin
Connaître la bibliothèque standard Kotlin
Faire de l'asynchrone avec les Coroutines
Ecrire son propre DSL en Kotlin
Centre(s)
- Paris - 12ème (75)
Secteur(s)
Métier(s)
- Analyste cogniticien / cogniticienne informatique
- Analyste concepteur / conceptrice informatique
- Analyste d'application
- Analyste d'étude informatique
- Analyste de gestion informatique
- Analyste décisionnel - Business Intelligence
- Analyste développeur / développeuse
- Analyste en cybersécurité
- Analyste fonctionnel / fonctionnelle informatique
- Analyste organique informatique
- Analyste responsable d'application informatique
- Analyste réseau informatique
- Analyste télématique
- Analyste-programmeur / Analyste-programmeuse d'étude informatique
- Analyste-programmeur / Analyste-programmeuse de micro-informatique
- Analyste-programmeur / Analyste-programmeuse en informatique industrielle
- Analyste-programmeur / Analyste-programmeuse gestion informatique
- Analyste-programmeur / Analyste-programmeuse informatique
- Analyste-programmeur / Analyste-programmeuse scientifique informatique
- Assistant / Assistante chef de projet informatique
- Chef de groupe logicien informaticien
- Chef de projet TMA - Tierce Maintenance Applicative
- Chef de projet maîtrise d'oeuvre informatique
- Chef de projet étude et développement informatique
- Concepteur / Conceptrice d'application informatique
- Concepteur / Conceptrice informatique
- Concepteur / Conceptrice logiciel informatique
- Didacticien / Didacticienne informatique
- Développeur / Développeuse Big Data
- Développeur / Développeuse back-end
- Développeur / Développeuse d'application
- Développeur / Développeuse de logiciel de simulation optique et réalité virtuelle
- Développeur / Développeuse de sécurité des systèmes d'information
- Développeur / Développeuse décisionnel - Business Intelligence
- Développeur / Développeuse front-end
- Développeur / Développeuse full-stack
- Développeur / Développeuse informatique
- Développeur / Développeuse jeux vidéo
- Développeur / Développeuse logiciel de réalité augmentée
- Développeur / Développeuse multimédia
- Développeur / Développeuse web
- Développeur / Développeuse web mobile
- Homologateur / Homologatrice logiciel
- Informaticien / Informaticienne analyste
- Informaticien / Informaticienne d'application
- Informaticien / Informaticienne de développement
- Informaticien chargé / Informaticienne chargée d'étude
- Ingénieur / Ingénieure analyste en système d'information
- Ingénieur / Ingénieure analyste informatique
- Ingénieur / Ingénieure d'analyse et de programmation en informatique de gestion
- Ingénieur / Ingénieure d'application informatique
- Ingénieur / Ingénieure d'intégration applicative
- Ingénieur / Ingénieure d'étude en applications scientifiques informatiques
- Ingénieur / Ingénieure d'étude en informatique de gestion
- Ingénieur / Ingénieure d'étude et développement informatique
- Ingénieur / Ingénieure d'étude informatique
- Ingénieur / Ingénieure d'étude logiciel informatique
- Ingénieur / Ingénieure de conception informatique
- Ingénieur / Ingénieure de développement informatique
- Ingénieur / Ingénieure de réalisation informatique
- Ingénieur / Ingénieure développement logiciel informatique
- Ingénieur / Ingénieure en développement d'applications
- Ingénieur / Ingénieure informatique développement en temps réel
- Ingénieur / Ingénieure logiciel informatique
- Ingénieur / Ingénieure programme informatique
- Ingénieur analyste-programmeur / Ingénieure analyste-programmeuse
- Ingénieur concepteur / Ingénieure conceptrice informatique
- Ingénieur informaticien / Ingénieure informaticienne
- Intégrateur / Intégratrice d'application informatique
- Lead programmeur / programmeuse - jeux vidéo
- Paramétreur / Paramétreuse logiciel ERP
- Programmeur / Programmeuse d'applications
- Programmeur / Programmeuse d'études
- Programmeur / Programmeuse de maintenance informatique
- Programmeur / Programmeuse informatique
- Programmeur / Programmeuse jeux vidéo
- Programmeur / Programmeuse logiciel de base informatique
- Programmeur industriel / Programmeuse industrielle
- Responsable d'application informatique
- Responsable d'atelier de génie logiciel
- Responsable d'étude informatique
- Responsable de gestion de configuration
- Responsable de projet informatique
- Responsable des développements informatiques
- Scrum Master
- Technicien / Technicienne programmation
- Testeur / Testeuse informatique
- Webmaster
- Webmaster développeur / développeuse
Compétence(s)
- Algorithmique
- Animation d'instances agiles (mêlée, démonstration, rétrospective, …)
- Architecture d'applications
- Architecture des systèmes d'information
- Architecture propriétaire
- Architecture web
- Business Intelligence (BI) / Informatique décisionnelle
- Comptabilité générale
- Finance
- Formalisation de processus de gestion
- Gestion commerciale, relation clients
- Gestion de configuration
- Gestion de production
- Gestion de projet
- Gestion des Ressources Humaines
- Informatique de gestion
- Informatique industrielle
- Informatique scientifique et technique
- Langage informatique ASP.NET
- Langage informatique Ada
- Langage informatique Apache
- Langage informatique AutoItScript
- Langage informatique Basic
- Langage informatique C#
- Langage informatique C/C++
- Langage informatique CSS
- Langage informatique Cobol
- Langage informatique Delphi
- Langage informatique Fortran
- Langage informatique HTML
- Langage informatique J2EE
- Langage informatique J2ME
- Langage informatique Java
- Langage informatique Lisp
- Langage informatique PHP
- Langage informatique Pascal
- Langage informatique Perl
- Langage informatique Prolog
- Langage informatique Python
- Langage informatique Ruby
- Langage informatique SQL
- Langage informatique Script Shell
- Langage informatique VB.NET
- Langage informatique Visual Basic
- Langage informatique WLangage
- Langage informatique XML
- Langages de programmation informatique
- Marketing / Mercatique
- Matériel de contrôle embarqué
- Modélisation informatique
- Méthode AGILE
- Méthodologie SAFe
- Méthodologie Scrum
- Principes d'intégration de matériels et de logiciels
- Process et procédures d'achats
- Procédures d'appels d'offres
- Produits multimédia
- Progiciels de Gestion Intégrée (PGI) / Enterprise Resource Planning (ERP)
- Programmation informatique
- Programmation logicielle
- Protocoles et normes télécoms
- Publication Assistée par Ordinateur (PAO)
- Règles de sécurité Informatique et Télécoms
- Réseaux informatiques et télécoms
- Système KANBAN
- Système LEAN
- Système embarqué
- Systèmes d'exploitation informatique
- Technologies de l'accessibilité numérique
Formation proposée par : Human Coders
À découvrir