TP3 & KTP: Simple, fast, and boilerplate-free DI for Kotlin
Daniel Molinero Reguera & Stéphane NICOLAS
Groupon & Square
Daniel is an Android Software Engineer at Groupon. He is a passionate Science geek with special interest in performance, design and security. Before joining Groupon, he worked as a Web and Android developer for 8 years, participating in the development of some Android applications such as Hostelworld, Bonobu and now Groupon. He is keen on contributing to the community by writing articles and collaborating on some open source projects: Toothpick, Dart & Henson, etc. Moreover, he has taken part in some conferences: Berlin Droidcon, Boston Droidcon, Mobile Era, AndDevCon or DroidKaigi.
Bio: With 20+ years of Java coding experience, I am now a Senior Android Developer at Groupon. As a member of the Groupon Android Core team, I focus mostly on software design, good practices, quality metrics, testability, dependency injection, optimisations, hard bugs, tooling, build & CI, etc. I am an Free & Opens Source Software enthusiast and often contribute, modify, initiate open source projects. All of them available on github: Experience: DroidCon Turin 2017 Android Makers Paris 2017 Mobius Saint Petersburg 2017 DroidCon New York: 2015 DroidCon Paris: 2013, 2014 DroidCon Berlin: 2013 DroidCon London: 2013 DroidCon Amsterdam: 2012 Devoxx BE: 2015 Devoxx FR: 2012 AndevCon SF: 2014, 2016 AndevCon Boston: 2013 Mobile Era, Oslo: 2016 Dev Fest Nantes: 2012 Talks for Android User Groups: Paris, Montreal
When you want to use Dependency Injection in Kotlin you need to make a decision: either you sacrifice your coding style by using a Java library (lateinit var...) or go with a Kotlin one where you need to write everything yourself (Koin, Kodein, ...) >__< Well… you will not have to make that choice anymore! TP3/KTP is a Kotlin first DI framework that provides a simple and powerful API. It is boilerplate-free as all the code is generated at compile time using the fastest incremental annotation processing mode. Moreover, it still offers the runtime performances of Dagger2: it is very fast. Furthermore, TP3 is full of possibilities: 100% interoperable with Java, lifecycle and ViewModel support, fluent scope API, enhanced memory management, custom scopes, scope verification, powerful testing support and more. During this talk for intermediate developers, we will introduce TP3 & KTP and its main features.