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