Blog

by Resourcing People

The number of smartphone users worldwide has officially hit the six billion mark, and it’s still on the rise. In addition, mobile apps account for 90% of the total time spent on a smartphone, while the web accounts for just 9%. So, it’s safe to say that mobile apps are steadfast companions in day-to-day life.

 

The popular kids on the block 

Of all the frameworks that can be used for developing cross-platform apps (and there’s a fair few), Flutter and React Native are the two leading players in the market - but there’s an ongoing debate over which one comes out trumps. The race is tight, as both are equally popular amongst developers. Boasting multiple benefits, both are responsible for creating some well-known and incredibly effective apps. For example, React can be credited for Instagram, Netflix, Amazon, Uber Eats and Pinterest, whilst we have Flutter to thank for eBay, Groupon, Stadia, Reflectly and Baidu. 

In our previous blog we shone the spotlight on React Native, and now we’re going to lift the lid on Flutter. 

 

Hello, Flutter 

Created by Google in 2017, Flutter is an open-source UI toolkit that consists of two key parts - a Software Development Kit (SDK) or collection of tools that enables cross-platform app development from a single codebase, and a widget-based UI library. It uses the programming language Dart, also created by Google.

 

Why Flutter is the first choice for some​​​​​​​

  • Backed by Google - as previously mentioned, Flutter is owned by Google which makes it a popular choice due to the extensive resources allocated to it and continued investment.

  • Based on Dart - Dart is a fast, object-oriented programming language used to code Flutter apps, and as Google owns both, they can evolve together and work in perfect alignment. Dart is also relatively easy to learn, especially for developers with experience of Swift or Java.

  • Speed - the speed of development in Flutter makes it the number one choice for many developers.

  • Ease of use - Flutter is considered an easy-to-use SDK with its timesaving widgets that create stunning aesthetic views whilst providing cross-platform consistency.

  • powerful toolkit - Flutter is well known for being a high-performance framework. It’s continually being developed to support more platforms and this, coupled with its pipeline of future releases, means the possibilities could be endless.

  • Enhanced performance - with each release of Flutter comes a huge performance boost. Some developers have reported apps being up to 50% faster since the last release.

  • Increasing fan base - Flutter is already loved by a legion of loyal developers and has over 109,600 stars on GitHub.

  • Single codebase - the ability to write in a single codebase for every platform is a huge plus, saving tons of time and ultimately money, making life easier for developers.

  • Expressive and flexible UI - the UI in Flutter is widget based. Such widgets are readily available and easy to use for the development of native-looking apps for iOS and Android. The UI is particularly friendly and features designs users will love.

  • Free and open-source - available for use, modification and distribution by anyone, anywhere.

  • Faster apps - Flutter apps perform quickly and smoothly, much to the satisfaction of developers and users.

  • Perfect for MVP’s - if time is limited, Flutter is great for creating a Minimal Viable Product.

  • Hot reloading - developers can see their changes immediately.

 

Fluttering into the future

Flutter is seen by some as React’s younger sibling, and as it’s much newer it’s assumed the SDK has some catching up to do. This isn’t the disadvantage some think it is, however, as improvements are happening at such a fast pace and in many areas it’s already classed as fairly mature. 

The Flutter community is also expanding rapidly and there continues to be growing excitement and popularity surrounding the framework. So, Flutter is already several steps ahead of some of its competitors in the mobile app development arena.

“The community of Flutter developers is growing. Together with the popularity of the platform, the course has been set for growth. Although Dart is not as popular a language as JavaScript, it has a huge and committed community with local and digital meetups.”

(Source: Quora)

Stack Overflow data highlights a remarkable increase in developer interest when it comes to using or wanting to use Flutter. The number of developers enrolling on Flutter and Dart courses have increased - Udemy shows there are more than 257 Flutter courses with an estimated 410,000 course participants, and 75 Dart courses with an estimated 608,000 course participants (figures from May 2021). The number of React Native course participants is lower, with approximately 866,000 students across 133 courses. (Source: www.udemy.com)

In addition to the number of developers showing a keen interest in the framework, the number of companies interested in adopting the SDK is increasing too. For all the reasons listed above, there is a growing belief that Flutter app development is the future of cross-platform development. 

 

Ending the battle once and for all - React Native V. Flutter

There are many similarities between Flutter and React but there remain some key differentiators. Flutter is based on Dart and React Native is based on JavaScript. That said, both follow object-oriented principles which means they’re fairly similar in terms of their code and in terms of design. They're free and open-source and both have well-maintained and extensive libraries containing rich documentation. Both boast extensive and mature toolkits and easy-to-use ready-made solutions. They both enjoy an extensive and loyal developer community who provide great support, and popularity and excitement for both continues to rise. They’re both impressive technologies that are enjoyed by developers, companies and users alike. They’re both mature, reliable and have the enduring loyalty of their fanbases. 

In terms of performance, it’s a close race. Both boast ease of use, speed, a flexible UI and hot reloading which increases developer productivity. Both frameworks have an array of useful tools such as debuggers, tools for type-checking, code verification and test automation. They're both extremely versatile, easy to learn, and can be used in a variety of situations. 

 

When is it best to use React? 

When you strive for maximum speed of development, you need to cover all platforms, you want a single codebase and a simplified support process. 

 

When is it best to choose Flutter? 

You want your app to have a more complex or visually enhanced design, you require a faster time to market, or you’re focusing on only one platform for now.

It’s impossible to say which one trumps which - if it was as clear cut as that, the Flutter V. React debate wouldn’t be the hot topic it continues to be.  As we know, Flutter is a Google creation and React was created by Facebook, so it will be interesting to see how the battle pans out as these tech giants continue to invest in and promote their products. 

We are Resourcing People. With an ever-evolving market and acute shortages in skills, organisations must be agile to succeed, and so your talent provider must be too. That's where we come in - we’re driven by tech and powered by people.

We’re well connected with the best IT talent, so if you’re a client looking for your next top developer, talk to us. And if you’re a candidate looking for your next career move, we want to hear from you too.

Get in touch with us today.