前端跨平台框架的选择Flutter Uniapp RN ...

867 阅读2分钟

大前端跨平台方案调研

写在前面

当团队业务大方向可预见,但细枝末节需要敏捷迭代,且公司希望开源节流。此时跨平台方案就可以提上日程了。首先要明白一点,任何框架或者设计方案,永远没有最好的。因地制宜,适合自己团队的,适合近期业务迭代周期的方案才是最好的。强扭的瓜不甜。本文主要针对各个跨平台框架的特性和支持情况进行对比。

应用场景

框架基本信息和平台支持情况 (H5默认支持)

框架团队语言iOSAndroidMac桌面端Windows桌面端微信小程序其他小程序是否收费
FlutterGoogleDart
uni-appDCloudVue/JS
RNFacebookReact/JS
DonutWechatJS
NativeScriptJS
ComposeJetBrainsKotlin
CapacitorIonicJS
ElectronJS
Taro58,安居客JS

框架使用情况 (1-10,数字越大代表越好。中位数5代表能用) - 代表没有实践过

框架社区活跃性能(移动端上)热更新热重载发布舒适度
Flutter1089
uni-app889
RN5
Donut10--
NativeScript4-
Compose4-
Capacitor4-
Electron7-
Taro5-

链接🔗

Flutteruni-appRNDonutNativeScriptComposeCapacitorElectronTaro

我的需求

平台应用A应用B应用C应用D应用E应用F应用G应用H应用I应用J
微信小程序
iOS APP
Android APP
Web
PC端

我的选择

团队资源

  • 资深安卓开发 * 1
  • 资深iOS开发 * 1
  • 资深前端开发(Vue方向) * 2
  • 资深前端开发(React方向) * 2

方案分析

[!IMPORTANT]

  1. 首先看团队资源,移动端和Web都有资深开发,这在各自领域的原生开发没有问题,意味着当跨平台方案遇到问题时,有懂行的同学可以牵头。
  2. 然后看业务应用在各个终端的分布情况,整体偏向iOS、Android、微信小程序。各个平台都有的业务适合跨平台方案。
  3. 综上所述,应用A、应用C、应用F适用跨平台方案。

代码实现

TODO: