React: JavaScript library
Tags: react, router, beginners, native
Published: 2021-12-21 19:44:33

React is an open-source frontend JavaScript library, we can use plain CSS as interactive of a webpage but this is so time consuming. We can use this build In library to create interactive UI, user interfaces and responsiveness of websites.
We face some reloading problems on some websites. When you move to another address from the current page, it reloads automatically. But React solves the problem by using the react router and is the best practice for big web applications. React Router is a powerful routing library and simple API which keeps the URL.  We can get any webpage / link from the current page through React Router documentation.

**React JSX:** JavaScript XML is a syntax extension of JavaScript. Those who can’t use React properly, you can use tags like HTML in React through JSX. It is so useful for beginner developers. There is no inherent implementation for that reason, browsers can’t read JSX directly, so Babel and TypeScript compile JSX into JavaScript.

**Redux:** Redux is an open-source JavaScript library, state management and container (Fetching and storing data, assigning data to UI elements and changing data) for JavaScript apps. The large amounts of application state updated frequently. It can be used with React, Angular, Vue, Ember, and vanilla JS. For unidirectional data flow makes it popular.
Redux is application state management. It maintains the state and a new object is created for every little change. It is an application data-flow architecture not like the others library or a framework. The code is easy to maintain and organized. The smaller functions become reusable code. It is helpful for large amounts of files, components and frequently updated state.
Redux has three building parts: actions, store, and reducers. Any component can access the stored data from the state as it has central store data. It follows a strict unidirectional data flow.
 
**Redux Saga:** Redux Saga is a middleware library and an intuitive Redux side effect manager. It works asynchronously with multiple concepts. It is used in the Redux app to handle asynchronous operations by ES6 feature. It is easy to manage, simple to test and executes. 
 
**DOM:** Document Object Model is the hierarchical representation of a web page. A virtual DOM is a JavaScript representation and memory representation of the DOM. React uses virtual DOM to enhance its performance. Virtual DOM is needed for the slow speed of DOM manipulation. For saving time and money, when you change something in the webpage, the virtual DOM acts as the copy of the DOM and does the same.

**React native:** React native is a framework which uses react components. It is used in the Android and iOS projects. We import {Text, View} from react-native.

There are three main mobile apps, web, native and hybrid for development projects. You can choose any of the apps depending on business objectives and overall product goals. We get the best user experience and performance from Native apps. For multiple code bases, Native apps are very fast and responsive which is the most common type of app.

The documentation of native apps is fruitful and extensive. It has better performance than other apps. Better device, external hardware integration and user interface. But it is a difficult programming language which requires experienced developers.