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.
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.
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.
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.
Generics in Kotlin
The essence of how generics work in Kotlin.