I was surprised how much utilizing the UseCase pattern in my last Android app helped with the development. It naturally created a clear structure, created boundaries, and accidentally extracted the app domain. Maybe it will work for you too.

Developer's golden cage

- 9 mins read


I recently made observations on my limitations due to my ‘develper dependencies’. Anything outside my comfort zone feels bad, and I don’t like that. My plan is to create a developers survival kit and stick to it. Reducing dependencies and distractions, focusing on craft.
MVI isn’t a single ready-to-implement pattern; it’s more of a spectrum. This post delves into its diverse range, from basic MVVM patterns to intricate Redux-like state management, emphasizing the importance of grasping its principles for effective implementation tailored to specific project needs.
Explore the early days of Android with the Model-View-Controller (MVC) pattern. Discover its challenges, like tight connections and testing troubles, through a simple example. While acknowledging its history, the article introduces modern alternatives like Model-View-Presenter (MVP), Model-View-ViewModel (MVVM), and Redux, explaining why they’re better choices for today’s Android app setup.
Android 11 (API 30) changes the way of using external app services. Using compileSdk 30 and above, without additional Manifest entry the bindService() method will always return False, even if with compileSdk 29 the app will work perfectly. I want to share solution of this problem after WAY TOO LONG time I spent on searching it…