React Native 是用 JavaScript 构建原生移动应用的框架,通过桥接机制将 JSX 映射为 iOS/Android 原生组件,实现“写一次,两端运行”,适合中后台、内容型 App,但不适用于高复杂度动画或图形计算场景。

React Native 是一个用 JavaScript 构建原生移动应用的开源框架,不是网页技术的“套壳”,而是让 JS 代码调用 iOS 和 Android 原生组件(比如 UIView、TextView),最终渲染出真正原生的界面和交互体验。
它怎么做到“写一次,两端运行”?
React Native 不是把 HTML 渲染成页面,而是通过一个“桥接机制”(JavaScript Thread ↔ Native Bridge ↔ Native Thread)把 JS 逻辑翻译成原生 UI 操作。比如你写一个 View 组件,React Native 实际在 iOS 上创建 UIView,在 Android 上创建 ViewGroup;写一个 Text,它分别对应 UILabel 和 TextView。
- 业务逻辑(状态管理、网络请求、数据处理)全在 JS 层,用 React 的方式开发
- 界面层由框架自动映射为原生控件,性能接近纯原生开发
- 平台差异部分可单独写 MyComponent.ios.js 和 MyComponent.android.js
开发一个 App 的基本流程是怎样的?
从初始化到真机运行,核心步骤很轻量:
- 安装 Node.js、JDK、Xcode(macOS)、Android Studio,并配置环境变量
- 用 npx react-native init MyApp 创建项目(或使用 Expo 简化原生配置)
- 写 JSX 组件,用 useState、useEffect 管理状态和副作用
- 用 react-native run-ios 或 run-android 启动模拟器,支持实时重载(Hot Reloading)
- 需要调用相机、定位等原生能力时,接入社区库(如 react-native-vision-camera)或自己写原生模块
它适合什么场景?有什么要注意的?
适合中后台类、内容展示型、跨平台一致性要求高的 App,比如企业内部工具、新闻阅读、电商前台、社交信息流等。
立即学习“Java免费学习笔记(深入)”;
- 动画复杂或重度图形计算(如游戏、3D 渲染)不推荐,原生或 Flutter 更稳
- 某些新出的系统特性(如 iOS 17 的 Live Activities)可能需等社区适配或手动桥接
- 发版不受苹果审核限制,但 JS 逻辑热更新需合规(国内主流做法是用自有服务器+签名校验,避开 App Store 政策红线)
基本上就这些。它不是万能的银弹,但对熟悉 React 的团队来说,是平衡开发效率、维护成本和用户体验的务实选择。










