Fast Track to Kotlin Native Training in Canada

  • Learn via: Classroom / Virtual Classroom / Online
  • Duration: 2 Days
  • Price: Please contact for booking options
We can host this training at your preferred location. Contact us!

Kotlin is a superb choice for JVM development, and now the recommended language for Android. With Kotlin Native you can bring the power and simplicity of Kotlin to platforms where Virtual Machines are not applicable or desirable. Kotlin Native uses LLVM to produce native instructions that execute directly on the target platform e.g. MacOS, ARM and WebAssembly.

In this course you will learn how to use Kotlin alongside native applications and libraries written in C, C++, Objective-C and Swift. You will learn how to generate Kotlin library wrappers using headers from these other languages. With the generated wrappers you will write Kotlin that easily calls into native API’s and makes marshalling data back and forth trivial. You will also learn how to consume Kotlin Native libraries from other environments.

Finally, you will see how this fits into the wider Kotlin ecosystem by creating multi-platform projects that target the JVM, Android, JS and Native platforms.


Delegates must be confident Kotlin developers. Prior exposure to C/C++ terminology and concepts is very helpful but not essential.


  • Understand where Kotlin Native fits in the ecosystem
  • Use Kotlin to create native apps, libraries and frameworks
  • Know which libraries are available on what platforms
  • Be comfortable consuming C and Objective-C libraries
  • Have confidence manually managing C data type memory
  • Create hierarchical Gradle multi-platform projects

Introduction to Kotlin Native

  • Expanding Kotlin beyond the JVM
  • Understanding the LLVM Compiler Tools
  • Platforms supported by Kotlin Native
  • JVM functionality not available in Native
  • Choosing between the CLion and IntelliJ IDEs
  • Deconstructing a simple native project

Interoperating with C Libraries

  • Working with the provided platform libraries
  • Importing headers from external C libraries
  • Making sense of Kotlin types for native data
  • The role of CVariables, CPointers and CValues
  • Exchanging string data between Kotlin and C
  • Representing C data structures using CStructs
  • Memory management via alloc, free & memScoped
  • Invoking Kotlin callacks from C and vice versa
  • Using StableRef to extend object lifetimes

Interoperating with Objective-C / Swift

  • Working with the provided platform libraries
  • Importing headers from Objective-C / Swift
  • What Swift features are not supported
  • How Swift APIs are mapped to Kotlin

Multithreading and Coroutines

  • The dangers of shared mutable state
  • Constraints on sharing data across threads
  • Using @SharedImmutable and @ThreadLocal
  • Initialising the runtime when creating native threads
  • Utilising Kotlin’s built-in Worker type
  • Consuming results via Future objects
  • Freezing data and DetachedObjectGraph objects
  • Breaking the rules using the Atomic types
  • Transferring object ownership between threads
  • Limits on using coroutines in Kotlin Native

Creating Multiplatform Gradle Projects

  • Choosing between the Groovy and Kotlin DSLs
  • The Kotlin Multiplatform Gradle Plugin
  • Targeting different native platforms
  • The default folder naming conventions
  • Specifying repos and project dependencies
  • Controlling compiler and linker options
  • Creating hierarchies and sub-projects


Contact us for more detail about our trainings and for all other enquiries!

Upcoming Trainings

Join our public courses in our Canada facilities. Private class trainings will be organized at the location of your preference, according to your schedule.

Classroom / Virtual Classroom
03 June 2024
Toronto, Montreal, Calgary
2 Days
Classroom / Virtual Classroom
13 June 2024
Toronto, Montreal, Calgary
2 Days
Classroom / Virtual Classroom
13 June 2024
Toronto, Montreal, Calgary
2 Days
Classroom / Virtual Classroom
14 June 2024
Toronto, Montreal, Calgary
2 Days
Classroom / Virtual Classroom
20 June 2024
Toronto, Montreal, Calgary
2 Days
Classroom / Virtual Classroom
22 June 2024
Toronto, Montreal, Calgary
2 Days
Classroom / Virtual Classroom
21 June 2024
Toronto, Montreal, Calgary
2 Days
Classroom / Virtual Classroom
01 July 2024
Toronto, Montreal, Calgary
2 Days
Fast Track to Kotlin Native Training Course in Canada

Canada is a North American country. Known as the second-largest country of the world, Canada’s capital city is Ottawa. Toronto, Vancouver and Montreal are the biggest and most popular cities of this country. The 8,891-kilometer southern and western border between Canada and the United States is the world's longest intergovernmental land border. This country also has the longest coastline in the world.

Canada is a constitutional monarchy. The country was originally a British Empire colony and is now a part of the British Commonwealth. Both French and English are Canada’s official languages. Canada’s national animal is a beaver and the its flag design is a vertical triband of red and white with a red maple leaf charged in the centre. Some of the top-rated tourist attractions in Canada are Niagara Falls, Banff National Park and Rocky Mountains, CN Tower in Toronto City, Bay of Fundy, Old Quebec (Vieux-Quebec in French), the ski resort of Whistler, Ottawa's Parliament Hill and Vancouver Island.

Choose from our extensive selection of IT courses, covering programming, data analytics, software development, business skills, cloud computing, cybersecurity, project management. Our highly skilled instructors will deliver hands-on training and valuable insights at a location of your choice within Canada.
By using this website you agree to let us use cookies. For further information about our use of cookies, check out our Cookie Policy.