18

自从移动应用开发兴起以来,不少公司和开发者就在不断的探索移动跨平台开发技术,以适应移动应用高速迭代的需求 。纵观当前的移动跨平台方案,总结一下无外乎三大类:一种是使用原生内置的浏览器加载HTML5的Hybrid技术,采用此方案的主要有Cordova、Ionic和微信小程序;另一种是使用JavaScript开发,然后使用原生组件进行渲染,采用此方案的主要有React Native、Weex和快应用;最后一种是使用自带的渲染引擎和自带的原生组件实现跨平台,采用这种方案的主要是Flutter。

抛开传统的Hybrid技术技术,目前比较流行的移动跨平台技术方案当属React Native、Weex和Flutter。不过,从开发效率、渲染性能、维护成本和社区生态上等不同的细节来看又各有优劣,对比如下。
在这里插入图片描述
不过,综合对比下来说,Flutter应该是目前最好的,React Native次之,不过,正如我之前说的一样,对于移动跨平台技术,没有最好,只有适合自己的。

前不久,有网友对目前国内的大厂采用的移动跨平台技术进行了统计,给出了如下一组数据。

App Swift React Native Flutter Weex Version
1. 钉钉 5.0.5
2. 腾讯会议 1.3.0
3. 剪映 2.7.1
4. TestFlight 2.6.0
5. 微视 6.6.0
6. 快手极速版 2.1.3
7. 抖音 9.9.0
8. 企业微信 3.0.13
9. 腾讯视频 8.0.0
10. 拼多多 5.3.0
11. 微信 7.0.11
12. QQ 8.2.9
13. 快手 7.1.5
14. 旅行世界 1.2.0
15. 番茄小说 2.7.5
16. 支付宝 10.1.87
17. 手机淘宝 9.5.0
18. 学习强国 2.9.2
19. 百度 11.19.0
20. 韩剧TV-追剧大本营 4.6.8
21. 哔哩哔哩 5.54.1
22. 京东 8.5.2
23. 小红书 6.36.1
24. 爱奇艺 11.2.5
25. 闲鱼 6.6.50
26. 优酷 8.5.4
27. WPS Office 10.0.3
28. 网易云音乐 7.0.20
29. 腾讯课堂 4.8.5
30. 淘宝直播 1.6.1
31. 交管12123 2.4.4
32. QQ浏览器 10.1.0
33. 西瓜视频 4.3.0
34. 百度网盘 10.0.91
35. 美图秀秀 8.7.70
36. 喜马拉雅 6.6.54
37. 酷狗音乐 10.0.4
38. 好省 2.2.0
39. 七猫小说 3.0
40. QQ音乐 9.8.5
41. 京东金融 5.3.50
42. Keep 6.36.0
43. 微博 10.3.0
44. BOSS直聘 7.200
45. UC浏览器 12.8.6.1274
46. 人人视频 4.3.6
47. 58同城 9.6.1
48. 全民K歌 6.19.8
49. 轻颜相机 2.9.1
50. 网上国网 2.0.2
51. 皖事通 1.6.11
52. 安居客 12.26.4
53. 淘宝特价版 3.14.1
54. 今日头条 7.6.1
55. 高德地图 10.28.0
56. 芒果TV 6.5.6
57. 菜鸟裹裹 5.9.0
58. 得物(毒) 4.33.5
59. 贝壳找房 2.27.1
60. 美团 10.7.401
61. 第一弹 2.36.5
62. PP体育 5.20.2
63. 知乎 6.31.2
64. 手机天猫 9.5.1
65. Zoom 4.6.7
66. QQ邮箱 5.7.4
67. WiFi万能钥匙 5.8.3
68. 中国建设银行 4.3.2.001
69. 作业帮 12.7.4
70. 农行掌上银行 4.2.0
71. 团油 5.2.2
72. 美团外卖 7.31.1
73. 虎牙直播 7.10.0
74. 中国工商银行 5.1.0.1.1
75. 搜狗输入法 10.5.0
76. 饿了么 8.30.2
77. 扫描全能王 5.17.0
78. 流利说·英语 7.14.0
79. 百度贴吧 11.2.1
80. 智联招聘 7.9.47
81. 搜狐视频 7.9.2
82. 中国移动 6.0
83. 人民智云 1.4.2
84. 腾讯新闻 6.0.41
85. 苏宁易购 8.5.0
86. 酷狗铃声 2.4.0
87. 一甜相机 2.1.9
88. 下厨房 7.3.1
89. 一直播 3.2.4
90. TT语音 5.0.9
91. 阿里巴巴 8.20.5
92. 我的常州 1.3.5
93. 刷宝短视频 2.0
94. 比心陪练 4.8.0
97. 中国银行手机银行 6.5.0
114. 招商银行 8.1.5
151. 百度地图 10.23.0
170. 星巴克中国 7.10.1
206. 滴滴出行 5.4.4
353. 网易新闻 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等反编译工具进行反编译。

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,我们可以得到如下一张表。
| 应用总数 | kotlin | androidx | Flutter | react-native | weex |
| --------------- | ----- | ------------ | ------- | ---- | ---- |
| 52 | 39 | 24 | 19 | 22 | 18 |

通过上面的统计数据,我们发现:

  • 大部分应用都开始支持Androidx 版本,并且大多使用Kotlin 进行应用开发,当然还存在部分Java。
  • 大部分应用对arm64-v8a 支持不够,主要是因为大部分应用还停留在国内,但是像微信、支付这种全球类的应用已经开始支持arm64-v8a。
  • 相比去年,跨平台 Flutter 的比例提升不少,react-native 作为过去三年最流行的跨平台框架,还有很多的项目还在使用它,而使用weex技术的大多是阿里系 的产品 ,并且比较还不低。

xiangzhihong
5.9k 声望15.3k 粉丝

著有《React Native移动开发实战》1,2,3、《Kotlin入门与实战》《Weex跨平台开发实战》、《Flutter跨平台开发与实战》1,2和《Android应用开发实战》