More than 7 years working with mobile. Have experience of scaling apps from several thousand to millions of users. Passionate about mobile and technology as well as about giving back to the community by actively teaching and speaking at the conferences.
No matter how smart people are and how much time and resources we have things can go wrong in any project. And the bigger the project becomes the more needs for configurability emerge. These needs can be fairly basic from turning off unfinished features in the release branch to allow teams to work and integrate faster. To support a multitude of different behaviors in similar applications in different countries. If we look carefully we will notice that almost any project has some sort of configurability mechanism.
In this talk, we go through the myriad of configurability mechanisms such as static release constants, flavor constants, feature flags, operational feature flags, and a/b tests. We will also dive deeper into the underlying implementations of these mechanisms on mobile. We will see on the real life examples how these simple mechanisms could save us from vital mistakes and overall improve the development process.
It looks so simple outside, the app which can send messages from one user and receive from others. This is what we were thinking from start. 9 months passed we're still on it. In this talk, I will go through the main parts of the messenger project such as transport, synchronization, architecture, storage, pagination as well as explain common mistakes we've made on the way to instant messenger.
You’ll leave this talk with a solid understanding of how modern messengers are built and the confidence to get started.
For the last couple of years, Room was the preferable solution for work with SQLite. But recently was released a new version of SQLDelight with kotlin multiplatform support, overhauled API and full generated kotlin code, RxJava2 extensions, paging library support and many more. With its feature of live typesafe code generation from SQL queries with the help of Android Studio plugin is hard to compete. So is it still worth considering other solutions?
In this session, we will go through the core features of SQLDelight and in the live demo, we will see how SQLDelight works. We will go through the main use cases and will think about future possible use cases of multiplatform application of SQLDelight. You’ll leave this talk with a solid understanding of how SQLDelight works and the confidence to get started.
Testing has always been troublesome for many of us. While it may work well at the beginning over time writing and maintaining tests usually becomes a liability rather than an asset. Writing very well structured and maintainable tests hard in its nature, but with readability killing languages like Java, it was an unbearable burden.
Several years ago the Kotlin language has appeared. It's excellent DSL capabilities have fostered the birth of many testing libraries and frameworks. But do these frameworks and libraries will finally liberate us from the pain when writing and maintaining tests?
In this session, we will look into the modern testing framework KotlinTest and the powerful library MockK as well as into some best practices of writing tests with Kotlin.