4 days course
Kotlin Development
Kotlin is an object-oriented language that can run equally well on the Java Virtual Machine or natively on the operating system. Kotlin is also a functional language, and combines the features and benefits of OO and functional programming. This course provides a fast-paced introduction to the language for developers with experience Java or similar languages (e.g., C# or C++), and then delves deeper into idiomatic uses of Kotlin in practice. The course also shows how to use Kotlin Multiplatform to implement a common codebase that can run on any platform.
Participantprofil
This course is for experienced developers using Java or a similar contemporary object-oriented language (e.g C# or C++).
Outcome
- Writing and running Kotlin programs
- Object orientation in Kotlin
- Functional programming in Kotlin
- Implementing Domain-Specific Languages
- Using concurrency
- Best practices and advanced techniques
Course content
Introduction to Kotlin
- Overview of Kotlin
- Kotlin tools
- Writing a simple Kotlin program
- Using the interactive shell
- Using the online playground
Core Kotlin Syntax
- Types and variables
- Literals; Decision making and looping
- Exceptions; Enumerations
- Regular expressions
Functions
- Class-level and top-level functions
- Local functions
- Extension functions and properties
- Variable-argument functions
Object-Oriented Programming in Kotlin
- Classes and objects
- Properties, getters and setters
- Open, final, and abstract modifiers
- Construction techniques
- Data classes
- Class delegation and the “by” keyword; Singleton objects
A Closer Look at Kotlin Types
- Nullability
- Primitive types
- Nullable primitives
- Collections
- Arrays
Kotlin Techniques
- Loops and iterators
- Destructuring
- Delegated properties
- Operator overloading
Functional Programming
- Overview of functional programming
- Lambdas and member references
- Functional APIs and collections
- Lazy collection operations
Going Further with Functional Programming
- Higher-order functions
- Inlining; Control flow
Domain-Specific Languages
- Overview of DSLs
- Using lambdas and receivers in DSLs
- Best practices
The Kotlin Type System: Generics
- Constraints
- Covariance and contravariance
- Defining and using annotations
- Reflection
Concurrency
- Creating and synchronizing threads
- Callbacks
- Futures
- Coroutines and channels
Instructor
Andy is a freelance instructor and consultant based in the UK, with more than 30 years experience in the industry across a wide range of technologies and platforms. Andy began his professional career in C and migrated through C++, Java, .NET and other languages and toolsets as the years passed by. Andy is currently actively involved in contemporary systems development techniques including microservice architecture, cloud-based systems, and containerisation.Do you have any course related questions, please contact
- Mette Rosenløv Vad
- Konsulent
- +45 72202432