ReactJS - Overview


We already stated that ReactJS is JavaScript library used for building reusable UI components. Definition can be found on React official documentation −

React is a library for building composable user interfaces. It encourages the creation of reusable UI components which present data that changes over time. Lots of people use React as the V in MVC. React abstracts away the DOM from you, giving a simpler programming model and better performance. React can also render on the server using Node, and it can power native apps using React Native. React implements one-way reactive data flow which reduces boilerplate and is easier to reason about than traditional data binding.

React Features

  • JSX − JSX is JavaScript syntax extension. It isn't necessary to use JSX in React development, but it is recommended.

  • Components − React is all about components. You need to think of everything as a component. This will help you to maintain the code when working on larger scale projects.

  • Unidirectional data flow and Flux − React implements one way data flow which makes it easy to reason about your app. Flux is a pattern that helps keeping your data unidirectional.

  • License − React is licensed under the Facebook Inc. Documentation is licensed under CC BY 4.0.

React Advantages

  • React uses virtual DOM which is JavaScript object. This will improve apps performance since JavaScript virtual DOM is faster than the regular DOM.

  • React can be used on client and server side.

  • Component and Data patterns improve readability which helps to maintain larger apps.

  • React can be used with other frameworks.

React Limitations

  • React only covers view layer of the app so you still need to choose other technologies to get a complete tooling set for development.

  • React is using inline templating and JSX. This can seem awkward to some developers.