Jitin Sharma
Software Architect, Groww
Bengaluru, India
Actions
Jitin works as an Architect at Groww, India. He previously worked on Design Systems at Gojek and airline applications at Amadeus. He is an international speaker, technical writer and Google Developer Expert for Android.
Links
Area of Expertise
Topics
Relevance of code minification in a performance world
R8 and Proguard are Android developer's go-to tool for code minification. As a developer, inconsistent proguard rules can affect your application in more ways than you know. This talk will focus on code minification and it's additional impacts, divided into 3 parts
- Small introduction to code obfuscation and minification.
- Introduction to proguard rules, common mistakes and how to avoid them.
- A deep dive on how performance of app is impacted by proguard rules.
Decoding Android Runtime
While most developers are elated when Android Studio compiles their code without any “hiccups”, there is a lot going on when that compiled code runs on Android OS. Android mostly takes care of runtime, but it’s always nice to know what’s happening backstage.
How code executes at runtime is a completely different story in case of Android. The .dex format has been here for years and everyone is accustomed to it. But there are a lot of complexities going on once the .dex reaches your device. This talk will focussed on analyzing on what happens after your code in Kotlin/Java is compiled, packaged and run on an actual device. We will take a deep dive into .dex format as well as see how runtime has evolved since Android 1.0 and taken a great leap with Android 5.0 and above. In the process, we will also learn how to write runtime efficient code.
Meta-Programming with Kotlin
Kotlin has become go-to language for Android developers all over the world and the language itself has a large number of feature sets.
With greater acceptance of language, we look at how we can leverage power of Kotlin for meta-programming.
Through the talk, we'll introduce what Meta-Programming is and how we do it on day to day basis. We'll see how using Kotlin's internal compiler API, we can parse kotlin files, pull data out of it and go through various applications of this data such as custom documentation for API code and much more.
We'll also look at various approaches of source code generation for Kotlin files and how we can leverage them in projects.
@Inject Basics
Dependency Injection is a concept which has become quite popular among Android developers as our applications break barriers on features and at the same time project complexity increases. It is also a heavily researched topic by developers with 20k questions on stack overflow(2k+ for dagger).
While most projects use dagger as a de-facto framework for Android, this talk would be more focussed on understanding concepts of DI and applying the same without a framework. We’ll go through concepts of supplying dependencies, various types of injection and understanding inversion of control. All of this without using a framework, with raw code in Kotlin and an actual android app with real life problems around networking, storage and threading.
We’ll then dig deep in how libraries like Dagger, Koin etc operate to provide the same with code generation or reflection.
A tale of Multiplatform
In the current wave of cross platform solutions, Kotlin’s multiplatform is shaping up to be a unique proponent of code reuse. Unlike write once run everywhere, Multiplatform offers a unique space of reusability and formalization of code across platforms and also removes dependency on custom VMs or runtime. Through this talk we'll go through building an app for Android and iOS and use Kotlin multiplatform for code sharing and building an abstraction layer across platforms.
Contents:
- Introduction to Kotlin Multiplatform.
- Basic Architecture for a Multiplatform app.
- Multiplatform Libraries and few gotchas.
- Pseudo code illustration.
- Sample code/demo application.
droidcon India 2019 in Chennai Sessionize Event
DevFest Kolkata 2019 Sessionize Event
droidcon Berlin 2019 Sessionize Event
Fragments
Session: Architectures with Kotlin Multiplatform
Youtube: https://youtu.be/nV1_FsEIbN8
DroidJam
Session: Decoding Android Runtime
Link: https://youtu.be/9e8yQKVkGgo
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top