When a business is going to develop a mobile app, it’s common that they don’t want to limit itself to iOS or Android platform only. It’s like trying to choose which of your kids you love most: you can’t really make a preference. 

That’s the reason why cross-platform mobile development is so popular today, so that 53% of mobile developers use it to build applications. And Flutter is a modern flagship of cross-platform app development, as 42% of developers prefer to use this kit. 

 

Graph

A rapid popularity growth of Flutter after its worldwide introduction in 2018

 

So, you’ve already learned that Flutter is extremely popular with mobile developers. However, what does Flutter app development actually do, and what are the benefits? Is it so perfect that nobody can note any serious drawbacks? If you’re going to build a cross-platform app, is Flutter the best option? 

All these concerns are totally reasonable, so the JatApp team will explain to you all Flutter pros and cons and give advice whether you need to opt for this development kit.

Is the hype about Flutter worth it?

A big “YES”. Still, let’s make sure we’re on the same page and you know what Flutter is. Flutter definition by Google is the following: an open source framework by Google for building beautiful, natively compiled, multi-platform applications from a single codebase”. 

 

How Flutter works

How Flutter works

Flutter was invented in 2015, but its worldwide popularity began in 2018 at one of the Google Developer Days. Today, many large companies such as BMW, Alibaba Group, Stadia, eBay, Tencent and so on use Flutter app development for their mobile products. 

 

BMW app

BMW app developed with Flutter

However, a particularly remarkable Flutter app example can be provided by the case of Nubank. Nubank is the largest independent neobank outside of Asia that serves more than 48 million customers with safe and user-friendly mobile banking. 

 

Nubank

Nubank app and credit cards

The company’s growth was skyrocketing, so more and more mobile developers were needed to deliver the bank’s services at such a pace without compromising the quality. Consequently, a synchronous feature release for iOS and Android operating systems was a huge problem, while doing the same work twice seemed fairly unreasonable. 

So, Nubank had enough reasons to start searching for a technology that enabled the company to create a single development team. The company wanted mobile developers to work on the solution for both platforms at the same time with more attention paid to mobile frontend, thereby reducing release time-to-market. 

Thus, the company needed to pick one technology to commit to. The solution had to meet five criteria: 

  • Development process efficiency. Will the technology enable developers to be more productive and creative? 
  • Long-term value. Is it possible to support a product developed with this technology in the long-term?
  • Platform equality. Will the code work equally well for both iOS and Android platforms?
  • Scalability. Is it difficult to extend the product and add new features with this solution?
  • Flexibility. Will it be necessary to make any changes to the initial code when new features are added?

Flutter meets these criteria much better than any other kit for cross-platform development. Superior development experience, improved testing, digestible documentation, and stable application programming interface (API) were the main reasons why Nubank opted for Flutter. 

As a result, Nubank was able to scale its business fast enough without losing the quality of services they deliver. Many backend developers managed to become full-stack professionals, while recently hired engineers got onboarded fast enough, even though they didn’t have any cross-platform development experience. 

Speaking about the main success metrics, development and deployment speed should be noted. For example, Nubank managed to build a life insurance feature in three months. Additionally, the merge has become six times faster, and its success rate has grown by 30% compared to the results achieved with native development. 

For now, Flutter development is at the heart of Nubank’s culture, so that the company started experimenting with the recent Flutter update that enables Nubank to work on its web version of the product. 

You can see that the largest neobank enjoys Flutter, so why can’t your company? Well, positive emotions are undoubtedly a good thing, but you still need to think rationally. That is why we need to talk about Flutter pros and cons in detail.   

What are the advantages of using Flutter?

 

Advantages of Flutter

 

The Flutter advantages are numerous. We’ll focus on the most prominent ones and those that make Flutter different from other cross-platform development kits: 

  • Single codebase (fast development and deployment). Flutter uses one codebase for iOS, Android, and web development, so your engineers get lucky to write the code only once. Then, you can easily deploy the code to all platforms simultaneously and save nearly a half of time you would spend on native development. Moreover, Flutter uses Dart only, so it’s enough for your team to be competent with this programming language. Flutter is a convenient solution for a fast development of a minimal viable product when you need to release your app’s basic features. 
  • Instant changes (hot reload). Hot reload is a feature that enables developers to change the code and see the result right away without relaunching the entire application.  

Hot reload

Code change in action

  • Improved quality assurance. Since Flutter uses Dart as a programming language for all platforms, it means that testing takes less time. There is no need to test the same units twice, and the probability of errors is much lower. Additionally, Flutter offers a range of built-in tools for testing, so developers can be more confident about cleanliness of the code they write.  
  • Easy to learn. Working with Flutter is extremely simple, so that an engineer without any cross-platform experience and skills can start developing a Flutter app within several weeks. Also, Google provides much training content to educate and upskill Flutter developers. 
  • Cost reduction. Various sources tell about different percentages of cost savings, but it’s self-explanatory that by cutting time for development, testing, and deployment you reduce your expenses. We won’t promise you any specific amount, but you can be sure that these savings will be tangible enough regardless of the project size. 
  • Reliable support. Since Google started all this noise with Flutter, they diligently offer a quality support service. In case a Flutter app crashes, you can be sure that bug fixing will be fast enough and your users won’t even have time to get frustrated. 
  • Adjustment to any screen. Flutter has a convenient tool to adjust your app to screens of different sizes, so your product will work well on any device. On top of that, this development kit includes a rich set of widget templates you can use for designing your application. And of course, you can create a widget on your own. 

 

Flutter UI

User interface design tab in Flutter

Are there any drawbacks?

Nothing is absolute and perfect in this universe, so Flutter is no exception here due to the following reasons: 

  • Large app size. Apps built with Flutter weigh much more than applications developed with any other kit. Extra size of Flutter apps can be a reason why users will refrain from installing your product as they may not want to sacrifice so much memory space. 
  • Limited number of tools and libraries. Flutter is still a young development kit that may lack some tools and libraries you may need for building your mobile app. You’ll have to think whether you can manage a viable substitution or probably bury the idea of adding some feature.  However, Flutter 3 version was released while we were preparing this article. So, the above mentioned drawback is temporary, as new Flutter versions will provide developers with more opportunities. 
  • iOS support is not as good as Android. Even though Flutter was born to equalize iOS and Android capabilities, it’s still a Google-driven development kit, so the iOS domain isn’t its strong suit. That’s why you should be ready that support and maintenance of the iOS part of your product may appear to be a heavy lift. 
  • Flutter is still a young development kit. Both iOS and Android platforms are expanding their technical capabilities at a crazy pace, and Google doesn’t seem to make Flutter catch up. You can start building your cross-platform app with Flutter, and the kit won’t be able to provide you with the necessary instruments at some point, so you’ll have to involve additional resources to finish your product. 

When Flutter is a good choice

Okay, we’ve covered all Flutter pros and cons, but you may still have doubts: is it your go-to solution? Actually, it’s much easier to say when you don’t need Flutter. If you’re going to build a mobile app that has to include several third-party integrations, Flutter isn’t your go-to option, since this development kit may not have relatable libraries and APIs. 

Other than that, especially when you need to build a plain prototype and maximally cut the time to market, use of Flutter will be reasonable even though you have just a product idea written on the whiteboard.  

Regardless of your decision to use Flutter or not, JatApp is always here to help you with mobile application development. We have developed more than 100 mobile app products that are feature rich and have eye-catching design, so 99% of our customers are satisfied with the mobile apps we delivered them. 

Contact us, and we’ll discuss your mobile app idea and share our thoughts about how we can make your product prosper at the market.