Flutter vs React Native


React Native

Initial Release: 2015

Feature set:

  • UI Rendering
    Device API Access

Corporate sponsors

  • Facebook

Difficulty Curve

  • Basics contents helps you in the beginning, it’s very easy to develop an
    app.
  • But you need to depend on 3rd party libraries like navigation, state
    management system, etc

Productivity:

  • In the beginning your productivity is high. Because we are not depending
    on 3rd party libraries at the beginning stage of development,
  • Later on we are depending on 3rd party libraries like redux, navigation,
    … etc. So the productivity is low.

State management system

  • Component level state
  • Redux
  • Mobx

– It uses OEM Widgets to draw native components.
– JavaScript is dynamically typed language. So there is a performance issues.
– Development time is low compared to native code.

– It’s uses JIT for compiling JavaScript code.
– It’s needs JS Bridge to deploy React Native application.
– Chance of JANK issue when we develop GUI using animation.
– Minimal app size compared with ionic, xamarin. App size is 7mb.
– It renders 60 frames per second.
– Community support is high.
– React native, React are different libraries. React Native for mobile app
developers. React for Web developers.

 

Flutter

Initial Release: 2017

Feature set

  • UI Rendering
  • Device API Access
  • Navigation
  • Testing
  • State management
  • Widget Library

Corporate sponsors

  • Google

Difficulty Curve

  • In the beginning , flutter is difficult to memorize the built in widgets.
  • Later on, it’s easy to develop an app.

Productivity

  • In the beginning, productivity is low. Because, the developer takes
    time to memorize the built in widgets.
  • Later on the productivity is high. Because the developer will be
    familiar with built in widgets.

State management system

  • Stateful Widgets
  • Scoped models
  • Redux
  • BLOC pattern

– It is directly deployed in the ARM. So it’s not using OEM Widgets.
– Dart is statically typed language. So there is no performance issues.
– Development time is low compared to react native.
– It’s using JIT in development mode and AOT in production mode for
compiling dart code.
– It’s eliminates JS bridge.
– JIT and AOT prevent our app from JANK issue.
(JANK is jerk in an animation)
– Minimal app size compared to any other hybrid mobile application. (4.7 mb)
– It renders 120 frames per second.
– Community support is low.
– Flutter announces the support for Web, embedded, desktop and mobile
application development. We no need to depend on any other libraries for Web.