React

React (aka React.js) is an effective, declarative, and pliable JavaScript library designed by Facebook, meant for creating user interfaces. The software is dedicated to developers, who are enabled to build large web apps which utilize data that can alter in time, without the need to reload the page. React has many appreciated characteristics, but it's especially known to be fast, simple, and scalable.

Advantages

  • Efficiency. It’s highly flexible and the performance is given by the fact that React simply creates its own virtual DOM
  • JSX. The framework utilizes a special syntax that lets the developer mix HTML with Javascript
  • It’s SEO efficient. Unlike the majority of JavaScript frameworks, React can be read by search engines. React.js allows you to run it on the server, rendering the virtual DOM to the web browser as a standard page
  • Good update system
  • It allows developers to reuse code components, which results in time-saving

Disadvantages

  • The learning curve can be quite steep, especially for a novice in web development
  • Mediocre documentation. The high paced development of React leaves little time for proper instructions to be written, so the developers believe that the manuals are challenging
  • The framework’s library is considered to be too large

Components

  • Just like everything in HTML is an element, everything in React is a component

Development tools

  • Reactide
  • Nuclide
  • Webstorm
  • Visual Studio Code
  • Atom