Versus
    32-bit vs 64-bit
    Annotations vs Decorators
    BigQuery vs Bigtable
    Block Storage vs File Storage vs Object Storage
    C vs C++
    Canvas vs SVG
    Constructor vs Init() vs Factory
    Containers vs Virtual Machines (VMs)
    DOM vs Virtual DOM vs Shadow DOM
    DQL vs DDL vs DCL vs DML
    Dagger vs Guice
    Data Mining vs Machine Learning vs Artificial Intelligence vs Data Science
    Flux vs Redux
    GCP API Gateway vs Cloud Endpoint
    GCP Cloud Run vs Cloud Functions vs App Engine
    GCP DataFlow vs Dataproc
    Google Analytics 4 vs Universal Analytics
    Google Internal vs Open Source
    HEIC vs HEIF vs HEVC vs JPEG
    Java vs C++
    Jetty vs Netty
    Kotlin vs Java
    LLVM vs JVM
    Linux vs BSD
    Microcontroller vs Microprocessor vs Computer
    Node.js vs Erlang
    POSIX vs SUS vs LSB
    Pass-by-value vs Pass-by-reference
    Proto2 vs Proto3
    PubSub vs Message Queue
    REST vs SOAP
    React vs Flutter vs Angular
    Rust vs C++
    SLI vs SLO vs SLA
    SRAM vs DRAM
    SSD vs HDD
    Software Engineer vs Site Reliability Engineer
    Spanner vs Bigtable
    Stack based VM vs Register based VM
    Stateless vs Stateful
    Static Site Generation vs Server-side Rendering vs Client-side Rendering
    Strong Consistency vs Eventual Consistency
    Subroutines vs Coroutines vs Generators
    Symlinks vs Hard Links
    TCP vs UDP
    Tensorflow vs PyTorch
    Terminal vs Shell
    Vi vs Vim vs gVim vs Neovim
    WAL vs rollback journal
    gtag vs Tag Manager
    stubs vs mocks vs fakes

React vs Flutter vs Angular

Updated: 2022-04-25

React, Flutter and Angular are 3 of the most popular frameworks to build web apps and mobile apps.

Purposes

  • React is for web, its sister project React Native is for mobile apps. React is a library, only for "view" (UI components), it needs to work with other projects (like Flux / Redux) to build a fully functional website.
  • Angular is also for web, unlike React, it is a "full" front-end framework.
  • Flutter was originally only for mobile apps, but later extended to web apps with the release of Flutter 2 in 2021.

Open Source

All 3 are open-source projects and can be found on GitHub

Popularity based on stars: React > Flutter > Angular

Big Tech Companies Behind the Projects

  • React is from Meta (Facebook).
  • Flutter and Angular are from Google.

The key difference between Facebook and Google is that Facebook has one single web stack (React + Hack), but Google has many different stacks. Flutter and Angular are just two out of many front-end frameworks:

  • Facebook: all the pages are written in React (in JavaScript)- Google:
    • ad products (Google Ads, AdSense, etc) are mostly using AngularDart (in Dart);
    • Google Cloud Console is using Angular (in TypeScript);
    • Google Pay app is using Flutter (in Dart).

Angular vs React

  • React is a UI library while Angular is a full front-end framework.
  • Angular uses regular DOM; React uses virtual DOM.
  • Angular uses two-way data binding; React uses on-way data binding.
  • React is much smaller in size.
  • React is easier to learn.
  • Angular 2+ uses TypeScript; React can also use TypeScript, though Facebook uses Flow for static typing.

Angular.js vs Angular vs AngularTS vs AngularDart

  • Angular version 1.x was called AngularJS and has been deprecated; version 2+ are called Angular (no "JS").
  • Angular once had 2 flavors: Typescript (AngularTS) and Dart (AngularDart). With the release of Flutter (also based on Dart), AngularDart is now in maintenance mode, leaving AngularTS as the only flavor.

Summary

React is still the most popular front-end framework, and Facebook will likely keep investing in it. However Google keeps killing its projects and products (the most recent example in the front-end world is PolymerProject), it's hard to predict the fate of AngularTS and Flutter, especially that Google's most mission critical sites are not using either. Flutter and Dart sound promissing since they are key parts of the new Fuchsia OS, but again Fuchsia's fate is quite unpredictable.