选型

React Native

你可能会说

一套代码同时上 iOS 和安卓,真能做到吗?

用 React 写原生的手机 AppUI 渲染成真正的原生控件,JS 逻辑跑在独立线程;跨端方案里生态和招聘量最大。写起来像 React,但排错要懂原生。
也常被叫作RN跨端开发
先问一句一套代码上双端?
默认React Native→擅长原生控件+JS→别用复杂 3D 动画
成熟度采用

什么时候选它

  • 已有 React 团队,要同时做 iOS / Android
  • 需要相机、蓝牙、推送等原生能力,又要快速迭代
  • 内容型、工具型 App,动画不极端

什么时候别选

  • 重度 3D、游戏、复杂手势动画
  • 要一套代码覆盖 Web + 桌面 + 移动的全部场景
  • 团队没有原生排错能力,App 又要长期深挖性能
容易混在一起 · 怎么分
React Native≠Flutter

RN 复用 React 与原生控件,生态大、包体小;Flutter 自绘渲染,双端外观最一致。

React Native≠Web App

RN 产物是原生 App,能调系统能力;Web App 只是网页,能力受浏览器限制。

Q面试会问什么

  • 问:和 Web React 的区别?
    答:渲染层不同。RN 通过 JSI / 桥调用原生控件,没有 DOM 和 CSS,样式是 Flex 子集。
  • 问:新架构改了什么?
    答:Fabric 渲染器、TurboModules、JSI 减少桥接序列化开销,渲染和原生调用更直接。
延伸阅读 · 权威出处