React Native:用 React 写移动端
React Native:用 React 写移动端
React Native 是 Meta 开源的跨平台移动应用框架,基于 React 构建原生 iOS 和 Android 应用。GitHub 上 Star 数超过 12 万,是移动开发领域关注度较高的开源项目之一。

React Native 的核心理念是 “Learn once, write anywhere”,学一次 React 就能在多个平台编写应用。它使用平台原生 UI 组件来渲染界面,应用在 iOS 和 Android 上的表现和原生应用一致,手势、动画、导航等交互都符合各自平台的用户习惯。

主要特性
- 声明式 UI: 用声明式方式编写界面,状态变化时视图自动更新
- 组件化开发: 封装独立的 UI 组件,各自管理状态,组合起来构建完整界面
- 即时刷新: 修改 JavaScript 代码后秒级生效,不需要重新编译原生工程
- 跨平台复用: 一套代码在 iOS 和 Android 上运行,还可以扩展到 Windows、macOS 等平台
React Native 支持 iOS 15.1 和 Android 7.0(API 24)及更高版本。开发环境支持 Windows、macOS 和 Linux,但构建和运行 iOS 应用限于 macOS,需要 Xcode。
新架构
React Native 的架构经历过几次迭代。早期通过 Bridge 在 JavaScript 线程和原生线程之间传递 JSON 数据,动画和手势响应存在延迟。
从 2018 年起,团队逐步引入新的技术方案:
- Fabric: 新渲染系统,支持同步调用和并发渲染
- TurboModules: 按需加载的原生模块,替代旧的 Bridge 方式
- JSI: JavaScript 和原生代码之间的直接通信层,省掉序列化环节
新架构降低了通信延迟,列表快速滚动和手势动画的流畅度有了提升。
快速上手
最直接的方式是用 Expo,不需要安装 Xcode 或 Android Studio,浏览器里就能开始:
npx create-expo-app MyExpoApp
cd MyExpoApp
npx expo start
Expo 封装了大量原生能力,适合快速原型和中小型项目。如果需要完整的原生控制,可以初始化标准项目:
npx react-native init MyProject
cd MyProject
npx react-native run-ios
组件写法和 React 一致:
import React from 'react';
import { View, Text, StyleSheet } from 'react-native';
const App = () => (
<View style={styles.container}>
<Text style={styles.title}>Hello React Native</Text>
</View>
);
const styles = StyleSheet.create({
container: { flex: 1, justifyContent: 'center', alignItems: 'center' },
title: { fontSize: 24, fontWeight: 'bold' },
});
export default App;
生态
React Native 的社区生态比较成熟。导航用 React Navigation,状态管理可以用 Zustand 或 Jotai,网络请求有 React Query。社区维护了相机、地图、支付等常见场景的原生桥接库。调试分析可以使用 Flipper,版本升级参考官方的升级指南。
React Native 由 Meta 持续维护,核心团队和社区贡献者保持每月稳定版本的更新节奏。对有 React 前端经验的开发者来说,转向移动端的学习成本较低,一套技术栈覆盖 Web、iOS、Android 三个端。
持每月稳定版本的更新节奏。对有 React 前端经验的开发者来说,转向移动端的学习成本较低,一套技术栈覆盖 Web、iOS、Android 三个端。
更多推荐


所有评论(0)