From Yahoo JAPAN corp.
Hiroyuki Mori is Android tech lead at Yahoo! JAPAN, the biggest search website in Japan, focused on security and app architecture. In his free time, he enjoys boating and fishing.
Jetpack Architecture Components (former name is Android Architecture Components) are libraries for dealing with the complexity of Android UI components and lifecycle problems.
Once Architecture Components were announced at Google I / O 2017, soon they attract developers' attention. Lifecycle and LiveData are great libraries that smartly handle Android framework lifecycles.
How does LifecycleObserver receive lifecycle events and how each component react for? Let's look inside Lifecycle, LiveData, ViewModel, Room, Paging and see how they work precisely.
Metaprogramming is a programming technique that writes code which generates code. Many major open source libraries use metaprogramming in some way: annotation processing, bytecode transforming, and reflection.
In Java world, there are many libraries and APIs for these process. Though you can use these in Kotlin basically, there are some pitfalls.
In this talk, I will explain how to generate kotlin code, convert bytecode, read / modify the structure of program at runtime, and show how these will make your development more efficient.
Metaprogramming is not so widely used in daily development, but if you know how to do it, it will be a very powerful and efficient tool.