React Native vs Flutter

Google’s Flutter platform does look very interesting.  In many ways it is similar to React Native.

I would say though that Flutter is not battle-tested yet.

Similarities

  • reactive-style programming patterns for views
  • reactive-style “virtual DOM” for updating “real DOM” (note: in a native app there is not actually a browser DOM, but a tree of UI components; same concept though)
  • backed by big companies (RN = Facebook, Flutter = Google)
  • open source: RN = https://github.com/facebook/react-native, Flutter = https://github.com/flutter/flutter

Differences

  • Language: RN = JavaScript, Flutter = Dart (AOT compiled, strongly typed) [comment: it’s a cool language, but who uses Dart outside of Google really?]
  • UI Widgets: RN = native UI components, Flutter = provides its own customized components drawn on a native canvas (OpenGL or similar), which interestingly is like Adobe AIR or Unity
  • Real World App Examples:
    • RN = Facebook, Instagram, WIX, Facebook Ad Manager, Telsa, Walmart, Skype, Bloomberg, AirBnB, Gyroscope, Myntra, UberEats, Discovery VR, …
    • Flutter = Hamilton, ?
  • Time period since initial release: RN = Jan 2015 (initial release), Flutter = May 2017 (initial release), changed current status from “alpha” to “beta” in Feb 2018 (days ago)

Some Graphics

Google Trends: 5-year comparison of “Flutter” vs “React Native” search terms
March 2018 GitHub repository status for Flutter
March 2018 GitHub repository status for React Native