React Native (JavaScript Library)

React Native is a declarative, component-based JavaScript library based on React for building cross-platform mobile applications for iOS, Android, and other platforms from a shared code base. React Native uses native components instead of web components as building blocks, which enables the applications to have the look, feel, and performance of native mobile apps. React Native is a popular library for building mobile applications because it has a robust ecosystem and developer-friendly features, such as hot reloading. Projects using React Native can expect to share roughly 90% of the codebase across platforms, with only about 10% of code required to be platform specific.

Unlike other cross-platform frameworks, React Native does not use web views. React Native application code looks very similar to React; however, each component in a React Native application is a wrapper around a native component. Some components, such as <View> and <Text> components, work across iOS and Android while other components are OS specific. React includes a set of core components which include a basic set of cross-platform components that translate to the corresponding native iOS and Android components. Additional components can be installed from 3rd party packages, or developed locally.

React Native uses JavaScript for styling as well. Style names and values are similar to CSS, but are not CSS and use camelCase. Layouts are done with Flexbox and each component may have its own corresponding stylesheet. React Native also provides platform-specific styling to make adherence to style-guide conventions across platforms easier.

Learning React Native

To get started learning React Native, it's helpful to have knowledge of JavaScript or TypeScript. If you already know React, are familiar with JSX, and/or have knowledge of mobile app development, learning React Native will be even easier.

Here's a set of learning resources that, together, provide a complete resource for learning React Native:

Popular React Native components and libraries

The React Native Directory contains components and libraries that have been vetted by the React Native Community and is the best place to start when trying to find a component or library for use in a React Native application.

Some of the most popular components and libraries include:

  • react-native-vision-camera provides access to the devices camera and allows photo, video, and snapshot capture.

  • [react-native-fingerprint-scanner] supports authentication through the device's Touch ID and Face ID features

  • react-native-video supports streaming video

  • react-navigation provides routing and navigation

React Native resources

Broader Topics Related to React Native

React (JavaScript Library)

React (JavaScript Library)

Learn React

JavaScript

JavaScript

The language of the web until WASM takes over

React Native Knowledge Graph