「技术」如何快速开发一款APP?( 四 )
第三点我们讲的是一个推拉结合的概念 , 其实还是蛮有意思的一个点 。 因为我们在传统的HT模型里面 , 我们永远是一个拉的概念 , 我在客户端提起这request , 然后服务端去返回response , 当然http2的话是有了serverpush的一个概念 , 那么我们不是说是在serverpush上做了一个加强 , 我们本身有一个组件叫做sync , 对于mPaaS平台来说 , 它就是一个稳定的长连接 。 那么 , 那么服务端可以通过长链接、提前的向端上去发一些想要的东西 , 比如说提前去发送离线包这样的概念 , 或者说其他的一些数据 , 特别是基于事件的一些数据 。
然后第四点的情况就是当我们的离线包发布如果失败的情况下 , 我们可以设置一个fallback走线上的一个流程 。 这个流程的话是防止我们的离线包下载失败的时候所做的事情 , 这一点是为了做正确性的事情 。 然后一个是我讲过的独立浏览器内核的问题 , 可能在之前我们遭遇的情况比较多一点 , 现在的我们这边的话支持的版本还是在4.3, 4.4以上 , 还会存在一些问题 , 那么我们的离线包 , 我们的UC WebView是实时动态更新的 , 他并不跟着安卓系统走 , 所以我们提早下发的更新可以帮助用户更好的去稳定他们离线包的体验和减少前端bug的产生 。
后面一点的话 , 我们讲的是一些深度自定义的组件 , 这一块的话 , 我们有提供了Ant Design之类的一些方案 , 可以让用户快速的介入去构造一个页面 。 那么最后一点是监控 。 其实监控是在这边最枯燥乏味 , 但是是最重要的一个环节 。 因为我们需要对于业务稳定性和本身的业务点做一些监控 , 那么这些监控做完之后 , 我们就可以快速的响应用户的需求 , 去解决用户碰到的一些问题 , 同时我们可以收集一些运营的数据 , 然后对下一次产品的改进和bug修复做提供非常有效的帮助 。
我们H5的容器包含了非常巨大的扩展性 , 我们首先提供了一些JS的API , 可以使H5的代码有调用 , Native的能力在前面已经说过了 。 他不仅是一些普通的能力 , 还包括像数据存储、全球广播 , 然后还能自定义的扩展API , 然后我们在Nebula容器上提供了一些容器的插件 , 容器插件的话 , 它是基于事件去响应的 , 我们在这边H5里面有提供了一系列的容器上的生命周期 , 那么当生命周期回调响应的时候 , 我们就可以在插件中收到这块生命周期的事件 。
本文插图
那么 , 基于这个事件 , 我们可以去做出各种各样功能 , 然后开关这一块其实是做ABTest之类的需求是最好用的一块功能 。 那么我们可以在特定的条件下做一些开关的配置 , 比如说以人群 , 以机型 , 地域之类的方式去做这些开发配置 , 那么我们可以给特定的地域、特定的人群做提前的灰度 , 或者说AB的能力 。 我们的H5的容器最显着的一个特性 , 是要比原生的WebView的稳定性要高出很多 。 这边我们有两个指标 , 一个是PV的崩溃率 , 一个是PV ANR的概率 , 那么崩溃率就是Crash率 , 那么我们这边的话比传统的容器要高一倍以上 , 那么ANR的概念就是你在划的过程中卡死的概率 , 我们这边主要核心解决的两个问题 , 是WebView稳定性和WebView体验不一致的问题 。
Part2:监控+发布平台 , 满足业务稳定运行、快速迭代
然后讲一下我们的监控和发布平台 , 因为这块是围绕着我们H5容器的生态 , 需要去做到的一个非常大的后端能力 。 首先第一点 , 我们需要有快速发布的能力 , 因为我们知道基于原生的H5页面 , 其实它是本身就具有实时发布的 , 实时发布的概念就是你自己如果拥有一台服务器 , 那么你去发布你的前端页面的时候 , 它是实时更新的 。 如果使用离线包的话 , 他的确是丧失一些快速发布的能力 , 但是我们在这里需要把快速发布的能力给他补偿回来 。
推荐阅读
- 「A1canton」智慧酒店震撼来袭——虚拟现实VR篇,五大技术革新传统酒店
- 人民网@【战“疫”说理】疫情防控中如何有效实现经济复苏?
- 「北京头条客户端」科技部:将加大对前沿技术研发的攻关和支持力度
- 『财经涂鸦』三七互娱爆发的秘密:该用技术公司估值模型来看它了
- 『车家号』高低功率如何选?后期改装就能“低变高”了吗?,同一款发动机
- 手机、眼镜如何消毒?清洁要从细节做起
- 『音频』iOS如何导入百度云的音频(易剪和易剪多轨版)
- 2020年你应该关注的8大技术趋势,眺望曙光TVP线上技术闭门会纯享实录
- 十大突破性技术-NMN,叫你如何选择最好的NMN
- 妙家影视■如何计算低压开关柜铜排用量?这是我见过最漂亮的文章!
