One of the core principles in React Native development is writing JavaScript to build truly native mobile applications. To accomplish this, many native APIs and UI components are exposed through an abstraction layer and are accessed through the React Native bridge. While the React Native and Expo teams continue to improve and expand on the already impressive APIs that currently exist, through the native APIs we can access functionality that isn't available otherwise, such as vibration, contacts, and native alerts and toasts.
By exposing the native view components, we're able to leverage all of the rendering performance the device has to offer, as we're not going through a WebView as in a hybrid app. This gives a native look and feel that adapts to the platform the user is running the app on. With React Native, we're already able to render many...