WebAPP 框架方案讨论

框架需求

  • H5应用开发响应快速开发
  • 多客户的定制化
  • 不同项目呈现不同的功能模块
  • 移动端原生功能的支持
  • 升级迭代的便利性

目前WebAPP方案对比

  • React Native
  • Ionic
  • H5+
  • 微信小程序

框架方案思路

webapp h5+

  • APP: 原生APP,MA容器功能和管理功能。
  • MA: 微应用,H5+实现的微小应用。尽量功能单一,体量小。
  • WebView: 经过封装原生WebView,封装后经过桥接插件支持H5+
  • plug: 插件,桥接JS和原生API
  • S: 服务端微服务
  • ACS: MA注册服务,记录列表-服务端包含的微应用
  • UCS:用户配置服务,记录列表-用户需要的微应用

思路简介

  1. 移动端APP不包括任何业务逻辑,业务功能只按模块分布于各个微应用MA中。
  2. MA通过H5+实现单一/简单的功能,被打包成资源包,存储在服务器微应用仓库中。
  3. ACS/UCS 记录/管理微应用仓库和用户微应用需求
  4. APP通过ACS/UCS, 发现/加载/升级 微应用
  5. APP通过WebView启动微应用,运行业务功能

主要涉及的功能

  • WebView加载本地MA资源
  • H5+ 插件开发调用原生API
  • MA资源管理
    • MA资源配置获取
    • MA资源网络加载
    • MA资源本地管理
  • 移动端权限获取
  • 壳APP的其它功能

需要考虑的问题

  • 配置信息规范
  • 移动端权限管理
  • 插件开发
  • 微应用之间需要通信吗?如何通信?
  • 性能要求
    • H5的流畅度
    • MA资源包的加载速度
  • H5在各个Android系统中的适配问题

后期,每添加一个插件都需要APP的打包上架,建议减少上架次数

可能存在问题/风险

  • iOS上架风险,H5 APP上架的不确定性
  • 适配问题的各种坑(WebApp的坑)
  • H5+ Engine的封闭性,没有开源,太依赖5+SDK

后续任务

  • 方案的可行性
  • 研究插件开发的实现方式

Powered by Hexo and Hexo-theme-hiker

Copyright © 2013 - 2021 朝着牛逼的道路一路狂奔 All Rights Reserved.

访客数 : | 访问量 :