ReactJS: It is a JavaScript library that supports both front-end and server-side. It is a popularly used library, which focuses on developing user interfaces (UI) for mobile as well as web-based applications. Developed by Facebook, it is based on the JavaScript language and hence, it is synonymously also called ReactJS.
Steps to create a React Application:
Step 1:Â Create a React application using the following command:
npx create-react-app react-demo
Step 2:Â After creating your project folder i.e. react-demo, move to it using the following command:
cd react-demo
Â
Project Structure:Â It will look like the following.
- App.js
Step to Run Application:Â Run the application using the following command from the root directory of the project:
npm start
Output:Â Now open your browser and go to http://localhost:3000/, you will see the following output
React Native: React Native is a cross-platform mobile framework that uses the ReactJS framework. As the name suggests, it is primarily used for developing “native†mobile applications (like Windows, iOS as well as Android). Also developed by Facebook, the major advantage provided by React Native is that it allows the developers to create mobile applications on various different platforms without compromising the end users experience.
Â
Steps to create a React Native Application:
Step 1:Â Open your terminal and install expo-cli by the following command.
npm install -g expo-cli
Step 2:Â Now create a project by the following command.
expo init react-native-demo
Step 3:Â Now go into your project folder i.e. react-native-demo
cd react-native-demo
Project Structure:Â It will look like the following.
- App.js
Step to Run  Application: Start the server by using the following command.
expo start
Output:
Differences between React and React Native:
Category | ReactJS | React Native |
---|---|---|
Definition | A JavaScript library, widely used for developing the user interface. | A cross-platform mobile framework used for developing native mobile applications. |
Platform | Since it is majorly used for web browsers, it can be easily executed on all platforms. | Since it is used for native applications, it takes a sufficient amount of developer effort to be customized and executed on all platforms. |
User Interface | ReactJS renders HTML tags in its user interface. React components can include simple HTML tags. | React Native renders JSX in its user interface. React Native supports specific JSX tags which are used. |
Styling | ReactJS uses Cascading Style Sheets (CSS). | React Native uses a Stylesheet object (javascript object). |
Rendering | ReactJS uses VirtualDOM, a tool that allows for easy interaction with DOM elements. | React Native widely uses native APIs. |
Navigation | ReactJS uses the React router to allow users to visit different web pages. | React Native uses its built-in Navigator library to allow users to visit different screens. |
External library support | ReactJS supports third-party packages but lacks native library support. | React Native lacks both native libraries and third-party packages support. |
Animation | Since ReactJS focuses on UI, it requires animations, which can be easily added using CSS. | To incorporate animations in React Native, it uses an animated API. |
Security | It has comparatively higher security. | It has comparatively lower security. |
Uses | It is widely used to develop a dynamic user interface for web applications. | It is used to develop true native mobile applications. |
Applications | Facebook, Netflix, Medium, Udemy | Uber Eats, Tesla |