Alfonso Cartes
Alfonso Cartes

4 min read




Flutter is Google's UI toolkit for building beautiful, natively compiled applications for mobile, web, and desktop from a single codebase.
Google's Flutter Team

This last part: "single codebase" is essential. With one codebase, one development team, and one design team, you can get a native app that works on iOS, Android, Desktop, and the Web.

Usually, when a company wants to develop a mobile application, they have to hire a team of developers and designers for iOS that will design and code the app specifically to run on iOS devices. After the iOS development is done, another team with experience in Android design and development has to do the same thing.

You might have to double the cost and deal with two different teams of people. Shortly, that team can also develop the app for the web and desktop.

There are other ways of making multi-platform apps, but they use web layers like PhoneGap or Ionic that significantly impact speed, battery, and UI/UX. With Flutter, everything is compiled to native ARM code, and you get great performance results.

There are also other popular cross-platform development SDKs like React Native and Xamarin. They also do not rely on a web layer.


Having one team, one codebase, and one design paradigm that gets adapted to different platforms drastically decreases the chance of crashes and bugs. This provides a significant increase in the quality and stability of the final product.

By having fewer lines of code to maintain, the app can iterate not only faster but better. The chance of something breaking is smaller. The team can focus on details to make the apps better instead of worrying about compatibility problems for each platform.

Flutter lets you run the app in older OSs without any problems because Flutter is rendering everything by itself.

Your business gets access to a bigger user base in all parts of the world, especially to those users that do not have the latest and greatest devices.


Flutter lets you add new features for your users fast. Instead of getting one team to implement a new feature in the iOS app and the other team for Android and waiting for feature parity before launching the new feature, Flutter lets you do all of this at once, with one team and one codebase.

Bug fixes and UI/UX fixes can be done only once for all platforms. This is huge and makes the long term cost of the app much smaller and the launching of updates much quicker.

Flutter lets you develop better apps faster. With features like Hot Reload, the speed of development is a lot faster. This is an essential feature in a world where users spect new features all the time, and you need to distance yourself from your competitors by getting to your users faster.

4. UI/UX

Delight your users with Flutter's built-in beautiful Material Design and Cupertino (iOS-flavor) widgets, rich motion APIs, smooth natural scrolling, and platform awareness.

The layered architecture allows for full customization, which results in incredibly fast rendering and expressive and flexible designs.

Flutter customization means that your app doesn't have to use specific platform components. Just like a video game, you can make your app look and feel as you like. You can differentiate from your competitors and have your unique design aesthetic.

Flutter showcase provides a set of apps made using Flutter that looks and feels amazing and has unique designs. You can also check out our Portfolio.


The fact that Flutter is a complete SDK and that it contains everything it needs to run natively implies that it can be ported to a wide variety of devices. When new platforms or new OS versions get supported by the SDK, most of the code will work.

I like to think of it as a video game made with Unreal or Unity. You can make the same UI and app logic for different devices compiled to native ARM machine code using Dart's native compilers.

Flutter for web is now in beta. Soon there will also be support for Flutter for desktop.

Tell us about your project.