hybrid开发
Tue Apr 06 2021 · 1min
此篇总结于公司内网的一片文章
前言
我们首先要了解一下移动端开发有哪几种方式:
- native开发 原生的 性能体验没得说,但是有门槛,如果是专职客户端的同学还好说,其他领域的同学就不好入门了 相关技术
Swift Java
- H5 以移动端浏览器为容器的应用,体验性能都会受到浏览器处理能力的限制,但开发起来就是快
- Hybrid 其实是h5的一个变种,但是我们不再以浏览器为容器,依赖于一个叫
webview
的容器,综合了native和h5的优点 通过js-bridge
来连接h5和native,前端开发起来无差别,一些功能需要调用bridge让客户端进行配合 也可以理解为 半原生半h5开发 - React Native (RN) rn是用react开发,我觉得也算hybrid,区别就是他有一些内置的原生组件(runtime的时候会编译成原生),也不需要通过bridge来做些什么,当然我没用过 所以认识还比较浅显
离线包
看到大佬文章里提到,他问过身边好多人都不知道离线包是什么的时候,我不禁松了一口气,因为在每次上线的时候,我也提过同样的问题,什么是离线包?
比如 h5 页面的文件素材都可以依赖客户端去下载, 去进行提前缓存工作。 通过客户端的配置,在这个这网页还没加载的时候,客户端就已经把这个资源提前下载好了,下载好之后的 ZIP 包,就叫离线包,当你打开这个 Web 页面的时候,然后就可以通过网络拦截做一些逻辑,就可以去命中本地的 ZIP包 (离线包)里的资源,然后直接加载资源就行了,就不用通过网络请求下载了。这就是离线包的应用场景。
结合http的强缓存是不是更好理解一点,其实离线包就是资源的缓存包,主要功能就是提升webview
的加载速度,要不然在性能上根本无法和RN\weex\flutter等跨端技术去抗衡