React VS Angular
Tags: programming, javascript, webdev, beginners
Published: 2024-06-28 21:31:10

As developers, we make use of frontend frameworks to go about our daily work and speedup the development of the applications we build.

A frontend framework is a collection of pre-written, standardized code that helps developers build great applications easily and speedily.

Frontend frameworks come packed with tools, libraries, and conventions for building user interfaces, handling events, managing application states, and interacting with APIs. Long story short, they're a gift to developers.

Now I don't want to talk about just any framework, I want to talk about my two most favorite namely **React** and **Angular**.

###React
Developed and released in 2013 by Facebook, [React](https://) is an open-source JavaScript library used for building user interfaces for web and mobile applications. It features reusable components which can be combined to create complex, yet interactive applications. 

**pros**
* **Virtual DOM**: React uses a virtual DOM to efficiently update and manage changes made to the UI.
* **Reusable component-based architecture**: React’s component-based architecture allows you to build reusable UI components and compose them to create complex UIs.
* **Flexibility**: React is a library and because of this it offers flexibility, that is one reason I love react. I use react mostly when the requirements for a project are not yet defined to the nitty-gritty details.
* **Faster rendering**: Now trust me when I tell you that **React is fast**, using the virtual DOM, it efficiently updates the UI, making it faster than traditional UI libraries.
* **Large community**: When you start using React, you become part of a large family of developers who happily provide extensive documentation, support, and resources to help you grow.

**cons:**
* **Complex setup**: React’s setup can be complex, requiring knowledge of build tools and configuration for optimal performance. In addition due to the large number of dependencies, React can be difficult to work with when dependencies get corrupted, depreciated or complicated. 

**Examples of webapps built using react include:**
* https://hng.tech/internship 
* https://hng.tech/hire
* https://hng.tech/premium

###Angular
Angular is a TypeScript-based open-source Front-End framework that is widely used for building dynamic, single-page applications. It provides a robust set of features, including data binding, dependency injection, and more.

Angular is built on top of TypeScript, a statically-typed superset of JavaScript. TypeScript provides features such as classes, interfaces, and type annotations that make it easier to write and maintain large-scale applications and also it enables developers to identify errors in build time.
**Pros:**
* **Two-way data binding**: Allows automatic synchronization of data between the model and view.
* **Faster development**: Angular provides tools for developing complex applications faster.
* **Scalability**: Modular architecture for easy maintenance and scalability.
* **Code reusability**: Reusable components and services for sharing across applications.
**Cons:**
* **Steep learning curve**: Advanced features can make it challenging for new developers.
* **Complexity**: Complex tools may be unnecessary for small, simple applications.
* **Large bundle size** : Large bundle sizes can affect loading times for smaller applications.


##Differences Between React and Angular

* **Speed**:
React *"reacts"* and fast, unlike Angular, it is lightweight and therefore responds quickly to dynamic changes.
* **Data binding**:
Because Angular uses a two-way binding pattern, it ensures that data is synchronized between the model view and the components. React uses the single data binding pattern and is mostly used to build interactive UI components with variable data

##What I plan to accomplish during the HNG internship.

I am a full stack engineer and I plan to employ my proficiency in the use of React and Angular in collaborating with my team to build dynamic solutions.

##How I feel about React

**I love React** and since 2022, I have been using it in building solutions to problems we face from day to day.