Kotlin Programmeren
Lesgeld
Cursus Kotlin Programmeren Intro
De cursus Kotlin Programmeren biedt een uitgebreide introductie in de wereld van de Kotlin programmeertaal. In deze cursus worden belangrijke kenmerken van Kotlin behandeld, waaronder de syntax vereenvoudigingen ten opzichte van Java. Ook wordt besproken dat Kotlin code niet alleen naar Java kan worden gecompileerd, maar ook naar JavaScript of native code. Hierdoor is Kotlin een veelzijdige taal die in verschillende omgevingen kan worden ingezet.
Cursus Kotlin Programmeren Intro
De cursus Kotlin Programmeren biedt een uitgebreide introductie in de wereld van de Kotlin programmeertaal. In deze cursus worden belangrijke kenmerken van Kotlin behandeld, waaronder de syntax vereenvoudigingen ten opzichte van Java. Ook wordt besproken dat Kotlin code niet alleen naar Java kan worden gecompileerd, maar ook naar JavaScript of native code. Hierdoor is Kotlin een veelzijdige taal die in verschillende omgevingen kan worden ingezet.
Language Syntax
Vervolgens wordt ingegaan op de taal syntax van Kotlin. Belangrijke onderwerpen zijn type inference, mutable en immutable variabele declaraties, if en when expressions, ranges, loops en iterators. Deze elementen zijn cruciaal voor het begrijpen van de structuur en logica van de Kotlin taal.
Classes en Objects in Kotlin
Wat betreft objectgeoriënteerd programmeren komen in de cursus class initialization, primary en secondary constructors, final en open classes, abstract classes en interfaces aan de orde. Ook wordt ingegaan op data classes waarbij methodes zoals equals, toString en hashCode automatisch worden gegenereerd. Dit maakt het werken met objecten in Kotlin efficiënter en overzichtelijker.
Functies in Kotlin
Kotlin ondersteunt ook functioneel programmeren. Onderdeel van het programma zijn lambda functies, higher order functions, het doorgeven van functies als parameter en het retourneren van functies. Daarnaast wordt aandacht besteed aan extension methods, destructuring declarations, nested functies en het uitpakken van parameters met de spread operator. Deze functies bieden ontwikkelaars krachtige tools voor het schrijven van flexibele en herbruikbare code.
Collections en Generics in Kotlin
Eveneens wordt het Collection Framework in Kotlin behandeld, dat ondersteuning biedt voor mutable en immutable collections en sequences met lazy evaluation. Geparametriseerde types met generics passeren dan de revue en er wordt ingegaan op delegation in Kotlin met lazy en observable properties. Dit maakt het mogelijk om complexe dataverzamelingen efficiënt te beheren.
Coroutines in Kotlin
Tenslotte wordt aandacht besteed aan het gebruik van coroutines in Kotlin. Deze worden beschouwd als lichtgewicht threads en zijn uitstekend geschikt voor asynchrone afhandeling. Het begrijpen van coroutines is essentieel voor het ontwikkelen van moderne applicaties die efficiënt moeten omgaan met verschillende taken en processen.
Voor meer informatie over Kotlin en gerelateerde technologieën, kunt u de officiële site van Kotlin bezoeken. Ook kan de cursus iOS Development met Swift UI interessant voor u zijn.
Doelgroep Cursus Kotlin Programmeren
De cursus Kotlin Programmeren is bedoeld voor developers die willen leren hoe Kotlin zich onderscheidt van Java en willen leren programmeren in Kotlin.
Voorkennis training Kotlin Programmeren
Om aan deze cursus deel te nemen is ervaring met programmeren vereist. Kennis van programmeren in Java is bevorderlijk voor de begripsvorming.
Uitvoering cursus Kotlin Programmeren
De theorie wordt behandeld aan de hand van presentaties. Illustratieve demo’s worden gebruikt om de behandelde concepten te verduidelijken. Er is voldoende gelegenheid om te oefenen en afwisseling van theorie en praktijk. De cursustijden zijn van 9.30 tot 16.30.
Certificering cursus Kotlin Programmeren
De deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat Kotlin Programmeren.
Modules
Module 1 : Kotlin Intro
- What is Kotlin?
- Variables
- Type Inference
- Kotlin Characteristics
- Null Handling
- Safe Call Operator
- Properties
- Custom Accessors
- Kotlin Exceptions
- Kotlin versus Java
- Interoperability
- Run as ECMAScript
- Potential Downsides
Module 2 : Language Syntax
- Packages and Imports
- Default Imports
- Basic Types
- Boxing
- Explicit Conversions
- Characters
- Arrays
- If and When Expressions
- Loops and Iterators
- Ranges
- Jumps and Labels
- Elvis Operator
- !! Operator
Module 3 : Classes and Objects
- Kotlin Class Initialization
- Property Settings
- Inheritance
- Calling Base Constructors
- Secondary Constructors
- Visibility Modifiers
- Abstract Classes and Interfaces
- Nested and Inner Classes
- Data Classes
- Destructuring Declarations
- Sealed Classes
- Kotlin Objects
- Companion Objects
Module 4 : Functions
- Function Scope
- Local Functions
- Extension Functions
- Static Resolvement
- Extension Properties
- Recursive Functions
- Kotlin Tail Recursion
- Higher Order Functions
- Lambda Expressions
- Closures
- Infix Functions
- Operator Functions
- Scope Functions
Module 5 : Collections
- Collection Types
- Immutable Collections
- Mutable Collections
- Collection Hierarchy
- Iterators
- Ranges and Progressions
- Sequences
- Common Operations
- Write Operations
- Transformations
- Filtering
- Plus and Minus
- Grouping
Module 6 : Generics
- Generic Classes
- Generic Functions
- Type Inference
- PECS Principle
- out Keyword
- in Keyword
- Type Projections
- Subtype to Supertype
- Variances
- Covariance
- Contravariance
- Star Projections
- Generic Constraints
Module 7 : Delegation
- Delegation Design Pattern
- by Keyword
- Inheritance Alternative
- Delegated Properties
- Lazy Properties
- Property as Input
- Return Type as Lazy
- Observable Properties
- Standard Delegates
- Properties in Map
- Local Delegated Properties
- Delegate Requirements
- Translation Rules
Module 8 : Interoperability
- Calling Java from Kotlin
- Calling Static Methods
- Using Java Collection
- Reserved Words in Kotlin
- Calling Kotlin in Java
- Calling Kotlin Functions
- Calling Extension Functions
- Using Mutable Collections
- Immutable Collections
- Files with JVM Annotation
- Functions with JVM Annotation
- Calling Kotlin Class
- Calling Kotlin Singleton
Module 9 : Coroutines
- What are Coroutines?
- Concurrency Pattern
- Light-weight Threads
- Coroutine Scope
- launch Method
- Blocking versus non-Blocking
- Structured Concurrency
- Scope Builder
- Global Coroutines
- Cancelation and Timeout
- Coroutine Context
- Channels
- Asynchronous Flow