Cross-platform apps are tempting for founders and CTOs looking to launch a product to the market ASAP. Frameworks such as Flutter allow your developers to create only one code base shared across operating systems. In theory, that can mean you halve your development time, cut some costs, and have an attractive product in the end.
However, Flutter does come with some caveats and, in some cases, isn’t the best choice for every business. As in all things software related — it depends. Broadly, the Flutter framework is not fully ready for apps that need to work with areas of low-level code.
In other words, developers would need to create custom bridges between low-level native code and Dart, the programming language that powers Flutter. While it’s technically possible, those types of workarounds are cumbersome and time-consuming. Better, native solutions exist.
As a few examples, native technologies would be better suited to apps that deal with heavy video editing, augmented reality, or even some games.
One thing that is certain, though, is that Flutter app development is gaining traction. With popularity comes more momentum to continue to develop the framework. Currently, there’s a growing community of developers contributing to asset libraries and working out some of the problems.
Several of the things that were once cons of Flutter are no longer true. One of the biggest is that it’s not just for mobile anymore. Since March 2021, browsers now support it, meaning it’s now possible to develop Flutter web apps. Flutter web was supported by all browsers by default since the beginning because flutter is being compiled to native code. Another is that with its growing popularity, there’s a deeper resource base for developers to rely on. Previously, developers had to code functionalities from scratch, but now many of those resources are available for developers to use, which greatly speeds up development. This means more productive sprints and lower overall billable hours.
Flutter as a whole can be a great choice of framework, especially if you want to test your business idea with an MVP or if you’re under time pressure to launch your app as quickly as possible. Let’s look at some of the pros and cons of Flutter, when to use it as well as some of the products on the market that already have a Flutter app.
Flutter is an open-source software development kit that uses one code base across operating systems. Google started talking about Flutter, known then as Sky, in 2015 and finally launched the framework in 2017. They continue to release updates and new versions, the latest of which was in September 2021. Flutter’s latest update improved full-screen functionality for Android, among other things. One of its key benefits is its versatility. No matter what device your users access the app from, it all renders quickly and correctly for the screen.
- Shared code base across operating systems
Your developers only need to create one code base that works on both Android and iOS. It means that you’ll cut down on manpower and total hours in your project.
- Flutter’s “hot reload” feature speeds up development even further
Flutter developers can write, edit and test most features in real-time and can tweak and troubleshoot the UI very quickly. What takes Flutter developers one step would take native app devs several steps to complete.
- Streamlined quality assurance
A shared code base means there’s a lot less code to test. And since the hot reload enables devs to make changes quickly, testing is a whole lot easier. For example, two native apps would need 16 hours of QA, and a Flutter app with the same design would only need 5 hours.
- A great choice for minimum viable products
Since development is faster compared to native apps and the widgets are fully customizable, it’s a great choice if you’re trying to test out an idea on the market.
- Limited asset libraries
This limitation of Flutter is rapidly improving and is not as much of a con as it once was. However, Flutter repositories are still not nearly as extensive as native ones. Depending on the app's complexity or specific functionality requirements, there may not be a library to support it. If that’s the case, developers might have to create it from scratch, which can delay development. Of course, the community around Flutter is active and growing, so this will continue to be less of a negative.
- Fixed app size
Since Flutter uses built-in widgets, Flutter apps tend to be larger than their native counterparts. In some cases, this can be a problem for users who have limited space on their devices. There are some ways to optimize a Flutter app that can counteract this, though.
When to use Flutter
Flutter is perfect for MVP development due to the streamlined development process and straightforward testing. So for companies trying to get a product to market ahead of competitors or for startups to test the market, it’s a good choice.
Even for more established businesses, Flutter can be a good choice of app framework because it’s flexible. You can develop and change a product much more quickly with Flutter and at a fraction of the cost of native app development. Performance and UI are just as good in many cases.
Many businesses are currently rewriting their native apps in Flutter to reap future benefits. It’s much faster to update and add new features than in native apps.
Existing Flutter Apps
Payment processor Google Pay operates globally and has millions of users. As the app expanded into new markets, it encountered new challenges. Early on, Google Pay was a native Android app, but as it entered markets with large numbers of iOS users, it became too expensive to maintain two code bases as well as launch new features for both operating systems. So Google developers turned to Flutter to solve problems with complexity and shore up costs.
My BMW App has been fully developed in-house using Flutter technology. BMW’s Flutter development team is one of the world’s largest after Google’s, bringing together 300 employees. The new app platform is built on three pillars: user-friendliness, safety, and reliability. It provides a consistently designed set of functions spanning all brands based on feedback and our customers’ usage behavior.
The ability to hot-reload the app on a desktop and deliver it to iOS and Android tablets is extremely helpful for user testing, helping Toyota collect faster feedback for a better user experience. Toyota is currently using Flutter’s Embedder API to develop their Linux-powered infotainment systems. By cross-compiling the engine and wrapping it in an embedder, the Flutter engine’s architecture makes it easy to embed in their target environment.
Abbey Road Studios
Songwriting app Abbey Road Studios helps songwriters record their ideas for songs whenever and wherever they are. They started with an iOS app, but people around the world wanted an Android version too. So they had to develop an app very quickly to hold people’s attention as well as beat any competitors to market. So they decided to use Flutter to develop a fully functional app rapidly.
Google’s CrowdSource is a fun and engaging way for people to help train the artificial intelligence that runs many of Google’s services such as Maps, Translate, and Photos. Part of the app’s success is its many users, many of whom don’t just use Android and iOS devices. Getting a large enough sample size from the broadest groups possible. Flutter lets developers reduce the size of the code base and improve their development speed.
Wellbeing app Reflectly is a journaling app that encourages users to reflect on their mental health and overall well-being. The app’s developers prioritized clean design and responsive elements as an essential part of the app. Native frameworks posed challenges with appearance as well as latency. They chose Flutter for its performance and streamlined development.
For the environmentally conscious, Warmd helps you track your carbon emissions in an accessible, engaging way. It helps you visualize your own habits against the average and suggests ways to reduce your own emissions. The Flutter UI is responsive and intuitive.
Considering the pros and cons of Flutter, it’s a great choice of framework if you’re trying to reach the greatest number of users and get an app on the market quickly. Developers, CTOs, and business owners alike are using Flutter for its user-friendliness and cost-cutting benefits.