You are on page 1of 7

Flutter vs. React Native: In a nutshell https://www.thedroidsonroids.

com/blog/flutter-vs-react-native-what-to-choose-in-2021#f8
Flutter React Native

What is it? A portable UI toolkit for building natively- A framework for building native applications
compiled apps across mobile, web, and using React
desktop* from a single codebase

Official release December 2018, Google I/O March 2015, F8 Conference

Created by Google Facebook

Free and open Yes Yes


source

Programming Dart JavaScript


language

Popularity 120,000 Stars on Github (May 2021) 95,300 stars on Github (May 2021)

Hot Reload Yes Yes

Native Great Great


performance

UI Flutter apps look as good on the up-to-date Application components look just like native
operating systems as they do on older versions. ones (e.g. a button on an iOS device looks just
like a native iOS button, and the same
Since they only have one codebase, the apps look on Android).
and behave similarly across iOS and Android –
Flutter React Native

but thanks to Material Design and Cupertino The fact React Native uses native components
widgets, they can also imitate the platform design under the hood should give you confidence that,
itself. How’s that possible? after any OS UI update, your app’s components
will be instantly upgraded as well.
Flutter contains two sets of widgets which
conform to specific design languages: Material That said, this can break the app’s UI but it
Design widgets implement Google’s design happens very rarely.
language of the same name; Cupertino widgets
imitate Apple’s iOS design. If you want your app to look near-identical
across platforms – as well as on older versions
This means that your Flutter app will look and of an operating system (as Flutter achieves)
behave naturally on each platform, imitating – then consider using third-party
their native components.  libraries (like this one). They will enable you to
use Material Design components, in place of
native ones.
Sharing code With Flutter 2 (announced in March 2021), we iOS and Android – but there are select libraries
can use the same codebase to ship native apps to that allow you to use the same code to build iOS,
five operating systems: iOS, Android, Windows, Android, web, and Windows10 apps.
macOS, and Linux; as well as web experiences
targeting browsers such as Firefox, Chrome, You can also extract shared code in mobile,
Safari, or Edge. desktop, and web apps, to a separate repository;
treat it as a separate project; then inject it in the
Flutter can even be embedded in cars, TVs, and same way as another dependency.
smart home appliances. (source).
This allows a developer to focus on writing code
Perhaps the single largest announcement in Flutter for a specific platform without having to
2 is production-quality support for the web. It can consider compatibility with another one.
be used for:

 Progressive Web Apps (PWAs) that


Flutter React Native

combine the web’s reach with the


capabilities of a desktop app,
 Single Page Apps (SPAs) that load once
and transmit data to and from internet
services.
 Existing mobile apps – allowing Flutter
apps to be run on a desktop.

Find out more here.


Top apps made Xianyu app by Alibaba, Hamilton app for Instagram, Facebook, Facebook Ads, Skype,
with this Hamilton Musical, Google Ads app, Philips Hue, Tesla
technology My BMW
Time-to-market Typically much faster than native development. Possibly as fast as development with Flutter.

However…

React Native uses bridge and native elements, so


it may require separate optimization for each
platform – a problem that widget-based Flutter
doesn’t run into. It may make the app
development with React Native longer.
Competitive  Great look and feel thanks to rich widgets;  Stability (5+ years on the market);
advantage  Rapidly growing community, and  Many successful, prominent market
popularity; players using React Native;
 Excellent documentation with strong  Mature, vast community;
support from the Flutter team (which  Easy-to-learn technology;
makes it easy to start developing with  Plenty of tutorials and libraries, which
Flutter); allow quick and easy development;
 Improving Flutter for Web, offering the
Flutter React Native

potential for one codebase across mobile  Code can be easily reused for both web
and web platforms app and desktop app development.
 Difficult to beat time-to-market length

When it is not If… If…


the best fit
• Your app needs to support 3D Touch (for now, • Your app needs to handle less common, or
Flutter doesn’t support 3D – but it features on the ultra-specific tasks (like calculations) in the
Flutter team’s long-term roadmap) background

• The design of your app is platform-specific • You require custom communication via
Bluetooth (which can be tricky to implement
• Your app requires multiple interactions with an using React Native)
OS; or requires rare, little-known native libraries
• You want to create an app for Android only
• You need a minimalistic UI, but rely on
significant use of the phone hardware (e.g. an In truth, if you want to build an iOS app and you
application that plays music, or only takes know JavaScript, consider React Native – but if
pictures) you want an Android-only app, it’s likely better
to build natively with another team. Why? Right
• You want to create an instant app (small-sized now, iOS has better support than Android.
app)
If your app sounds like any of the above, it’s
If your app sounds like any of the above, it’s probably better you consider choosing native app
probably better you choose native app development.
development.

Read more about these cases here >>


https://doit.software/blog/flutter-vs-react-native#screen17

Choose Flutter Choose React Native

The app will use the visual representations of


The app will exert a heavy load on CPU/GPU
UI native components exclusively
The development team of your choice is
The UI will need a lot of detailed
fluent in JS/React/React Native (which is more
customization
likely than Dart fluency)
There’s a chance the app will go beyond
The app is relatively simplistic and meant to
mobile, or the next app will benefit from the
be lightweight
experience of the current team
Fit for development on wearable and
The app is web-based and / or mobile (iOS &
embedded devices, PCs, and vehicle
Android) only
infotainment systems
Facebook services, Walmart, and Wix use
Google Ads, Stadia, and Grab use Flutter
React Native

https://www.jianshu.com/p/85a77bb8d926

Flutter is comparatively a new language for developers, therefore it required additional learning efforts whereas React Native is based
on JavaScript and developers are familiar with it.
https://ieeexplore.ieee.org/author/37394446700
https://www.researchgate.net/profile/Binod-Vaidya-2

You might also like