About the course
Our Advanced Kotlin training course will take your existing development skills up a notch, taking in Coroutines, testing tools and techniques, web services with Ktor, and reactive programming with RxKotlin.
This course can be combined with topics from our Intro to Kotlin course and / or Kotlin for Android course to build a comprehensive training programme for people new to these technologies.
As with all our courses, we offer this as a remote virtual instructor-led workshop, giving you the flexibility to 'slice and dice' a custom training solution to meet your team's needs, taking into account learning goals, on-going projects, and working-from-home considerations.
Online and in-house face-to-face options are available - as part of a wider customised training programme, or as a standalone workshop, on-site at your offices or at one of many flexible meeting spaces in the UK and around the World.
-
- Coroutines
- Kotlin Testing
- Ktor REST services
- RxKotlin & Reactive Programming
- RxKotlin Subjects and Operators
-
Developers who are looking to extend their Kotlin programming capabilities.
-
Delegates should have attended our Intro to Kotlin training course or have equivalent experience with Kotlin.
-
This advanced Kotlin course is available for private / custom delivery for your team - as an in-house face-to-face workshop at your location of choice, or as online instructor-led training via MS Teams (or your own preferred platform).
Get in touch to find out how we can deliver tailored training which focuses on your project requirements and learning goals.
-
Welcome
Course Overview
Introduction to the course
Course Outline
Trainer and Delegate Introductions
Coroutines
Why Asynchronous Programming and Asynchronous Execution
What are Threads?
Problems with Threading
Coroutines
Implementing Coroutines
Coroutine Scope
Coroutine Dispatchers
Coroutine Builders
Suspend Functions
Coroutine Channels
Coroutine Jobs
Coroutine Channel Communications
Simple Channel Example
Multiple Senders
Multiple receivers
Buffered Channels
Kotlin Testing
JUnit Test Framework
Terminology
Configuring JUnit with Maven and Gradle
Locating the Tests
Conventions for tests
Sample Kotlin test
Assertions
Fixtures
Test Order and Parameterized tests
Factory tests
Exception Testing
Mocking
Ktor
RESTFul services
What is Ktor?
Using Ktor with Kotlin
Steps for building a Ktor service
Setting up the embedded server
Configuring Jackson JSON converter
Configuring routing requests
Example application using GET
Working with POST, PUT and DELETE
RxKotlin
What is Reactive Programming?
The ReactiveX Project
The Observer Pattern
Hot and Cold Observables
Advantages & Disadvantages of Reactive Programming
RxKotlin Reactive Programming Framework
Observables in RxKotlin
Observer Object
Multiple Observers
RxKotlin Subjects and Operators
Subjects in RxKotlin
Observer Concurrency
RxKotlin Operators
Piping operators
Creational operators
Transformational Operators
Combinatorial Operators
Filtering Operators
Mathematical Operators
Chaining Operators
-
https://kotlinlang.org/ - get started with Kotlin
https://kotlinlang.org/docs/kotlin-ide.html - selection of IDEs for developing with Kotlin
https://blog.jetbrains.com/kotlin/ - official Kotlin blog from JetBrains
Trusted by