Jacek Kotorowicz

Reviewed articles

Kotlin Reflection: Type references

Using type references, with practical example of random value generator.

Marcin Moskała
Marcin Moskała

Kotlin Reflection: Class references

All the essential aspects of class references, and a practical object serialization example.

Marcin Moskała
Marcin Moskała

Kotlin Reflection: Method and property references

The general hierarchy of Kotlin reference classes, and details about method and property references.

Marcin Moskała
Marcin Moskała

Implementing Multiplatform Kotlin Mobile

How in Kotlin we can implement Android and iOS projects with shared logic.

Implementing Multiplatform Kotlin library

How in Kotlin we can use multiplatform capabilities to distribute the same code to multiple platforms.

Using Multiplatform Kotlin

The essence of using multiplatform Kotlin capabilities and definition common elements.

Kotlin and Java interoperability: Traps and gotchas

The parts of Kotlin and Java interoperability that might be surprising or counterintuitive.

Kotlin and Java interoperability: Useful annotations

Learn about useful Kotlin annotations, that decide that it is compiled to on JVM.

Kotlin and Java interoperability: Properties and annotations

Kotlin property is Java getter, setter, field and possibly more. So what to do, when you need to annotate or use a specific JVM element?

Kotlin and Java interoperability: Types

See surprising transitions that happens on types when you interoperate between Kotlin and Java.

Kotlin Contracts

Practical review of Kotlin Contracts - a feature we often use, without knowing about it.

Map as a property delegate

How do we use Map as a property delegate, and why the result of a famous puzzler should not be surprising.

Observable and Vetoable delegates

What are observable and vetoable delegates, and what are their real-life use cases.

Lazy property delegate

What is lazy delegate, and what are its real-life use cases.

Property delegation

What is property delegation, how does it work, and how can we implement our custom property delegate.

Scope functions

What is let, also, apply and with, and how to use them in our applications.

DSL type-safe builders

How to define type-safe DSL builders in Kotlin.

Lambda expressions

Let's learn how to use lambda expressions, what special support they have, and what traps they generate.

Function references

How do we reference functions in Kotlin, to replace lambda expressions. All functions, including constructors, getters, extensions and more.