Skip to content

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.

Advanced Kotlin

Course Summary

The Advanced Kotlin training course will introduce students to advanced Kotlin concepts and the broader Kotlin ecosystem in general.

The course begins with an overview of contracts in Kotlin, an extension of the smart-casting compiler feature. The course then does a deep dive into coroutines and structured concurrency and how to test code with coroutines. Next, the course provides a brief overview of the functional programming library Arrow, before covering Kotlin Multi-Platform. During this section, students will learn how it works and the ideal kind of code to share, as well as how to write and consume multi-platform code. The course then reviews Kotlin libraries purposefully built for multi-platform use that students can use in their applications. Finally, the course will finish with Ktor, a multi-platform library for building asynchronous servers and clients.

Students will learn through a series of interactive labs and lectures. This course is intended for those with prior knowledge of Kotlin and familiarity with writing software with code and basic git functionality. Must have the latest version of IntelliJ installed.

Purpose
Learn about advanced Kotlin concepts and the Kotlin ecosystem.
Audience
Software and web developers wanting to advance their Kotlin skills.
Role
Software Developer - Web Developer
Skill Level
Advanced
Style
Fast Track - Hack-a-thon - Workshops
Duration
2 Days
Related Technologies
Mobile App Development Training | Android

 

Productivity Objectives
  • Utilize contracts to make the Kotlin type system smarter
  • Apply coroutines to improve how asynchronous code is written
  • Differentiate the benefits and pitfalls of Kotlin Multi-Platform and how to leverage its power
  • Describe the Kotlin ecosystem

What You'll Learn:

In the Advanced Kotlin training course, you'll learn:
  • Contracts - Improve compile-time safety
  • Coroutines
    • What coroutines are/What problems they solve
    • Coroutine Builders/Adapting APIs that use callbacks
      • Launch vs async
    • Exception Handling
    • Structured concurrency
    • Dispatchers
    • FlowCoroutine testing
  • Arrow
    • Option
    • Try
    • Either
    • Validated
  • Kotlin Multi-Platform
    • High level how it works/what kind of code to share
    • Project Set-Up
      • Creating a new project
      • Integrating into an existing project
    • Defining shared code
    • Multi-platform libraries
      • Kotlinx.serialization
      • Kotlinx.datetime
      • Kotlinx.atomicfu
      • Apollo GraphQL
      • Kodein
    • Shared Code Consumption
      • Android
      • iOS
      • Kotlin/Native memory model
      • Kotlin/Swift/Objective-C inter-op
    • Kotlin/JS
      • Using React with Kotlin/JS
      • Automatic generation of external declarations with Dukat
      • Dynamic Type
  • Ktor
    • Client-side usage
    • Server-side usage
      • Application Engine
      • Features
      • Routing
      • Headers
      • Authentication
      • Status Pages
      • Call Logging
      • WebSockets
      • Deploying
“I appreciated the instructor's technique of writing live code examples rather than using fixed slide decks to present the material.”

VMware

Dive in and learn more

When transforming your workforce, it's important to have expert advice and tailored solutions. We can help. Tell us your unique needs and we'll explore ways to address them.

Let's chat

By filling out this form and clicking submit, you acknowledge our privacy policy.