近几年,随着物联网时代到来、移动互联网高歌猛进,日新月异,在很多业务场景中,纯原生开发主要面临动态化和开发成本两个问题,而针对这两个问题,诞生了一些跨平台(特指Android和iOS两个平台)的动态化框架。
跨平台技术对比
技术类型 | UI渲染方式 | 性能 | 开发效率 | 动态化 | 框架代表 |
---|---|---|---|---|---|
H5+原生 | WebView渲染 | 一般 | 高 | 支持 | Cordova、Ionic |
js+原生渲染 | 原生控件渲染 | 好 | 中 | 支持 | RN、Weex、uni-app |
自绘UI+原生 | 调用系统API渲染 | 好 | Flutter高, QT低 | 默认不支持 | QT、Flutter |
上表中开发语言主要指UI的开发语言。
而开发效率,是指整个开发周期的效率,包括编码时间、调试时间、以及排错、兼容时间。
动态化主要指是否支持动态下发代码和是否支持热更新。值得注意的是Flutter的Release包默认是使用Dart AOT模式编译的,所以不支持动态化,但Dart还有JIT或snapshot运行方式,这些模式都是支持动态化的。
拓展阅读
- 《移动应用开发常见技术比较》https://www.jianshu.com/p/fc0fea667243
- 《2019年,Flutter 和 React Native 谁主沉浮?》https://www.ucloud.cn/yun/104638.html
原文:https://xushanxiang.com/2019/12/comparison-of-cross-platform-technologies-in-mobile-development.html