自从移动应用开发兴起以来,不少公司和开发者就在不断的探索移动跨平台开发技术,以适应移动应用高速迭代的需求 。纵观当前的移动跨平台方案,总结一下无外乎三大类:一种是使用原生内置的浏览器加载HTML5的Hybrid技术,采用此方案的主要有Cordova、Ionic和微信小程序;另一种是使用JavaScript开发,然后使用原生组件进行渲染,采用此方案的主要有React Native、Weex和快应用;最后一种是使用自带的渲染引擎和自带的原生组件实现跨平台,采用这种方案的主要是Flutter。
抛开传统的Hybrid技术技术,目前比较流行的移动跨平台技术方案当属React Native、Weex和Flutter。不过,从开发效率、渲染性能、维护成本和社区生态上等不同的细节来看又各有优劣,对比如下。
不过,综合对比下来说,Flutter应该是目前最好的,React Native次之,不过,正如我之前说的一样,对于移动跨平台技术,没有最好,只有适合自己的。
前不久,有网友对目前国内的大厂采用的移动跨平台技术进行了统计,给出了如下一组数据。
通过统计,得出如下的统计结果。
当然,这已经是3个月之前的数据了,那么3个月之后,这些数据又是怎么样的呢,下面是网友【恋猫de小郭】最新给的统计,我们来看看。需要说明的是,查看Android apk采用的何种技术,我们只需要将apk拖到Android Studio中打开即可,当然也可以使用诸如apktool等反编译工具进行反编译。
1、微信(v7.0.15)
- arm框架: arm64-v8a
- 语言:kotlin、androidx
- 跨平台框架:flutter,自定义的 skia
2、腾讯课堂(v4.10.3.13)
- arm框架: armeabi
- 语言:kotlin 、androidx
- 跨平台框架:react-native
3、QQ(v8.3.9)
- arm框架: armeabi
- 跨平台框架:Flutter
- 分包数量高达 14 个 dex
4、书旗小说(v11.1.3.111)
- arm框架: armeabi
- 跨平台框架:flutter、weex
5、京东(v9.0.0)
- arm框架: armeabi-v7a
- 跨平台框架:react-native
6、京喜(v3.6.0)
- arm框架: armeabi
- 跨平台框架:react-native
7、苏宁易购(v8.8.7)
- arm框架: armeabi
- 语言:kotlin 、andriodx
- 跨平台框架:weex、react-native
- 分包数量高达 15 个 dex
8、微信读书(v4.6.0)
- arm框架: armeabi-v7a
- 语言:包含 kotlin 、andriodx
- 跨平台框架:react-native
9、京东金融(v5.4.30)
- arm框架: armeabi-v7a
- 包含 kotlin 、andriodx
- 跨平台框架:react-native
- 分包数量高达 11 个 dex
10、腾讯动漫(v8.4.7)
- arm框架: armeabi
- 包含 kotlin 、andriodx
- 跨平台框架:weex
11、哔哩哔哩(v6.1.0)
- arm框架: armeabi
- 包含 kotlin
- 跨平台框架:flutter
- 分包数量高达 14 个 dex
12、滴滴出行(v5.4.14)
- arm框架: armeabi-v7a
- 包含 kotlin、androidx
- 跨平台框架:weex
13、哈罗出行(v5.40.0)
- arm框架: armeabi-v7a
- 包含 kotlin、androidx
- 跨平台框架:flutter
- 分包数量高达 14 个 dex
14、网易云音乐(v7.1.61)
- arm框架: armeabi
- 包含 kotlin、androidx
- 跨平台框架:react-native
15、手机淘宝(v9.8.0)
- arm框架: armeabi-v7a、armeabi-v8a
- 包含 kotlin、androidx
- 跨平台框架:flutter、weex
- 分包数量高达 11 个 dex
16、闲鱼(v6.7.10)
- arm框架: armeabi
- 跨平台框架:flutter、weex
- 分包数量高达 14 个 dex
17、支付宝(v10.1.95.9010)
- arm框架: armeabi
- 分包数量高达 12 个 dex
18、UC 浏览器(v13.0.0.1080)
- arm框架: armeabi-v7a
- 包含 kotlin
- 跨平台框架:flutter、weex
19、饿了么(8.32.2)
- arm框架: armeabi-v7a
- 包含 kotlin
- 跨平台框架:weex
- 分包数量高达 14 个 dex
20、钉钉(v5.1.5)
- arm框架: armeabi
- 包含 kotlin
- 跨平台框架:weex
- 分包数量高达 20 个 dex
21、飞猪(v9.5.2.104)
- arm框架: armeabi-v7a
- 包含 kotlin
- 跨平台框架:weex、flutter
- 分包数量高达 15 个 dex
22、菜鸟裹裹(v5.11.2)
- arm框架: armeabi
- 包含 kotlin
- 跨平台框架:weex、react-native
23、百度网盘(v10.1.23)
- arm框架: armeabi-v7a
- 包含 kotlin、androidx
- 跨平台框架:flutter
- 分包数量高达 15 个 dex
24、百度(v11.23.5.10)
- arm框架: armeabi
- 包含 kotlin
- 跨平台框架:react-native
25、美团(v10.10.201)
- arm框架: armeabi
- 跨平台框架:react-native
26、美团外卖(v7.36.4)
- arm框架: armeabi
- 跨平台框架:react-native
- 分包数量高达 11 个 dex
27、美团外卖商家版(v6.1.0.36)
- arm框架: armeabi
- 跨平台框架:flutter、react-native
- 分包数量高达 11 个 dex
28、抖音(v11.2.0)
- arm框架: armeabi-v7a
- 包含 kotlin、androidx
- 跨平台框架:react-native
- 分包数量高达 10 个 dex
29、今日头条(v7.7.4)
- arm框架: armeabi-v7a
- 包含 kotlin
30、知乎(v6.42.0)
- arm框架: armeabi-v7a
- 包含 kotlin、androidx
31、微博(v10.5.2)
- arm框架: armeabi
- 包含 kotlin、androidx
32、天猫(v12.5)
- arm框架: armeabi-v7a
- 跨平台框架:Weex
在这里插入图片描述
33、58 同城(v9.10.1) - arm框架: armeabi-v7a
- 包含 kotlin、androidx
- 跨平台框架:react-native
- 分包数量高达 16 个 dex
34、携程(v8.24.2)
- arm框架: arm64-v8a
- 包含 kotlin、androidx
- 跨平台框架:react-native
35、去哪儿(v9.0.6)
- arm框架: armeabi
- 包含 kotlin、androidx
- 跨平台框架:react-native
36、小红书 (v6.46.0)
- arm框架: armeabi-v7a
- 包含 kotlin、androidx
- 跨平台框架:react-native
37、虎扑(v7.5.8.12113)
- arm框架: armeabi、 armeabi-v7a
- 包含 kotlin、androidx
39、Boss直聘(v8.050)
- arm框架: armeabi-v7a
- 包含 kotlin、androidx
40、智联招聘(v7.9.56)
- arm框架: armeabi-v7a
- 跨平台框架:weex
41、猿辅导(v7.7.1)
- arm框架: armeabi
- 包含 kotlin、androidx
- 跨平台框架:flutter
42、快手(v7.5.10)
- arm框架: armeabi-v7a
- 包含 androidx
- 跨平台框架:flutter
43、得到(v8.0.1)
arm框架: armeabi-v7a
包含 kotlin、androidx
跨平台框架:react-native
44、每日优鲜(v9.8.51)
- arm框架: armeabi、armeabi-v7a
- 包含 kotlin、androidx
- 跨平台框架:flutter
45、盒马(v4.43.0)
- arm框架: armeabi-v7a
- 包含 kotlin、androidx
- 跨平台框架:weex、flutter
46、小米有品(v5.6.88)
- arm框架: armeabi-v7a
- 包含 kotlin、androidx
- 跨平台框架:weex、react-native
47、米家(v5.6.88)
- arm框架: armeabi-v7a、arm64-v8a
- 包含 kotlin
- 跨平台框架:weex、react-native、flutter
48、链家(v9.15.1)
- arm框架: armeabi
- 包含 kotlin
- 跨平台框架:flutter
49、喜马拉雅(v6.6.75.3)
- arm框架: armeabi
- 包含 kotlin
- 跨平台框架:react-native
50、同花顺(v10.08.03)
- arm框架: armeabi
- 包含 kotlin、androidx
- 跨平台框架:flutter
51、陌陌(v8.24.3)
- arm框架: armeabi
- 包含 kotlin、androidx
- 跨平台框架:weex
- 分包数量高达 12 个 dex
52、脉脉(v5.2.66)
- arm框架: armeabi-v7a
- 包含 kotlin、androidx
- 跨平台框架:react-native
经过分析这些排名靠前的App,我们可以得到如下一张表。
通过上面的统计数据,我们发现:
- 大部分应用都开始支持Androidx 版本,并且大多使用Kotlin 进行应用开发,当然还存在部分Java。
- 大部分应用对arm64-v8a 支持不够,主要是因为大部分应用还停留在国内,但是像微信、支付这种全球类的应用已经开始支持arm64-v8a。
- 相比去年,跨平台 Flutter 的比例提升不少,react-native 作为过去三年最流行的跨平台框架,还有很多的项目还在使用它,而使用weex技术的大多是阿里系 的产品 ,并且比较还不低。