Flutter vs React Native, which one is better in 2021 ?

React Native by Facebook and Flutter by Google — two hot cross-platform app development technologies creating a buzz. In this post, we will compare both of them in detail from a developer’s perspective.

Due to the growing popularity of mobile apps, almost every company needs a mobile app or apps to remain competitive in the market. And what is more, companies are looking for an option to build mobile apps, especially for iOS and Android, with faster speed and less resources. Obviously, Apple and Google have provided native tools and technologies to build apps. iOS app developers can build apps using Xcode and Swift, while Android developers use Android Studio and Kotlin/Java. However, this requires engineers to learn two completely different sets of technologies. As a result, companies have started to adopt cross-platform solutions over the native solutions to build apps for both iOS and Android faster using a single language.

What’s Flutter and React Native

  • Programming language
  • Technical architecture
  • Installation
  • Setup and project configuration
  • UI components and development API
  • Developer productivity
  • Community support
  • Testing support
  • Build & release automation support
  • DevOps and CI/CD support

Now that we have defined all our criteria, let’s start exploring each of them in detail.

Programming Language

React Native — JavaScript

Flutter — Dart

Analysis & Result

React Native takes the first point

Winner: React Native

Score: React Native 1 — Flutter 0

Technical Architecture

React Native — Flux

Flutter — Skia

Analysis & Result

Winner: Flutter

Score: React Native 1 — Flutter 1

Installation

React Native — NPM

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
$ brew install node
$ brew install watchman$ npm install -g react-native-cli

After running these commands, we can access react-native from the command line.

Flutter — Binary Download from Source

$ curl -O https://storage.googleapis.com/flutter_infra/releases/beta/macos/flutter_macos_v0.7.3-beta.zip$ unzip flutter_macos_v0.7.3-beta.zipexport PATH=[PATH_TO_FLUTTER__DIRECTORY]/flutter/bin:$PATH

Flutter should improve the installation method by supporting package managers like Homebrew, MacPorts, YUM, APT, etc so that users wouldn’t need to perform these extra steps during installation.

Analysis & Result

Point goes to React Native

Winner: React Native

Score: React Native 2 — Flutter 1

Setup and Project Configuration

React Native

$ react-native init MyProject
$ cd MyProject
$ react-native run-ios

There is no setup guide for Android projects in the React Native document.

Flutter

$ flutter create MyProject
$ cd MyProject
$ flutter run

At this stage, you should have all the setup and configuration for the Flutter project.

Analysis & Result

Draw

Winner: Flutter

Score: React Native 2 — Flutter 2

UI Component and Development API

React Native — Less Components

Flutter — Rich in Components

Analysis & Result

Point goes to Flutter

Winner: Flutter

Score: React Native 2 — Flutter 3

Developer Productivity

React Native

Flutter

Analysis & Result

Draw again

Winner: React Native

Score: React Native 3 — Flutter 3

Community Support

React Native

Flutter

Analysis & Result

Point goes to React Native

Winner: React Native

Score: React Native 4 — Flutter 3

Testing Support

React Native

Flutter

Analysis & Result

It’s a close match

Winner: Flutter

Score: React Native 4 — Flutter 4

Our competition has come to an interesting stage and every point will now be important.

Build & Release Automation Support

React Native

Flutter

Analysis & Result

Flutter goes to lead

Winner: Flutter

Score: React Native 4 — Flutter 5

Flutter has got 5 points, which means that React Native has to score the last point in order to tie the competition.

DevOps and CI/CD Support

React Native

Flutter

Analysis & Result

We have a winner!

Winner: Flutter

Score: React Native 4 — Flutter 6

It was very close indeed but Flutter is the winner of this competition. React Native fought back till the end but Flutter is the champion in today’s race!

Conclusion

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store