Angular Vs React

Angular

    1. Is a full framework
    2. Has a Regular DOM, which renders updates slower than React’s Virtual DOM
    3. The rendered JavaScript and HTML maintains a physical separation
    4. Utilizes Components: emerging web components standard
    5. Data Binding: two-way
    6. You must use TypeScript. TypeScript is transpiled to javascript.
    7. Mobile: Ionic and Cordova are slower than React Native
    8. Testing: Jasmine & Mocha
    9. Learning Curve is higher, but once you understand it you have an entire MVC framework. But as application gets bigger, you have use to use 3rd party libraries for state management like Redux or Mobx. Angular scored more for OOP programmer
    10. Scalability: easy to scale
    11. Open source: GitHub stars: 40,963 / Contributors: 732 / Issue: 2,162
    12. Size: larger, resulting in longer load times and performance on mobile

react

    1. Just a small view library
    2. Has a Virtual DOM, which renders updates faster than Angular’s Regular DOM
    3. Uses JSX, which combines markup and logic in the same file
    4. Components: emerging web components standard
    5. Data Binding: one-way
    6. You Can use ES6/7 JavaScript, although you can use Typescript or Flow if you so choose
    7. Mobile: React Native is faster than Angular’s solutions
    8. Testing: Jest & Enzyme
    9. Learning Curve is lower, but you only get the view. Because of this, you’re going to have to learn a slew of 3rd party libraries. Ex. State management (Redux or MobX), Asynchronous calls (react-promise, react-thunk, or react-saga), etc.
    10. Scalability: easy to scale
    11. Open source: GitHub stars: 111,927 / Contributors: 1,242 / Issues: 287
    12. Size: smaller than Angular, so a bit faster and fast loading on mobile

React Fiber will increase the speed of React dramatically

Angular provides following “out of the box”

  • Templates, based on an extended version of HTML
  • XSS protection
  • Ajax requests by @angular/HTTP
  • Utilities for unit-testing components.
  • Routing, provided by @angular/router
  • Component CSS encapsulation
  • Dependency injection
  • @angular/forms for building forms

React provides following “out of the box"

  • Instead of classic templates, it has JSX, an XML-like language built on top of JavaScript
  • XSS protection
  • Fetch for Ajax requests
  • Utilities for unit-testing components

Thanks to https://programmingwithmosh.com/react/react-vs-angular/