移动开发技术

原生开发

原生开发有以下主要优势:

可访问平台全部功能(GPS、摄像头);
速度快、性能高、可以实现复杂动画及绘制,整体用户体验好;

主要缺点:

平台特定,开发成本高;不同平台必须维护不同代码,人力成本随之变大;
内容固定,动态化弱,大多数情况下,有新功能更新时只能发版;

跨平台技术

Hybird技术--H5+原生混合开发
  • WebView + JsBridge: 性能一般,开发效率高,H5 部分可动态更新
    H5运行在WebView 中,WebView渲染,复杂界面会使WebView 不堪重负,权限受限制,并且要预先使用原生开发来实现JsBridge,才能访问平台API ,
React Native和Weex
  • JavaScript开发+原生渲染:原生控件渲染,性能较好
    JavaScript Core:
    1、为JavaScript 提供运行环境;
    2、提供JavaScript 与原生应用之间通信的桥梁,作用和JsBridge一样,事实上,在iOS中,很多JsBridge的实现都是基于JavaScript Core 。

    将虚拟DOM映射为原生控件的过程:
    1、布局消息传递; 将虚拟DOM布局信息传递给原生;
    2、原生根据布局信息通过对应的原生控件渲染控件树;

Flutter

自绘UI +原生:调用系统API 渲染,性能好,接近原生开发,支持热重载可帮助开发者快速地进行测试、构建UI、添加功能并更快地修复错误。

你可能感兴趣的:(移动开发技术)