What is React Native? Overview of pros and cons of React Native
Developed by Facebook, React Native is a framework geared towards cross-platform mobile app development. With the help of React Native, developers can use JavaScript to create mobile apps that support both Android and iOS platforms. Instagram, Facebook, Skype, etc. are featured apps using React Native.
How does React Native work?
React Native works by integrating 2 threads, Main Thread and JS Thread for mobile applications. Inside:
Main Thread: updates the user interface (UI) and handles user interaction.
JS Thread: executes and processes Javascript code.
These two Main Thread and JS Thread work independently of each other. Two Threads will interact with each other through a Bridge. This bridge will convert data back and forth between Threads.
Related concepts to know
Native App This is the name for applications that are built and developed using the tools provided by the developer to the programmer (developer). The two leading App developers in the world today are Android and iOs. What is Hybrid App? This is a combination of Web application and mobile application. That is, users can both install them on their phones like normal Native applications, and can find them in paid app stores.
Overview of pros and cons of React Native
Advantages
Reusable code
React Native allows developers to reuse code while developing cross-platform applications. In particular, developers can reuse almost 80-90% of the code instead of having to write and create separate applications for different platforms. This advantage helps users:
Save time and reduce the development cost of an application.
Make better use of human resources
Maintain less code, less bugs
The features in both platforms are similar.
Screen Shot 2019 03 15 At 12.09.28 Pm
Large user community
React Native is rated as one of the most loved frameworks (stack overflow survey in 2019). Thanks to the huge user community around the world, you can find support if you encounter bugs.
Stability and optimization
Developed by Facebook, React Native has pretty stable performance.
React Native code simplifies data processing.
The application development team is not too large.
Build apps with the least native code for a variety of operating systems.
Better user experience when compared to Hybrid apps.
Defect
Native code required.
Performance is worse than Native App.
Security is not really good due to the use of JavaScript. By using JavaScript, users will also be affected by the characteristics of JavaScript: easy to do wrong, which makes it difficult to maintain later.
Memory management.
Customization is not really good in some modules.
Not suitable for applications that need high computing power (hash, crypto, etc).
React Native Installation Guide
React Native supports multiple operating systems including Windows, Linux, and MacOS. In this article, TinoHost will guide you to install React Native on Linux operating system, using pure JS code. Step 1: Download NodeJS and install. Step 2: Install React Native App using the syntax Step 3: Create and run sample project Step 4: Run project on phone Any changes made on App.js will be automatically updated accordingly in application. Thanks to this advantage, developers can save time and increase the efficiency of building applications. npm install –g create-react-native-app create-react-native-app AwesomeProJect cd AwesomeProject npm start
Frequently asked questions about React Native
Difference between ReactJS and React Native
Setup and bundling: Setting up and running React Native is quite quick because all the necessary modules are available. Meanwhile, you need to define the necessary modules for your application when using ReactJS .
DOM and Styling: React Native does not use HTML to render the app but provides components instead. The React Native component will map the rendered iOS or Android UIs on the app.
Animations and Gestures: Instead of CSS animations, you will have to use JavaScript to create dynamic components in React Native.
Navigation: The React Native Navigator provides all you need to make transitions between scenes in your app.
Platform specific code: React Native has the ability to detect and load the correct code for the supported platform
What is React Native Development Tools?
Developers can use the following completely free tools:
Hot Reloading
Chrome Dev Tools to inspect network requests, display interface logs, and stop code on debuggers
Redux DevTools to check the status of the Redux store