Skip to main content

· 46 min read

Retro rotary passcode input UI challenge made with Flutter. In the first part, the static design of the UI is implemented.

Header image - Rotary passcode Flutter UI challenge (static design)

Some time ago, I implemented the rotary passcode UI and shared the code with the Flutter community. I may not be the sharpest tool in the shed, and I also promised to create an in-depth tutorial on how I implemented it. In this article, I will share the first part of the tutorial, which will cover the static design of the rotary passcode UI.

· 17 min read

Overview of Firebase Remote Config and how to use it to enable real-time features in your Flutter application

Header image - Control your Flutter app on the fly with Firebase Remote Config

Real-time updates, feature flagging and A/B testing - what if I told you that you could enable these powerful features in your Flutter application with minimal development effort and without any costs? In this article, I will cover multiple real-world use cases where Firebase Remote Config could help you while building Flutter apps.

· 4 min read

Dart type system goes: never say never…

Header image

First of all, the title of this article could seem like just another clickbait but let me explain. Sure, there is a chance that you have used this type, but for the sake of a pun (and I REALLY enjoy them), I had to do it - oh well, here we are now. The thing is, the type I am going to talk about in this article is actually called Never.

· 11 min read

An extensive checklist to kick-off a new Flutter project

Header image

Creating a new Flutter project is a blessing — fresh codebase, no legacy code (yet), null-safety, most recent versions of your favourite packages and so forth. But at the same time, you should make critical decisions at the beginning of the project that would lay the foundation for the future, such as tooling, packages, file structure, state management solution, testing plan. Otherwise, the project would eventually turn into just another bowl of spaghetti and meatballs. To avoid this, I have prepared a list of, in my opinion, the most important elements of the project that should be decided early on.

· 13 min read

Some insights on how to implement a production-quality app using Dart + Flutter

Header image

Recently, I received a task to build a shopping app prototype using Dart + Flutter. The main requirements were to use the real-world e-commerce API of free choice, implement lazy products' loading and caching, and build products and their details page. All the other implementation details were left up to me, hence I had to decide on the app architecture, state management solution, third-party packages, etc. So in this article, I will reflect on my choices, challenges and other details while implementing a production-quality prototype.

· 11 min read

An overview of the Observer design pattern and its implementation in Dart and Flutter

Header image

In the last article, I analysed a behavioural design pattern that reduces dependencies between a set of interacting objects by decoupling the interaction logic from the objects and moving it to a dedicated controller - Mediator. In this article, I would like to analyse and implement another behavioural design pattern that lets you define a publish-subscribe mechanism to notify multiple objects about any events that happen to the object they're subscribed to - it is Observer.

· 10 min read

An overview of the Mediator design pattern and its implementation in Dart and Flutter

Header image

Previously in the series, I analysed a behavioural design pattern that separates algorithms from the objects they operate on - Visitor. This time I would like to represent one another behavioural design pattern that lets you reduce dependencies between a set of interacting objects by decoupling the interaction logic from the objects and moving it to a dedicated controller - it is the Mediator.