Web App 概述

1 基本原理

手机操作系统-原生App-浏览器-Web 应用

原则上:

  原生代码不实现业务逻辑,只处理 js 不擅长或手机操作系统提供的 API,比如:相片和视频处理,与其他App交互,SDK 对接

  界面、业务逻辑由 Web 实现

2 出发点

  基于现实原因,没有足够的原生App开发人员,业务的不确定性,导致了产品的频繁变更。总的来说就是开发成本、开发效率和产品体验之间平衡。

3 技术实现

3.1 js 与 Native 的互相调用

使用  DSBridge 处理两者交互,在 Android 和 IOS 中都可以使用,但不清楚项目现在为何不更新了。

基本上是 js 调用 Native,印象中没有使用 Native  调用 js 发式,这样会简单一点,应用会健壮点吧。

3.2 本地Html VS 线上网站

目前上架的应用使用的是将 html 相关文件打包到应用安装包内,这样体验会好一点。开发时使用线上地址便于调试。

 3.3 刘海屏和底部危险区域

应用启动后计算出刘海屏和底部危险区域高度,web 初始化是获取相关高度并做适配性处理。

4 应用实例

 安卓原生功能示例

ios原生功能示例

如果想看下实际效果可以在主流应用商店搜索【有才猫】demo App,如:小米应用商店App Store

5 不足

第一次安装启动时会有明显白屏出现,安卓通过在 Web 初始化完成后,再关闭启动图,减少白屏时间。iOS 的白屏时间短暂暂未做优化处理。

原文地址:https://www.cnblogs.com/850391642c/p/14464550.html