What is React?

React is a library that helps you to create rich user interfaces based on components.

React was created by Jordan Walke, a software engineer at Facebook. It was first deployed on Facebook's newsfeed in 2011 and later on Instagram in 2012. Today it's maintained by the open-source teams from Facebook that did an excellent job in disseminating and strengthening their adoption.

According to the definition of Facebook:

React is a declarative, efficient, and flexible JavaScript library for building user interfaces. It lets you compose complex UIs from small and isolated pieces of code called “components”.

That is, React is not a Framework, but a library.

Characteristics

Declarative

The declarative Views makes your code more predictable and comfortable to debug.

Component-Based

Allows you to create sophisticated UI's, based on encapsulated components that manage their own state.

Learn Once, Write Anywhere

React also can be rendered on the server-side using NodeJs. Imagine that you need to create a webpage and SEO it's an essential thing for your business, through server-side rendering, you can build your application using React and delivery the HTML resulted by this components through HTTP requests.

But if you desire to build a mobile app, don't worry, React can help you with it too. Through React Native, you will be able to create native Android and IOS applications, without having to learn other programming languages and frameworks writing just one code that compiles to those platforms.

React and its ecosystem

You may be wondering:

- If React is just a library to create UI's, how can I build a whole application with it?

When we hear someone say that an application was created in ReactJs, what that person is really saying is that the React library was combined with other libraries that are part of their ecosystem to build that app.

Often, this ecosystem is formed by the following tools (but this is not a rule):

Don't worry! We'll look in detail, many of these tools.

Last updated