React Native is a framework for building mobile apps using JavaScript and React. Many people think that with React Native you make some "mobile web app" or a "hybrid app" (such as Ionic, PhoneGap or Sencha), but you build a native app because React Native converts your React code to Java for Android or Objective-C for iOS apps. React Native uses most of the React concepts, such as components, props, state and lifecycle methods.
Advantages of React Native:
- You code once, and you get two native apps (Android and iOS)
- You don't need to have experience with Java, Objective-C, or Swift
- Faster development
- MIT license (open source)
Requirements for Windows:
- Android Studio
- Android SDK (>= 7.0 Nougat)
- Android AVD
Requirements for Mac:
- XCode (>= 9)
- Simulator