React Native is a JavaScript framework for writing real, rendering mobile apps for iOS and Android. It relies on React, Facebook's JavaScript library, to build the user interface, but instead of targeting the browser, it is targeting the mobile platform. In other words: Web developers can now write mobile apps that look truly "native", all with the convenient JavaScript libraries we already know and love. Also, since most of the code you write can be shared between platforms, React Native makes it easy to develop for both Android and iOS simultaneously.
Similar to React for the Web, React Native applications are written using a combination of JavaScript and XML-esque markup, known as JSX. Then, under the hood, the React Native "bridge" invokes the native rendering APIs in Objective-C (for iOS) or Java (for Android). As such, your app will be rendered using actual mobile UI components and not a webview, and will look and feel like any other mobile app. The React Native platform also exposes a JavaScript interface to the API, so React Native apps can access platform features such as the phone's camera or the user's location.
React Native currently supports both iOS and Android, and has the potential to expand to future platforms as well. In this book, we'll cover both iOS and Android. Most of the code we write will be cross-platform. And yes: you can actually use React Native to build a production-ready mobile app! A few anecdotes: Facebook, Palantir, and TaskRabbit are already using it in production for user-facing applications.