React Native is more than a simple framework for developing a cross-platform mobile application. It is actually a full eco-system for your mobile application development project backed by a very big and happening community. The big advantage of this is there are multiple useful libraries and tools are available to increase your productivity and make the app more robust. In this article, we are going to discuss some of the very important Libraries and tools you should consider for your next React Native application.
Project Setup and Development Environment
On the official site of React Native, you will see two recommendations for setting up your project namely Expo CLI and React CLI.
The pros and cons of both are mentioned below.
- Expo is a good choice if you want to get started quickly with fewer hurdles and you don’t have previous experience in setting up a mobile development environment.
- Quick installation and distribution of the app.
- I would recommend it if you want to show a quick POC or demo.
- The downside of the Expo is it takes more space on your mobile. Approx 20-25 MB extra space on your device.
- Obviously this is good for beginners or quick setup and never recommended for the long term and production-grade application project.
- The biggest disadvantage is you can not write native code. Many times you need to write some part in native application languages like Swift or Kotlin and this is not supported by EXP CLI. You need to eject and reset expo config and which is a tedious task.
React Native CLI
- It is a bit difficult to set up a development environment using React Native CLI as you need to install a couple of IDE and simulator typical for mobile app development namely Andriod studio, X code etc., Some experience in setting up mobile app development helps or you need support from the bit experience developer.
- With React Native CLI is easy to add Native code for Andriod or iOS-specific platform.
- Obviously it is thing setup and saves space on your device compare to Expo CLI
- Distribution and Installation with React Native CLI are a bit complex.
- The biggest downside is you must have mac machine for iOS Development. This is particularly costly if you are not using an apple machine.
We will continue our discussion in the next episode of this series of articles.