名词百科

什么是跨平台开发(uni-app / Flutter)?

一句话定义

跨平台开发是用一套代码构建多个平台应用的方式,代表框架有 uni-app、Flutter、React Native、Taro。它降低重复开发成本,但平台差异仍需单独适配。

发布者:黔序科技

它到底是什么

跨平台要解决的是同一业务在多端重复实现的问题。它的复用层次分三种:只复用业务逻辑(接口层、状态管理)、复用界面描述(一套写法编译到多端)、复用渲染引擎(自绘控件保证一致)。复用越深,平台原生观感越弱。

因此它不是「写一次到处跑」,而是「写一次,到处适配」。支付、授权、推送、分享这些平台特有的部分,几乎都要分别实现。

怎么运作的

uni-app / Taro:以 Vue 或 React 语法编写,编译到小程序、H5、App 多个目标。适合国内多端场景,尤其是小程序矩阵。代价是受各平台模板限制,复杂交互需要条件编译。

Flutter:用 Dart 编写,自绘渲染引擎保证各端界面一致。性能接近原生,适合界面复杂度高、需要统一视觉的产品。代价是包体积较大,与原生混合开发需要额外桥接。

React Native:用 React 编写,映射为原生控件,观感贴近平台。生态成熟,适合已有前端团队的团队。代价是版本升级常伴随依赖适配。

选型关键是目标平台组合:只做小程序矩阵,选 uni-app/Taro;只做 iOS+Android 且视觉要求高,选 Flutter;团队已有 React 积累,选 React Native。

容易混的几个概念

  • 混合开发:泛指 WebView 嵌套 + 原生外壳,与跨平台框架不是同一件事。
  • 响应式:一套网页适配多种屏幕尺寸,不涉及多平台应用。
  • 热更新:与跨平台无关,且各平台对代码热更新有严格限制。
  • 多端统一:更宽的概念,还包含后端接口与数据结构的统一。

常见问题

跨平台框架适合做复杂 App 吗?

业务型应用适合,重度依赖硬件、复杂动画、大文件处理的应用不适合。判断方法是先做最复杂的那个页面,在真机上验证,而不是看演示项目。

用跨平台会不会被平台限制?

会,主要是应用商店对「套壳应用」的审核,以及小程序平台对动态执行代码的限制。合规做法是核心能力用平台原生实现,跨平台只承担业务页面。

B 前端终端 · 同组词条

公众号开发公众号开发是在微信公众平台的框架内,围绕图文推送、自定义菜单、用户消息和网页授权等能力进行的开发工作。它属于内容与消息载体,不是应用容器。PWAPWA(Progressive Web App,渐进式网页应用)是在普通网页基础上增加离线缓存、桌面安装入口和消息推送能力的网页应用形态。它仍然运行在浏览器中,不需要应用商店。企业官网企业官网建设是围绕企业展示、品牌传达和获客转化搭建官方网站的工作,通常包含信息架构设计、视觉设计、前端实现、内容管理和基础 SEO 配置。前后端分离前后端分离是把界面展示与业务逻辑拆成两个独立部分开发的架构方式:前端负责页面与交互,后端提供接口与数据。两者通过 HTTP 接口通信。响应式网站响应式网站是用一套代码自动适配桌面、平板、手机等不同屏幕尺寸的网站。它通过弹性布局与媒体查询改变排版,而不是为每种设备单独做一个站点。SPASPA(单页应用)是页面切换不重新加载文档的前端架构,由 JavaScript 接管路由与渲染;SSR(服务端渲染)是在服务端先渲染出 HTML 再返回,首屏更快且利于爬虫抓取。H5开发H5 开发指用 HTML、CSS、JavaScript 构建运行在浏览器中的网页应用。跨平台、免安装、可通过链接直接访问,但系统级能力受限。微前端微前端是把一个大型前端应用拆成多个可独立开发、独立部署的小应用,再在运行时或构建时组合成一个整体的架构方式。