自从移动应用开发兴起以来,不少公司和开发者就在不断的探索移动跨平台开发技术,以适应移动应用高速迭代的需求 。纵观当前的移动跨平台方案,总结一下无外乎三大类:一种是使用原生内置的浏览器加载HTML5的Hybrid技术,采用此方案的主要有Cordova、Ionic和微信小程序;另一种是使用JavaScript开发,然后使用原生组件进行渲染,采用此方案的主要有React Native、Weex和快应用;最后一种是使用自带的渲染引擎和自带的原生组件实现跨平台,采用这种方案的主要是Flutter。
抛开传统的Hybrid技术技术,目前比较流行的移动跨平台技术方案当属React Native、Weex和Flutter。不过,从开发效率、渲染性能、维护成本和社区生态上等不同的细节来看又各有优劣,对比如下。
不过,综合对比下来说,Flutter应该是目前最好的,React Native次之,不过,正如我之前说的一样,对于移动跨平台技术,没有最好,只有适合自己的。
前不久,有网友对目前国内的大厂采用的移动跨平台技术进行了统计,给出了如下一组数据。
App | Swift | React Native | Flutter | Weex | Version |
---|---|---|---|---|---|
| ✔ | 5.0.5 | |||
| 1.3.0 | ||||
| ✔ | 2.7.1 | |||
| ✔ | 2.6.0 | |||
| ✔ | 6.6.0 | |||
| 2.1.3 | ||||
| ✔ | 9.9.0 | |||
| 3.0.13 | ||||
| 8.0.0 | ||||
| 5.3.0 | ||||
| 7.0.11 | ||||
✔ | 8.2.9 | ||||
| ✔ | 7.1.5 | |||
| ✔ | 1.2.0 | |||
| 2.7.5 | ||||
| ✔ | 10.1.87 | |||
| ✔ | ✔ | 9.5.0 | ||
| 2.9.2 | ||||
| ✔ | ✔ | 11.19.0 | ||
| 4.6.8 | ||||
| 5.54.1 | ||||
| ✔ | 8.5.2 | |||
| ✔ | ✔ | 6.36.1 | ||
| ✔ | 11.2.5 | |||
| ✔ | ✔ | 6.6.50 | ||
| ✔ | ✔ | 8.5.4 | ||
| 10.0.3 | ||||
| ✔ | 7.0.20 | |||
| ✔ | ✔ | ✔ | 4.8.5 | |
| ✔ | 1.6.1 | |||
| 2.4.4 | ||||
| ✔ | 10.1.0 | |||
| ✔ | ✔ | 4.3.0 | ||
| ✔ | ✔ | 10.0.91 | ||
| ✔ | 8.7.70 | |||
| ✔ | 6.6.54 | |||
| 10.0.4 | ||||
| ✔ | 2.2.0 | |||
| ✔ | 3.0 | |||
| ✔ | 9.8.5 | |||
| ✔ | 5.3.50 | |||
| ✔ | 6.36.0 | |||
| ✔ | 10.3.0 | |||
| 7.200 | ||||
| ✔ | ✔ | 12.8.6.1274 | ||
| 4.3.6 | ||||
| ✔ | 9.6.1 | |||
| ✔ | 6.19.8 | |||
| ✔ | 2.9.1 | |||
| ✔ | 2.0.2 | |||
| 1.6.11 | ||||
| ✔ | 12.26.4 | |||
| ✔ | 3.14.1 | |||
| ✔ | ✔ | 7.6.1 | ||
| 10.28.0 | ||||
| ✔ | 6.5.6 | |||
| ✔ | ✔ | 5.9.0 | ||
| ✔ | ✔ | 4.33.5 | ||
| 2.27.1 | ||||
| ✔ | 10.7.401 | |||
| 2.36.5 | ||||
| 5.20.2 | ||||
| ✔ | 6.31.2 | |||
| ✔ | 9.5.1 | |||
| 4.6.7 | ||||
| 5.7.4 | ||||
| 5.8.3 | ||||
| 4.3.2.001 | ||||
| 12.7.4 | ||||
| 4.2.0 | ||||
| ✔ | 5.2.2 | |||
| ✔ | 7.31.1 | |||
| ✔ | ✔ | 7.10.0 | ||
| ✔ | ✔ | 5.1.0.1.1 | ||
| 10.5.0 | ||||
| ✔ | 8.30.2 | |||
| 5.17.0 | ||||
| ✔ | 7.14.0 | |||
| ✔ | 11.2.1 | |||
| ✔ | ✔ | 7.9.47 | ||
| 7.9.2 | ||||
| 6.0 | ||||
| 1.4.2 | ||||
| ✔ | 6.0.41 | |||
| 8.5.0 | ||||
| 2.4.0 | ||||
| 2.1.9 | ||||
| 7.3.1 | ||||
| 3.2.4 | ||||
| ✔ | 5.0.9 | |||
| ✔ | 8.20.5 | |||
| 1.3.5 | ||||
| ✔ | 2.0 | |||
| 4.8.0 | ||||
| ✔ | 6.5.0 | |||
| 8.1.5 | ||||
| 10.23.0 | ||||
| ✔ | 7.10.1 | |||
| ✔ | ✔ | 5.4.4 | ||
| 65.1 |
通过统计,得出如下的统计结果。
应用总数 | Swift | React Native | Flutter | Weex | ObjC | 时间 |
---|---|---|---|---|---|---|
100 | 26 | 23 | 13 | 14 | 41 | 2020.03.18 |
当然,这已经是3个月之前的数据了,那么3个月之后,这些数据又是怎么样的呢,下面是网友【恋猫de小郭】最新给的统计,我们来看看。需要说明的是,查看Android apk采用的何种技术,我们只需要将apk拖到Android Studio中打开即可,当然也可以使用诸如apktool等反编译工具进行反编译。
arm框架: armeabi-v7a
包含 kotlin、androidx
跨平台框架:react-native
经过分析这些排名靠前的App,我们可以得到如下一张表。
应用总数 | kotlin | androidx | Flutter | react-native | weex |
---|---|---|---|---|---|
52 | 39 | 24 | 19 | 22 | 18 |
通过上面的统计数据,我们发现:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。