February 24th, 2024

Android Presentation Patterns: MVI

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.

February 9th, 2024

Android Presentation Patterns: MVVM

MVVM architecture promotes a clean separation of concerns, making it easier to develop and maintain complex Android applications. By adhering to the key principles and components of MVVM, developers can create scalable, testable, and maintainable apps that provide a seamless user experience.

January 29th, 2024

Android Presentation Patterns: MVP

Uncover the journey of evolution from MVC to MVP, tackling challenges through the integration of a Presenter and well-defined contracts. Despite the advantages MVP offers, it necessitates addressing common concerns such as boilerplate code and potential intricacies for more straightforward UIs.

January 27th, 2024

Android Presentation Patterns: MVC

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.

June 16th, 2023

Continuous Integration and Deployment: A Developer's Best Friends

Embrace the power of Continuous Integration and Deployment (CI/CD) in software development. Automate tests, streamline workflows, and boost collaboration with user-friendly services like CircleCI, Bitrise, GitLab, and GitHub Actions. Level up your development process today!

January 29th, 2023

Would you go for mobile development again, after 10 years of doing it?

I went to a meetup in my city last week and a guy I just met there popped a question after a while of conversation: with my experience, would I go for mobile software development again or pick a different area?

April 4th, 2022

Why should you use Tech proposals

Tech Proposal are a less formal way for internal documentation created before actual implementation. They also facilitate making technical decisions.

September 3rd, 2021

Android service binding fix for API 30

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...

August 22nd, 2021

Command Pattern in Kotlin

The Command pattern wraps the request into a specific object that has all the information necessary to perform its task. You can think of it as the next stage of refactoring, where at first we extract the code to a separate method, and then to a separate object, taking the arguments needed to execute the request in the constructor.

August 6th, 2021

Remote Logger

While working on a project, I couldn't use Android's 'Development Options' - I couldn't access the logs. If only you could send Logcat logs, e.g. via WebSocket, and then catch them on your computer... I did not find such a tool, so I wrote one and described the process in this post.