作者:mobiledu2502871343 | 来源:互联网 | 2023-08-08 15:27
目前移动端开发方式有4种:
- Flutter
- 原生(oc, java)
- js转原生框架(facebook的React Naitve ,阿里的weex)
- webview混合开发 (uinapp,ionic,webview混合开发)
一、 Flutter
官网介绍:Flutter 应用会在一个 VM(程序虚拟机)中运行,Flutter 应用程序会直接编译为机器代码 intel x64 或 ARM 指令集。
flutter是目前为止性能直逼 native 的解决方案,甚至某方面优于native
目前网易,腾讯,阿里等起到引领作用
国内社区成员:
优点:支持 web, ios, android 性能强,开发效率高,维护成本低
缺点:视频编辑,平台功能需要原生支持
二、 原生
优点: 毫无疑问原生性能最优,最强
缺点:开发周期长,维护成本高,开发周期难同步
渲染 view->layout->renderNode ->合成->GPU渲染
三、 js转原生框架(facebook的React Naitve ,阿里的weex)
js作为桥梁,对应标签转换原生组件,对应属性转原生属性
优点:支持ios,android, 开发效率高,性能优于webview
缺点:兼容性差,性能差,找不到插件只能原生封装插件
四、 webview混合开发 (uinapp,ionic,webview混合开发)
- uinapp:h5框架,如果你的应用是uni-app开发的,需要扩展一些原生能力,那么首先去插件市场看看有没有现成的插件,如果没有,就自己开发,开发文档请参考原生插件开发教程。
- ionic:h5框架,原生功能需要到 cordova社区
- webview混合开发:基于h5开发,实现h5调用原生,原生调用h5
优点: 支持小程序,ios, android, web 开发效率更快
缺点:性能差,体验差,原生功能都需要找插件,找不到插件只能原生封装插件
渲染 html->dom tree ->render tree ->render layer + 栅格化 ->合成->gpu渲染。