The Navigator 2.0 API has been one of the most controversial APIs I have seen in my software development career. In this series of articles, I aim to convince the readers to use this API in their projects, because it is more Flutterish, it helps to separate concerns and improves the user experience of Flutter Web applications.
The keywords of this series would be declarative API, navigation stack (history stack), Router widget, Navigator widget, app state, and system events. Considering these keywords, I believe the Navigator 2.0 API is summarized best by Micheal Goderbauer:
“Introduce a declarative API to set…
In the previous parts of this series, we focused on building a navigation stack using the Navigator 2.0 API for the following cases:
In the third part of this series, we explored the Navigator 2.0 API with the authentication use case. In this article, we handle the bootstrapping process and build the navigation stack accordingly.
In the second part of this series, we explored the Navigator 2.0 API, particularly the
Router widget, the
Page class, and the
RouterDelegate class. The first sample app handles the navigation between
ColorPage , and the
ShapePage . In this second sample, we add the authentication use case and build the navigation stack according to the authentication state changes. In addition to the
_selectedColorCode and the
_selectedShape properties, we add
_loggedIn property which holds the authentication state in the
In the first part of this series, we had a short introduction to the Navigator 2.0 API and explained the sample apps that we will be building incrementally. In this article, we will introduce the
Router widget and the Pages API. Then we will explain how to build a navigation stack according to the app state changes. We will focus on the following user interactions causing the app state changes:
This is the second part of the series on implementing a design system for a Flutter app so that we can easily switch between three themes made for three different companies. In the first part, I talk about theming from a design aspect. If you haven’t read the first part yet, I would strongly suggest starting with it. In this second part, I explain implementing multiple themes in a Flutter project from the development aspect.
In this series, I talk about implementing a design system for a Flutter app so that we can easily switch between three themes made for three different companies. I will approach theming from the design and development aspects in two articles. This first part starts with an introduction section and then explains theming from a design point. In the second part, I talk about implementing multiple themes in a Flutter app.
Imagine you have a B2B app to be used by the customers or employers of different companies. You can choose to implement only one app theme for all companies…
Today is the anniversary of my 120 km Cappadocia Ultra Trail race victory. One year ago, before the race, I wrote this post but didn’t share it since I was not sure whether it is too much information about my personal life. I read it again and had the courage of sharing it after one year.
One year ago I wrote this: “I don’t even know if the disease will allow me running next year. People may not be aware but it is the same for everyone. Life is full of good and bad surprises.”
I would like to talk about the use cases, alternative flows, and exception flows with the service designer who designed a self-checkout system for a market chain in Finland. I wish this post finds related people and helps them to improve their services.
A use case represents a list of steps or actions between actors and the system to describe a goal in the system. Let’s talk about the most common use case for a self-checkout system “Paying for the shopping”.
Summary: A customer finishes shopping and approaches to kiosks for self-checkout. The customer shows product barcodes to the kiosk…
In this article, I will share my experience with Huawei App Multiplier feature.
“The App Multiplier is a system-side solution that splits the screen on an Activity base.”
The purpose of this blog post is to demonstrate what you can achieve with Huawei App Multiplier feature for different scenarios. I would strongly suggest the blog post by Hayri Aral for an awesome introduction to the concept.
Flutter and Android Mobile App Developer