React is an open source front-end (JavaScript) library developed and maintained by Facebook and Instagram for building fast and interactive user interfaces.
Why ReactJS?
In 2009 Facebook was using traditional data flow as the back-end. Therefore to get new updates the entire page had to be reloaded. In terms of initial data, real-time data and user data was flowing from different sources. Then the data was accordingly passed to the dispatcher, store and ultimately view.
If there was any changes in the back-end in order to reflect the changes on the view the entire page had to be refreshed. This was not user-friendly.
- Uses DOM (Document Object Model).
- More memory consumption.
- Slow performance.
With use of React the entire application is divided in to various components. When new data is added it will automatically update that component whose state has actually changed without reloading the entire page .
What is ReactJS?
- Developed and maintained by Facebook and Instagram.
- A JavaScript library for creating user interfaces.
- Serves as the view of MVC architecture.
- Suitable for large web application which use data and change over the time without reloading the entire page.
- React Native caters developing mobile application for various platforms and React VR caters developing VR applications.
- Aims at Speed, Simplicity and Scalability.
Features of ReactJS.
- One-Way data flow.
Single source of truth - Data is originated and kept in one place, data is immutable.
Data flow from the parent component to the child component.Action flow from child component to parent component.
- Virtual DOM
DOM manipulation is cost instead react create a virtual DOM tree and compare it with the rendered tree and update only what is changed.
- JSX
React JavaSript language for defining user interfaces.HTML like syntax.Prevents cross-site scripting attacks by converting expressions to strings.
Advantages of ReatJS.
- Application performance is increased.
- Used on client as well as server side.
- Readability is improved.
- React can be easily integrated with other frameworks like angular, meteor etc..
Comments
Post a Comment