Learn about Microsoft Technologies, eGovernance, Smart Businesses and more

Mini-Tech Series

React Vs. Angular, what we prefer?

Author: Danijel Aladin
React is one of the most popular JS library worldwide, and the community supporting and developing it is huge.
Let's start...
TLDR Version:

• React is a small view library
• Has a Virtual DOM, which renders updates faster than Angular’s Regular DOM
• Scalability: is more testable, so also easy to scale
• Size: smaller than Angular, so a bit faster
• Mobile: React Native is faster than Angular’s solutions

Normal version:

• React is minimalistic
• No dependency injection
• No classic templates
• No overly complicated features
• The library will be quite simple to understand if you already know JavaScript well

All in All:

React is actively used by such companies as Facebook, Twitter, Netflix, Airbnb, PayPal, The New York Times, Yahoo, Walmart, Uber, and Microsoft.

React uses a virtual Document Object Model (DOM), which enables easily implementing minor data changes in one element without updating the structure of the entire tree. The Library creates an in-memory cache of data structure, computes the changes, and efficiently updates the DOM displayed in the browser. This way, the entire page seems to be rendered on each change, whereas actually, the renderer changed sub-components only.

For building mobile apps with React, there are some advantages using the React Native instead of Angular Ionic framework which produces a web app inside of a native web view container and because of this, the apps can be a bit slow and laggy, while React Native on the other hard produces a truly native UI, it also allows you to create your own component and bind them to native code written in Objective C, Java or Switf.
Pros and Cons
Showcase of what we have taught of as some of the things to consider when choosing React, as cons.

Cons:

• Documentation is still poor
• It’s not fully cross-platform
• React components can become unreadable and unmanageable in the long run.
• You just cannot read the JSX part of the component and more or less understand what is rendering. This is of course a problem that stems from non-existent project coding guidelines which eslint cannot handle.
• Use of inline styling in JSX in conjunction with class names
• Too many smaller components leading to over engineering or boilerplate.

Talk to our development team about choosing the right framework for your solution. We will carefully consult with you in order to pick the right solution.