What is React Native?
React Native is a framework for creating cross-platform applications, from Android, to iOS, to web apps. It enables developers to write native applications using React components that replicate native functionality such as: displaying text, creating flexbox grids, or handling form input.
Why use React Native?
You could also achieve a similar shared codebase using frameworks like Ionic, which use HTML/CSS/JS to create native apps. This will have similar limitations to React Native, where the framework only has limited native functionality, and expands it over time (for example, RN doesn't support native Apple or Google payments).
How do I use React Native?
You can use react-native-cli or Expo to create the app. The CLI is more hands-on, and requires you to install/use Android and iOS emulation software (like XCode). While Expo is more simple, and handles the process for you, only requiring you to scan a QR code to test the app natively (or emulates the phone on your desktop).
See the basics guide for a quick start tutorial.
Limitations of React Native?
- Snack by Expo
- Live coding for React Native (like CodePen/CodeSandbox)
- Flipper by Facebook
- Dev tools for RN
3rd Party Integrations
- Semi-official components that usually get adopted to official RN