Is Flutter Good for Your Business? 10 Pros & 5 Cons To Help You Decide
By: Kamil Powałowski
Tags: Development, Mobile App Development, Software Development, Flutter, Business

Flutter for Your Project: Pros

1. Faster Development

Flutter is a cross-platform solution, so one codebase can be run on both Android and iOS. This saves a lot of development time. Of course, it will not be cut in half, but it is safe to bet that writing one codebase for both platforms will take “ at least one quarter less” than writing separate projects for both platforms. I and other of our developers also think that writing Flutter apps is easier than writing native applications — we wrote an article about it some time ago.

2. Simultaneous App Updates on Android and iOS

The same codebase for both platforms allows you to release app updates simultaneously. This one is hard to achieve when there are separated projects for both platforms. Different availability of developers, or longer implementation on one platform makes synchronizing difficult. The problem grows when an application update also requires changes in backend infrastructure.

Flutter and other cross-platform tools remove this problem because we make applications for both platforms at the same time. Of course, it is worth remembering that iOS application must pass Apple review each time it is updated.

3. Easier to Maintain and Develop New Features

When your apps are ready and published, you can focus on expanding the user base. This often means moving the app to the maintenance mode, in which fixing bugs is a top priority, and adding new features goes on a second track.

On this step, startups often think about creating their own team. With Flutter, it can be easier because you have to hire one developer instead of one for iOS and the other for Android.

4. Future-proof: Instant Fuchsia Support

Google is working on a new operating system called Fuchsia. There is vague info right now about what this system can be, but there are speculations that Fuchsia will eventually replace Android. Flutter is a native framework for Fuchsia apps. If you write an application in Flutter, you will be ready to release it on Fuchsia from day zero. This can give your app an early adopter boost.

5. A Perfect Choice for Advanced UI

Flutter renders all parts of the interface using internal graphics engine called Skia — the same that is used in Google Chrome, Mozilla Firefox, and Sublime Text 3. This fast and well-optimized piece of software allows Flutter to behave differently than most of the other mobile development frameworks.

Using Flutter is closer to writing a game. From the operating system, you get a blank canvas, and all UI elements are drawn by application. Flutter team put tremendous work to recreate Material UI components and Apple Design System elements internally. Of course, you can also make your own components, and this is a point where Flutter will shine. Creating good looking custom UI elements is very easy, and you will have them working on both Android and iOS. This makes a Flutter a perfect choice for apps with advanced, custom UI designs.

6. Easy Adapting to Different Screen Dimensions

Flutter layout system and declarative nature of framework itself makes writing and fitting views to different screen dimensions easier than in iOS SDK. Making animations is also smoother than in native iOS and Android. Moreover, looking at the roadmap of Flutter, we shouldn’t wait long for support for desktop and web applications.

7. One UI Design

If you want an application that looks native on iOS and Android, we probably won’t recommend you Flutter. This will be explained in the cons section, but now let’s get back to the pros.

With one codebase for both platforms, you will only need one UI design prepared by designers. The cross-platform application usually follows Material Design principles, with only small adjustments for different platforms (which Flutter usually handles by itself) or makes the whole UI look custom, with elements based on the best solutions taken from iOS and Android.

8. Technology Tested by Giants

Flutter is still relatively new (the first stable version was published on December 4th, 2018) but it is already tested in the field by such companies as Google (Ads and Greentea apps, an interface of NEST Hub device), and Alibaba (Xianyu app). Google is a maintainer of Flutter, so this may be not authoritative, but Alibaba with over 50 million users or Reflectly mentioned in “New Apps We Love” category by Apple gives you the idea that you can trust in Flutter as a technology for your next product.

With one codebase for both platforms, you will only need one UI design prepared by designers. The cross-platform application usually follows Material Design principles, with only small adjustments for different platforms (which Flutter usually handles by itself) or makes the whole UI look custom, with elements based on the best solutions taken from iOS and Android.

9. Access to Device Features

One of the main reasons why people are scared of cross-platform solutions is a problem with access to native features. After all, that makes your app outstand simple webpage is the usage of camera, GPS, or haptic feedback. It could be easier, but of course, you can use these features in Flutter as well.

You have to prepare iOS or/and Android code (in Objective-C/Swift or/and Java/Kotlin) and send data to Dart (which is the primary language used in Flutter) by a special mechanism called platform channels. Flutter core team and community prepared channels for most native functionalities of your phones, so you don’t have to write them on your own. If you want to use something more unpopular (like a native library), channels are waiting for you.

» Check Out How We Saved a Lot of Time on Developing Website and App for KeyForge

10. Compiled Code: Stable Performance

Unlike ReactNative, NativeScript or Ionic Flutter code is compiled when the application is built for distribution. It won’t require to use the JavaScript engine to communicate with native components neither web view to display its content. As mentioned earlier, the Flutter code is drawn on system canvas. This gives the application an additional performance boost. In fact, the framework team is proud to provide stable 60/120 FPS performance on most of the devices.