荷小鱼 x mPaaS | 借助 H5 容器改善 App 白屏、浏览器兼容等问题

简介: 弱网环境无影响、版本升级无感知

封面0401.png

随着5G、大数据、人工智能技术的应用,各类传统行业纷纷大力推进数字化转型升级。


而受疫情的影响,教育行业也在大幅加速线上化转型进程,各类在线教育应用也在借助各种力量拓张自己的移动端市场领域。


「荷小鱼」作为一款学科启蒙在线学习应用,同样也在这条赛道上,思考如何才能在林立的竞对竞争中拔得头筹,获得更多用户的青睐?


这个问题的解法有很多,但第一步肯定是提升用户体验、优化应用性能


「荷小鱼」亟待解决的问题

原 App 内的部分页面,是通过 WebView 打开 H5 的方式来进行展示的,所以在打开一些重型页面时会出现以下的一些问题:

1. 网络问题导致白屏;

2. 浏览器兼容性问题;

3. 无离线下发功能;

4. 无法及时更新资源。


作为启蒙教育应用,「荷小鱼」的 App 页面除了需要嵌入基础框架代码和页面逻辑代码外,还需要嵌入多个字体库和多个音视频文件。


资源的多而大,导致页面非常容易收到网络的影响:网络不稳定时容易文件丢失、白屏加载资源时间长、造成网络线程阻塞等。


同时,也让 App 更新资源变得困难了很多:无法实时更新下发最新资源、缓存失效等。为技术团队在更新版本和调修 Bug 上造成了很大的阻碍。


“H5 容器+动态发布”

经过了多方调研,「荷小鱼」最终选择使用 mPaaS“H5 容器 + 动态发布服务”作为技术选型,用来解决 App 现阶段需要解决的难题。

ed84fe8a40cd17c4acd3d5401d5f39c9 (3).png

首先,通过 mPaaS H5 容器中自带的 UC 内核浏览器,可以从根本上解决浏览器兼容性问题。


此外,mPaaS H5 容器支持离线包访问。


离线包是将包括 HTML、JavaScript、CSS 等页面内静态资源打包到一个压缩包内。预先下载该离线包到本地,然后通过客户端打开,直接从本地加载离线包,从而最大程度地摆脱网络环境对 H5 页面的影响。


通过离线包的方式把页面内静态资源嵌入到应用中并发布,当用户第一次开启应用的时候,就无需依赖网络环境下载该资源,而是马上开始使用该应用。


最后,配合动态发布服务能力,在推出新版本或是紧急发布的时候,开发者可以把修改的资源放入离线包,通过更新配置让应用自动下载更新。因此,开发者无需通过应用商店审核,就能让用户及早接收更新。对页面资源进行动态更新,


应用的开发调试和发布部署

感谢来自「荷小鱼」的前端工程师雷文伟,通过实操演示,展示如何接入 mPaaS 以及如何完成应用发布。

点击阅读原文,观看完整视频。


弱网环境无影响、版本升级无感知

用户体验,是每一个应用都需要面临的生死题。尤其是在雨后春笋般的在线教育应用市场中,应用的性能对用户的留存效果显得更是尤为重要。


移动应用开发者从 DevOps 开始,到开发、性能监控、性能网络优化解决,在这一整套闭环流程中,通过借助 mPaaS 具备的开发测试、日志分析、卡顿分析、问题修复模式、热修复等各项能力,即可获取弱网环境无影响、版本升级无感知的用户体验。



E · N · D

动态-logo.gif

点击文末阅读原文,观看CodeHub#4全程回放。

相关文章
|
8月前
|
域名解析 网络协议 API
【Azure Container App】配置容器应用的缩放规则 Managed Identity 连接中国区 Azure Service Bus 问题
本文介绍了在 Azure Container Apps 中配置基于自定义 Azure Service Bus 的自动缩放规则时,因未指定云环境导致的域名解析错误问题。解决方案是在扩展规则中添加 `cloud=AzureChinaCloud` 参数,以适配中国区 Azure 环境。内容涵盖问题描述、原因分析、解决方法及配置示例,适用于使用 KEDA 实现事件驱动自动缩放的场景。
182 1
|
Web App开发 移动开发 JavaScript
通过H5(浏览器/WebView/其他)唤起本地app
通过H5(浏览器/WebView/其他)唤起本地app
|
存储 大数据 索引
【Azure Contianer Apps】在云上使用容器应用时收集日志遇见延迟问题
【Azure Contianer Apps】在云上使用容器应用时收集日志遇见延迟问题
148 0
|
Web App开发 移动开发 小程序
mPaaS常见问题之集成的uc浏览器so体积过大如何解决
mPaaS(移动平台即服务,Mobile Platform as a Service)是阿里巴巴集团提供的一套移动开发解决方案,它包含了一系列移动开发、测试、监控和运营的工具和服务。以下是mPaaS常见问题的汇总,旨在帮助开发者和企业用户解决在使用mPaaS产品过程中遇到的各种挑战
262 0
|
移动开发
华为Mate60钉钉App内置浏览器中使用“@kangc/v-md-editor"组件,功能不正常
华为Mate60钉钉App内置浏览器中使用“@kangc/v-md-editor"组件,功能不正常
723 1
|
开发者
关于Win11系统PC连上WiFi后能正常使用各大App,但浏览器无法正常上网访问之详细解决办法
我个人近期遇到了一个问题,正如标题所说“关于Win11系统PC连上WiFi后能正常使用各大App,但浏览器无法正常上网访问”,这个bug困扰过不少开发者,今天来简单分享一下解决办法
2086 1
|
前端开发 JavaScript Go
浏览器原理 22 # 渲染流水线:CSS如何影响首次加载时的白屏时间?
浏览器原理 22 # 渲染流水线:CSS如何影响首次加载时的白屏时间?
235 0
浏览器原理 22 # 渲染流水线:CSS如何影响首次加载时的白屏时间?
|
Java 应用服务中间件 网络安全
在手机上app中链接或者浏览器上访问电脑上Tomcat搭建的服务器以及其内容
在手机上app中链接或者浏览器上访问电脑上Tomcat搭建的服务器以及其内容
631 0
在手机上app中链接或者浏览器上访问电脑上Tomcat搭建的服务器以及其内容
|
移动开发 weex 容器
《手机淘宝H5和Weex容器的构建实践》电子版地址
手机淘宝H5和Weex容器的构建实践
222 0
《手机淘宝H5和Weex容器的构建实践》电子版地址
|
运维 监控 Cloud Native
《云原生架构容器&微服务优秀案例集》——02 汽车/制造——极氪汽车 APP全面升级云原生技术架构,高效提升用户出行体验
《云原生架构容器&微服务优秀案例集》——02 汽车/制造——极氪汽车 APP全面升级云原生技术架构,高效提升用户出行体验
636 0