Sign in

Abhishek Doshi

Learning any technology/language takes time and patience. Don’t stop in middle, don’t start from advance and don’t compare your journey with others!

Flutter is one of the most liked and adopted technology in the current IT Industry. But why is it so? Why is Flutter trending so much? There are other frameworks too, then why Flutter? …


We have seen Bloc, Redux and many might have already used Provider. There’s something similar to Provider called StateNotifier but in a simpler form. You can say StateNotifier is a wrapper for Provider! So let’s check out how we can manage the state of our app using StateNotifier 🎉

State Management is one of the most important concepts in Flutter. But why exactly State Management is important? Basically, when your app becomes more complex and larger in size, the state of the app becomes more difficult to maintain. The data that we want to pass from one screen to…


We have two keywords const and final which usually make developers confused! Let’s see in deep how it works.

There are many ways we can create variables in Flutter. Two of them are const and final! If we check their functionality, they both have similar work, to create variables whose values won’t be changed. Then what is the difference? Let’s check it out!


Managing state in Flutter is one of the major requirements when our project complexity increases! Redux is a predictable state container for Dart and Flutter apps. It helps to manage our state very efficiently and is robust!

What is the state?

We can say that the state is something (an object) that holds the…


Stop wasting memory! Let’s see how you can reduce 1300000 bytes to almost 2572 bytes i.e. 99% compression!

Dart has some really powerful compression algorithms which we can use! Let’s say you have a long JSON or a string that you want to store in your local storage. Suppose the JSON is of 1300000 bytes, so when you store it in your local storage, it will occupy almost…


Don’t you get clumsy looking at dirty, messed up code? One should always follow strict rules to make code clean! Let’s see how you can do that with lint rules in Dart!

One should always follow the practice to write clean, refactored and well-documented code! It’s not just for the benefit of you, but it also helps others who check your code.

Dart has some of the in-built lint rules which allow developers to write proper clean code. Projects created with flutter…


Manage the blocks of your app with BLoC!

State Management is one of the most important concepts in Flutter. It’s not mandatory to use any State Management techniques, but it is obviously advisable to follow and maintain a good architecture so that you can access your data in any layer of the widget tree!

BLoC is one such…


There can be cases when you wish to perform certain actions on the change navigation history. This is where RouteAware comes to the rescue!

Let’s say we have 2 pages, Page1 and Page2 in our app. So whenever Page2 pops, we want to print something on Page1. In normal flow, there’s no method from Widget Lifecycle that is called when the next screen is poped! …


Knowing the basics of Flutter is the most important and worthy investment you can do while learning Flutter. You should always know how the widgets are created, rendered, updated and destroyed as it will help you to understand your code! This is also one of the favourite questions of interviewers😉!


Do you wish to check whether the user’s keyboard is visible or not? Let’s see how you can do that without using any packages!

Many times we have scenarios where we need to check whether the keyboard is visible or not. …

Abhishek Doshi

Google Developer Expert — Dart & Flutter 💙

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