Angular vs. React (Part 0): component creation, evolution and refactoring perspective

Gara Mohamed
2 min readOct 25, 2018

--

Comparing the two component engines agility

“focus photo of gray and black circuit board” by Nicolas Thomas on Unsplash

TL;DR

The series will try to answer the following question:

Which component engine, React or Angular, would simplify much more the life of developers and make them more productive?

Angular and React are two of the most used technologies to build SPA. React is just a component engine, but Angular provides many other features around its rendering engine.

Conceptually, the two engines do the same things, but the implementation details are very different. The most obvious difference between the two is the language used to declare the components. React uses JSX and Angular uses HTML to declare the rendered components.

There are already many articles comparing Angular and React from different perspectives. In order to compare two frameworks or libraries, we should identify comparison criteria. An absolute comparison doesn’t make much sense. In this series, we will compare the two engines from a practical and pragmatic point of view. We will limit our comparison to the heart of the two technologies. So, we will try to compare the agility and simplicity of both of them to resolve common problems in medium and large-scale applications.

In the following posts, we will try to check how easy it is to: create, refactor, reuse, encapsulate components and make them generic, flexible and extensible. To show how much Angular and React present these advantages, we will evaluate them in the context of three use cases that would reveal three different problems:

In the first post, we create components that encapsulate the bootstrap list group style classes.

In the second post, we create a progress bar component based on an existing one. We use the progress bar component from the two libraries: ng-bootstrap and reactstrap.

  • Angular vs React (Part 3): Higher order components

coming soon …

--

--