Session 1: Sneaking Inside Kotlin Features
Kotlin has many language features even though none of them are supported by JVM or Android ART. This talk will go through all the language features and understand how they work internally for JVM or ART compatibility.
1. Do all know, how features like default arguments and default methods (in the interface) works?
2. Do all know, that switch statement can only work with integers? Then how when expression works with almost all data types?
3. Do all know, how inline classes works?
4. And many more features.
Many developers in the Kotlin community use all these APIs without knowing how they work. After this talk, they will have a good understanding of how these features work internally which obviously make them a better programmer.
Chandra Sekhar Nayak
Android Developer @ Lowe's
Session 2: The Magic of Compiler Extensions
Did you know that Kotlin compiler has a plugin system which allows extend its capabilities in breathtaking ways? Many highly important first party libraries, from serialization to Android specific extensions are done exactly this way. This talk explores results of my own experiments with this system and the possibilities it opens.
Get ready for a dive into compiler structure focusing on practical extension without breaking the language rules. We will go through plugins released by the community and the current state of development for those who dare to create compiler plugins themselves. At last, you will see how the compiler plugins compare to annotation processing and understand pros and cons of each.