前言:
结合B站直播营收部门的框架,梳理客户端开发业务框架
主要讲解下目前主流移动开发的Hybrid
App开发三大类
(一)Native APP 原生开发
特性:
直接依托于操作系统,IOS、Android不同操作系统要采用不同的语言和框架进行开发;
Android基于Java语言,底层调用Goolge提供的API;IOS基于Objective c或Swift语言,底层调用Apple官方提供的Api;
原生开发模式通常是由**"云服务器数据+APP应用客户端"** 两部份构成,APP应用**++所有的UI元素、数据内容、逻辑框架++**均安装在手机终端上。
优点:
- 原生的代码提供了最优的体验(这是毋庸置疑的,无论你的H5优化有多么好)
- 原生的代码可以直接调用系统的硬件(比如摄像机、蓝牙、存储空间等等)
- 原生的代码可以更好地对特定的功能进行定制化(比如 抖音中 自定义的视频录制,对文件处理之后的重新保存)
- 维护后迭代新版本,用户可自行选择更新或者本地维持老版本
缺点:
无法跨平台,Android和IOS要独自开发,因此开发成本高,调式不方便,后期维护困难。
(二)Web APP 网站开发
特性:
Web App
即移动端的网站,前端开发;负责UI的显示与交互。
直接将页面部署在服务器上,然后用户使用各大浏览器访问。(网站在各个操作系统都是统一的)
编程框架为H5+CSS3+JS
①HTML:负责网页的结构
(页面元素和内容)。
②CSS:负责网页的表现
(页面元素的外观、位置等页面样式,如:颜色、大小等)。
③JavaScript:负责网页的行为
(交互效果)。
优点:
- 可以跨平台,开发成本低,调试方便。
- 维护成本低 更新无需通知用户,不需要手动升级 无需安装App,不会占用手机内存。
缺点:
- 无法获取系统级别的通知,提醒,动效等等。
- 用户留存率低 设计受限制诸多 体验较差。
(三)Hybrid APP 混合开发
特性:
解决原生开发成本高、维护难和网站开发的问题;
主要原理就是将 APP 的一部分需要动态变动的内容通过 H5 来实现,通过原生的网页加载控件 WebView (Android)或 WKWebView(iOS)来加载H5页面;
相当于在原生APP里加入Web网站
优点:
H5 部分是可以随时改变而不用发版,动态化需求能满足;
由于 H5 代码能同时在 Android 和 iOS 两个平台运行,开发成本低;
缺点:
相比原生,性能仍然有较大损耗,不适用于交互性较强的app
总结:
在Native Container中加了Web,让前端老师帮我们客户端处理页面和交互逻辑