What is ReactJS?
Tags: javascript, react, beginners
Published: 2020-01-25 16:43:51

##**Introduction**

The first time I heard ReactJS I just ignored it because I said to myself, I’ll stick with Angular because it’s the standard in most front-end development nowadays. However; that **_thought_** made me realized that I might be missing something, and that's why I decided to research ReactJS. Thus, this is the result of it, a written article. I hope you’re excited to read the entire article, so then let’s get started. My statement about Angular: **“It’s the standard in most front-end development nowadays.”** Probably, most of you won’t agree or would agree, but it was my perception back then and I undeniably have a close mind learning ReactJS at first but now I’m a fan.

##**Objectives**

In this article, we are going to focus on the following materials listed below and answer these out of my learning experience via reading books and searching the internet. 
• What is ReactJS? 
• List of Companies who uses ReactJS
• Ingredients of ReactJS 
• Why ReactJS is so popular? 

##**I. What is ReactJS?**

Please, let me introduce you to React. React is a JavaScript library intended for creating user interface(s) that was initially built and open-sourced by Facebook. Until today it is maintained and managed by Facebook and a large community of individual developers and companies. 
Well about my story, the first time I got curious about it, I searched via Google and visited React’s site at https://reactjs.org/. One thing that really caught my attention is the page header. 

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/oof81p4376tocg74wbz9.png)

Well, most of us perhaps are asking: “__What is ReactJS__?” well there you go. However; to elaborate further will be discussing more in section Ingredients of ReactJS.

##**II. List of companies who uses ReactJS**

I do admit that I usually search for companies if they are using a certain technology because of their influence as a mature tech company. So, let us see the list below. 
*	PayPal 
*	Airbnb
*	Apple
*	Microsoft
*	Facebook 
*	Netflix

Ever wonder why these companies are using React? In my opinion, I think these companies have matured enough through the years and possibly they have high exceptional engineering demands that can impact a huge number of customers for them to deliver products on hard deadlines. Therefore; these companies use React to have good tools in their belt and to think better and even move quickly for them to build highly reliable applications. By the way, you can also check this out https://reactkungfu.com/2015/07/big-names-using-react-js/ if you need more information about companies who adopted React. 

##**III. Ingredients of ReactJS**

In this section, we are going to tackle a high-level overview of the major ingredients of a React application. 
###**Components**

*	Components are the fundamental units of React, which basically means whenever React application represents a UI element (a piece of the UI) is with a component.

*	Components are independent and isolated micro-entities that refer to a part of your UI. Just remember that a UI application can be split up into smaller components where each one has its own code, structure, properties, and API.

*	Components are reusable because you can use them in multiple places within your application. That’s easy, right? 

###**React libraries** 
*	React application has a core React library (react) that supports the ReactDOM and ReactNative. 

*	Let’s put aside the ReactNative first, the React and ReactDOM once you have started building React application you will usually import those two most of the time. See the sample usage of the libraries below.

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/xr4n2buay7nx35h43u3j.PNG)

*	So just a bit overview of the two libraries. React: it is a JavaScript library, designed for **_building user interfaces_**. While ReactDOM is a complimentary library to React, which **_glues_** React to the browser DOM. 
*	ReactNative is a renderer like ReactDOM. However; ReactNative is designed for mobile devices such as iOS and Android. Unlike ReactDOM is designed for the web. 

###**Cross-Platform**

Your React application, built components can run on a platform of your choice: web, mobile or native. 

##**IV. Why ReactJS is so popular?**

In my opinion, one main reason why React is popular today is because of two main reasons reusability of components and easy library to work with.  

###**Reusability of components**

React components, I see this as a solution. Giving us the freedom to reuse the components developed for some other application and using the same functionalities.  In addition, it reduces the development effort and makes sure that components perform perfectly. Unlike working with browsers’ DOM, it gives a lot of headaches and/or confusion and a maintenance nightmare based on my own experience. 

###**Easy library to work with**

Many of us might be thinking I’m just a newbie to learn React and there could be a huge learning curve. If you are a developer and got some basic foundations about HTML/CSS, JavaScript, functional and object-oriented programming concepts you are already good to go. Lastly, don’t be afraid to make mistakes when learning, mistakes are a good teacher when learning a new library like React. Lastly, one reason why the learning curve is so small because React positions itself as a UI library and it does its job well. Unlike other frameworks that are opinionated, and a one-stop-shop which gives the developer a longer learning curve. 

##**V. Remarks & Summary**
Let’s take a second look at what we have learned about React: 
•	React is a library for building user interfaces. 
•	React is originally created by engineers at Facebook. 
•	Components are the fundamental unit of React. 
•	React application has a core react library which supports react-dom which acts as a glue to the browser DOM.
•	ReactNative is a renderer that is designed for mobile devices such as iOS and Android. 

We have also discussed companies that use React, ingredients of React and why React is so popular? Now that you read this far, I’m hoping that you have at least a good understanding of what ReactJS is, and you can possibly dive into the next concepts. Till next time, happy programming 😊.

##**VI. References**
•	https://www.quora.com/Why-is-ReactJS-so-popular
•	https://www.manning.com/books/react-in-action