Kt. Academy Logo
WorkshopsBooksArticles

Matthias Schenk

Reviewed articles

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.

Sealed classes and interfaces in Kotlin

What are sealed classes and interfaces in Kotlin and how do we use them.

Effective Kotlin Item 2: Eliminate critical sections

Learn why do we need to synchronize access to mutable state, and how to secure it.

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.

Objects in Kotlin

What is object expression, object declaration and companion objects, and how we use them.

Kotlin Contracts

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

The beauty of Kotlin type system

How type system makes Kotlin so flexible, safe, and intuitive.

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.

Nullability in Kotlin

How Kotlin null-safety works, and how can we deal with nullable values.

Interface Delegation

One of the least known Kotlin features, that can be sometimes found really useful.

Basic values in Kotlin

Learn about the basic Kotlin values, types and operations.

Variance modifiers limitations

What limitations generic variance modifiers introduce, and how can we ignore them.

Covariant Nothing Object

The pattern we are all using, but no-one talks about it.

Kotlin Generic Variance Modifiers

What are out and in, and how do we use them without even knowing.

Enum classes in Kotlin

What are enum classes in Kotlin and how do we use them.

Operator overloading in Kotlin

How are operators defined for types in Kotlin, and how can we define our own operators.

The power of Kotlin for-loop

Learn about the amazing capabilities of Kotlin for-loop.

Your first program in Kotlin

How to write your first program, how can we use it in real-life projects, and how to explore what Kotlin is compiled to.

Functions in Kotlin

Learn about what functions can offer us in Kotlin.

Marcin Moskała
Marcin Moskała

Generics in Kotlin

The essence of how generics work in Kotlin.

Marcin Moskała
Marcin Moskała