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

Dlaczego warto korzystać z Tech proposals

Tech Proposals są mniej formalnym sposobem na wewnętrzną dokumentację przed implementacją i usprawniają podejmowanie decyzji technicznych.

September 3rd, 2021

Android service binding fix for API 30

Android 11 (API 30) zmienia korzystanie z zewnętrznych serwisów aplikacji. Korzystając z `compileSdk 30`, bez odpowiedniego wpisu w Manifeście aplikacji `bindService()` zwróci `False`, mimo że z `compileSdk 29` będzie działać poprawnie. Chcę się podzielić rozwiązaniem, po zdecydowanie zbyt długiej walce z tym problemem.

August 22nd, 2021

Wzorzec Command (Polecenie) w Kotlinie

Wzorzec Command polega na opakowaniu żądania w konkretny obiekt, posiadający wszystkie informacje niezbędne do wykonania swojego zadania. Można o tym pomyśleć jak o kolejnym etapie refaktoryzacji, gdzie najpierw wydzielamy kod do osobnej metody, a następnie do osobnego obiektu, przyjmującego w konstruktorze argumenty potrzebne do wykonania żądania.

August 6th, 2021

Remote Logger

Podczas pracy nad pewnym projektem nie mogłem korzystać z 'Opcji Deweloperskich' Androida — nie miałem dostępu do logów. Gdyby tylko dało się wysyłać logi Logcata, np. przez websocket i potem łapać je na swoim komputerze... Nie znalazłem takiego narzędzia, więc je sobie napisałem i opisałem proces w tym poście.