What is Google Flutter?

 In Software Development

Mobile apps are everywhere. With global mobile app revenues estimated to reach nearly $1 trillion by 2023, it’s no wonder companies are developing and releasing their own branded apps. Many are looking into two of the hottest cross-platform development technologies out there, Flutter and React Native.

Companies today are looking for options to build mobile apps faster and with fewer resources. The two major mobile operating systems, iOS and Android, have their own native tools and technologies to build apps, but they require developers to learn two sets of technologies to do it. It essentially duplicates the amount of time, effort, and money needed to build an app, which can be prohibitive. So, companies have started to adopt hybrid mobile app development solutions to build apps for iOS and Android faster and more cost-effectively.

Comparing Flutter and React Native

Flutter

React Native

Owner/Creator Google Facebook
Official release date December 2018 March 2015
Open source? Yes Yes
Programming language Dart JavaScript
Popularity (as of Nov 2019) 80,000 stars on GitHub 82,800 stars on GitHub

Let’s take a closer look at the two platforms to see how they measure up. Both Flutter and React Native are open-source, cross-platform tools for mobile app development. Flutter is a comprehensive app software development kit (SDK) with plenty of widgets and tools built-in. React Native is a mobile application framework that uses a single codebase to develop applications; it relies on third-party components to communicate and compile code into mobile apps.

mobile-application-development-meeting

Benefits of Flutter and React Native

Hot reloading reduces development time (Both): Developers can use the hot reload feature of both Flutter and React Native to inject new code directly into a running app. They can see changes instantly, without rebuilding the app, reducing the time it takes to add features, fix bugs, or experiment with new features.

A single code base reduces code management time and effort (Both): Flutter and React Native allow developers to write just one codebase for two applications, the iOS and Android versions.

Save time on testing efforts (Both): Teams can save testing time since they will run fewer automated tests on the code because there is only one code base to test. This time can be devoted to manual app testing, which still must be done for each app on each platform.

Fewer coding challenges through a mature platform (React Native): Because the official code release was more than four years ago, React Native has a more stable API, which means developers face fewer coding challenges. The major bugs have already been worked out. React Native is written in JavaScript, which has been around for a long time and drives most modern-day websites. That said, a lot of developers already know React, and the leap to React Native is minimal.

Faster app development and performance (Flutter): Flutter uses the Skia graphics library, which shifts UI refreshes and redraws to the graphics processing unit. This means smoother scrolling and UI viewing.

Get support through the robust and active support community (React Native): React Native has a large developer community and a wide variety of tutorials, libraries, and UI frameworks that make it easy to learn and develop with it.

mobile-application-developer

Drawbacks of Flutter and React Native

Small development community (Flutter): Because it’s a newer platform run on a younger programming language (Dart), Flutter has a smaller development community and support network than React Native. It is growing rapidly but is still smaller than React Native.

Fewer libraries lead to higher development costs (Flutter): While Flutter has many libraries that cover many app functionality options, you may not be able to find the right functionality you need for your app. This means you’ll have to build custom functionality for your app, leading to increased development time and costs.

Fewer components available out of the box (React Native): Out of the box, React Native only supports basic components like buttons, loading indicators, or sliders. That means you’ll have to load third-party repositories and libraries for the rest, which costs time and effort.

Many abandoned and low-quality libraries (React Native): React Native’s maturity means there are a lot of libraries and packages available out there. Many may be low quality or even abandoned, costing you time and effort to sort through, which are still valid and useful.

Large app files (React Native): Apps created with React Native tend to be larger than Flutter apps because of OS-specific issues: Android doesn’t run JavaScript by default and needs the JS Virtual Machine to be included with it; iOS apps are still bigger than ones created natively.

Platform maturity risk (Flutter): Google is known to pull support for even popular products, so there’s always a risk they’ll do the same for Flutter. Given how fast it went from beta to full release (less than a year), however, developers should remain hopeful it’ll stick around for a long time.

Who’s Using Them?

Since React Native’s been around longer, there are more apps built on it, including Instagram, Facebook, Pinterest, Skype, Tesla, Bloomberg, Delivery.com, and Salesforce.

Apps currently built on Flutter include Xianyu (by Alibaba), Hamilton (the Broadway musical), Google Ads, Groupon, Philips Hue, the New York Times crossword puzzle app, and Square.

As companies look to create more branded experiences, they’re looking at mobile app development. Hybrid mobile app development platforms like Flutter and React Native can help you do that. They’ll help you reduce the time and effort of your app development and get your mobile app out to the market faster.

Are you interested to learn more about our Software Development? Download The Ultimate Guide to Software Requirements eBook.

ebook-software-requirements-wide

Recent Posts