In this article, I am going to introduce you to flutter and google’s toolkit for building native apps on iOS and Android mobile app development from a single code base.

In fact, since last year, we have seen global brands from all around the world using flutter to build mobile app development services.

Main challenges businesses face in both designing and developing apps

  1. Reach & Retention
  2. High-quality look/feel
  3. Time to market
  4. Affordability

Above all challenges still, exist because the current options out there all involve compromise. In fact, there are 2 main ways to build apps today. Each which pose a different set of compromises on these four priorities. Simply,  call it the dilemma of mobile app development.

On that falls for neither of these sets of compromises. It’s fully native and everything written in flutter compiles directly to native machine code, meaning what you get on your phone is exactly what was written.

There is no context switch. But it’s also a single code base.

Now officially released flutter 1.2 and you can go to and download it directly, or if you already have a flutter, simply update.

Flutter Create

There is a competition for developers to build an app in flutter within less than 5 kilobytes of dart code. There are 3 common ways of people are using flutter today.

1. Build flutter for another OS

If you have an idea or an app that you want for your business, now would be a perfect time. Because you develop in one place, ships natively all platforms.

2. Build a brand new app for both iOS and Android

If you already have an iOS or an Android application and you want to build the other one to reach more users, you can build that other one with flutter and get it out quickly and eventually merge the code bases.

3. Add flutter to an existing app

Even you have already built the application for your businesses, you can use flutter for that. In fact, that’s what Alibaba did. They incorporated flutter to rebrand some of their pages but they didn’t

Lose the 50 million installs they had. It was simply an update.

Integrating into an existing app

Initially, Google had evaluated multiple options,

1. Build a brand new app for the new program

2. Extend the native functionality for the new program

3. Take a cross-platform approach to build once and deploy it twice.

Finally, decided to come across flutter. When we look at it, its capability of being able to build cross-device and also the speed of application development.

However, it makes sure that whatever we build integrates well into our existing functionality and it is stable. It also no performance degradation when merchants used the app for business.

Flutter payment with Square

Since launch, what we’ve seen with flutter is incredible adoption. In fact, over 30% of active developers building applications using the square in-app payment SDK are flutter developers. Everyone of a square is building an application for a flutter.

Following image shows the actual product experience you will get inside of the application on flutter and this is about 5 lines of code. This guided experience is provided to every single developer and they’re able to customize many different aspects of this as they see.

Simply, it’s easy to build the application that takes payments using flutter.

Codemagic by Nevercode

A business should be able to test and deliver mobile apps seamlessly throughout the development process. We should be able to focus on making a great product and have the testing and delivery process automated.

Before codemagic, They have been building their automated testing and deliver products with mobile developers in a company like Toyota, Sainsbury’s and Walmart.

And they made a dedicated service specifically designed for a flutter. That service is Codemagic.

Codemagic automates all the manual work to get your app to the users. This is a free service and businesses can use it to test and deliver their app seamlessly, and developers can focus on building a great product to making users happy.

Flutter architecture overview

Flutter architecture is layered and not an intermixed.  If there’s anything that we want to do to extend flutter, either on top by building our apps, in the middle by forking it or adding functionality in between that, simply we can do that with flutter.

At the bottom of the architecture is the engine and it built in c++ code. It means to be the fastest possible thing it can be. it’s built at the low level to do a drawing, low-level rendering and also have dart run time at the bottom level.

On top of that, everything else is built with a dart.

When it comes to features of a modern UI framework, we want something to be declarative.

Let take something that we have from the web. Traditionally, before the web, when we wanted to say, layout something what we have on the above. We’d say, “we have an image and it starts in the upper left”, “it has a certain height”, “offset it” and blah blah.

Now that platform channel idea has led to a whole ecosystem of plugins because the idea of a plug-in is, dart code + platform specific code for one or more platforms.

dart package is just dart code right but a plug-in is a piece of flutter code that can target the native platform using those platforms channels and so if we want to write that native code, we can but if you don’t want to, you can just go to relevant URL and type in a search word. See if one of the 1,400 components that are already there, serves your needs.

Flutter team has put a bunch up there and other members of Google have put a bunch there and there are some great ones from the flutter community and Square has built.

Flutter 1.2 which comes with a number of framework features including animation, easing functions Android app bundle support and as I mentioned those are from third parties. Those don’t come from the flutter.