Flutter supports three testing types: unit, widget, and integration.

Unit tests prove that your code works, integration — that the app works. And it’s not the same if you think about it. The code logic might not fulfill the business cases, and business cases might not cover all the implementation edge-cases.

Widget tests are in the middle. They are fast, close enough to your codebase, hence it is possible to cover edge-cases easily, and they are focused on the UI, i.e. they are more about business needs than about the code.

When you generate a new project there will be…


We all know how to create mobile applications. As professionals we aim to make them not only eye-candy but scalable, fast and secure as well. Meantime as lazy professionals, we do not like to reinvent the wheel. Yes, I’m talking about patterns and principles. One of the most important abbreviations in modern apps development is SOLID, which stands for 5 basic app development principles.

We all know about SOLID. All those ducks and circles with rectangles. But what about the real world? How do Xamarin devs violate SOLID?

Single Responsibility

A class should have one, and only one, reason to change.


“I don’t need different languages in my app. My app should be in English only. Don’t spend time on different languages, let’s focus on app features and issues.” (by almost any client)

I work with lots of clients and one of my duties is to guess clients’ needs before they even realize them. Have you ever heard those phrases from above from your client? If so — I hope you‘d quietly implemented at least some localization mechanism in your app. Otherwise, you’re in trouble.

This is a story of one localization. It was an ordinary project with usual “do not…

Image by geralt (https://pixabay.com/en/users/geralt-9301/)

Xamarin.Forms allows developers writing beautiful mobile and desktop applications in no time. It is possible to create components once, layout components once, animate components only once! Its performance and stability has improved, so it is, indeed, almost perfect! There are only a few tricky things that are really hard to implement using this framework. One of the most demanded is transition animations between Pages.

Is it even possible to write such things with Xamarin.Forms? Sure! If you are a really impatient person just grab the source code from this repo:

On iOS the default presentation animation looks like a simple…

Uni-directional architecture (UDA) patterns are quite popular nowadays. Most of our colleagues working in the native mobile development are familiar with this concept and for some of them it has become a silver bullet. I would argue any silver bullet existence, however the popular concepts and tools along with applying them appropriately is what defines the true professionals.

Unidirectional Data Flow is not a single architecture pattern, but a set of patterns joint by the same idea — the data must always flow in one direction. We will focus on pattern called Redux.

Before we dig into UDA let’s see…

Oleksandr Leuschenko

Mobile developer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store