An extensive checklist to kick-off a new Flutter project

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…


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

In the last article, I have 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. …


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

Previously in the series, I have analysed a behavioural design pattern that separates algorithms from the objects they operate on — Visitor. …


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

Flutter Shopping App prototype: Lessons learned

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, build products and their details page. All the other implementation details were left up to me…


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

In the last article, I have analysed a behavioural design pattern that enables loose coupling between the sender of a request and its receiver — Chain of Responsibility. …


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

Previously in the series, I have analysed a structural design pattern that introduced a concept of a “shared object” which could be used in multiple contexts simultaneously, hence reducing the memory usage of your code — Flyweight. …


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

In the last article, I have analysed a creational design pattern that divides the construction of a complex object into several separate steps — Builder. …


How to convert design into code using Dart + Flutter.

When I started my journey in the Flutter world, I have learned the basic UI concepts just enough to build a simple application. State management, code structure, architecture, appliance of OOP design patterns — these topics are more interesting to me, so I have dived deeper into them. …


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

Previously in the series, I have analysed a relatively complex, but very practical and useful structural design pattern — Bridge. This time I would like to represent a design pattern, which divides the construction of a complex object into several separate steps. It is a creational design pattern called Builder.

Table of Contents


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

In the last article, I have analysed a structural design pattern that provides a way of changing the skin of an object without changing its guts — Decorator. …

Mangirdas Kazlauskas

Google Developer Expert for Flutter & Dart | Software Engineer - https://twitter.com/mkobuolys

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