Released · improving
Framework · Since 2015
React Native is an open-source framework for building Android and iOS apps with React and JavaScript or TypeScript, rendering native UI from one codebase.
React Native is an open-source framework released by Meta in 2015 that lets you build Android and iOS apps with React's component model. Screens are rendered with each platform's native views rather than a web view, so apps look and respond like any other native app. Today it is developed by Meta together with the community and partner companies, and its default New Architecture connects JavaScript and native code more directly.
React Native is especially strong for teams that already use React on the web and want to build mobile apps with the same knowledge and tools. One codebase targets both platforms, you can still drop down to Kotlin or Swift where needed, and Fast Refresh shows changes the moment you save. It is widely used for apps with many screens and fast release cycles, such as commerce, social and internal business apps, and it can also power just a few screens inside an existing native app.
The easiest way to start is to create a project with Expo, as the official docs recommend. Install Node.js, create a project with create-expo-app, then install Expo Go on your phone and open the app by scanning a QR code. Learn the basics of React first, then follow the core components guide in the official docs and the Expo tutorial to build a small app of your own.
Components such as View, Text and Image render as each platform's native views, with platform-appropriate look and feel.
Use React concepts such as components, props, state and hooks, along with TypeScript and the npm ecosystem.
Fast Refresh applies code changes while preserving state, and React Native DevTools handles debugging.
Turbo Native Modules and Fabric components in the New Architecture connect directly to Kotlin and Swift code.
React Native tooling runs on Node.js. Install the LTS release from nodejs.org and check that it prints a version. The Android emulator needs Android Studio, and the iOS Simulator needs macOS with Xcode.
node --versionCreate a new project with Expo, as the official docs recommend. The template comes with TypeScript and file-based routing (Expo Router) set up.
npx create-expo-app@latest my-appStart the dev server in the project folder, then scan the QR code with Expo Go on your phone or press a (Android) or i (iOS) in the terminal.
cd my-app && npx expo startIn a project created from the blank-typescript template, App.tsx is the root component. View is a layout container and Text displays text; every string must live inside a Text component. The styles created with StyleSheet.create use Flexbox to center the content. Edit and save the file, and Fast Refresh updates the running app right away.
App.tsx
import { StyleSheet, Text, View } from "react-native";
export default function App() {
return (
<View style={styles.container}>
<Text>Hello, world!</Text>
</View>
);
}
const styles = StyleSheet.create({
container: { flex: 1, alignItems: "center", justifyContent: "center" },
});
npx create-expo-app@latest hello --template blank-typescript && cd hello && npx expo startSix chapters that take you from installation to the core ideas of React Native.
Ask questions, share experience and trade opinions about React Native.
No discussions yet. Start the first one.
0 comments
Sign in · Sign in to leave a comment.
Be the first to comment.