本文内容摘自:给客户端同学的一份前端学习指南 若有侵权,请联系删除~
说实话在看过 google 的动态发布方案 Android App Bundle 后,我是一身冷汗的,吓到了,真真吓到了,国内的插件化出不了国,被 google 官方封杀之后,没想到官方的方案来了,google 的服务国内暂时用不了,但是大势已成,动态发布就是大势了,不知道国内的 android 圈之后会怎么走,总之我的心头那是阴云一片呐~
混合开发算不算大前端我不知道,我也不知道 android 客户端的同学以后是不是都要把前端从 H5,CSS 到各种框架学一遍,我觉得应该是不用的,网页和客户端各端天然的差距实在太大,以后也只会越来越大,妄想单单用前端技术就搞定所有平台,我觉得的是痴心妄想,只有像 flutter 这样的 DSL 特定领域语言才有可能
Android App Bundle 我会找找资料,下一篇再写,本篇我来梳理下混合开发
混合开发的 4 个阶段:
可以看出,Native与Web之间各有优劣,在移动互联网发展的过程中,开发者们也一直在寻找融合双方优势的方案
-
Hybrid 1.0
为Web页面提供Naive API的能力,也就是用JS Bridge去增强系统的WebView的功能。缺点是:体验差,如滚动、动画与交互等,稳定性差,如列表内存占用大等。 -
Hybrid 2.0
将Native组件覆盖在WebView之上,例如微信的cover-view,提供更多的扩展能力。缺点是:用户体验融合性不好,如层级、事件、布局等。 -
Hybrid 3.0
前端DSL开发,Native渲染,例如React Native与Weex。缺点:对W3C标准能力支持有限,存在平台差异,三端并不完全统一。 -
Hybrid 4.0
百花齐放的小程序、快应用、轻应用方案,这个容器也有两种:WebView容器与类ReatNative容器。技术方案上并没有太多的花样,这种方案的兴起由微信带起,本质上还是源于各大公司对于流量入口和生态的竞争
提一下 Android 的 webview 除了原生,还有腾讯 X5 和 UC 的开源兼容实现,UC 的付费,腾讯的免费
ReactNative
使用 JavaScript 和 React 编写原生移动应用,经过长时间的使用,调整,效果依然不理想,facebook 目前正在酝酿重新制作,加之 google 的 flutter 方案来势汹涌,RN 现在不推荐大家去浪费时间了
Weex
Weex 是一个基于现代 web 开发经验构建高性能移动应用程序的框架啊, 阿里的,阿里系的 app 都在用,但是阿里再 NB 能跟 google 老大哥掰腕子吗,推荐有时间的去看~
Flutter
Flutter 允许您通过一个代码库在 iOS 和 Android 上构建漂亮的本地应用程序,google 大爷出的,咱还能说啥,赶紧抱紧大腿啊,下一代系统基本就是 flutter 、dart 的天下了
小程序
小程序也属于跨端框架的范畴,但它与 Weex 这些框架不同,比起像 ReactNative 这种技术创新,它更像是一种商业创新,它源于各大巨头对于流量与入口的竞争。详情可参见:2018年上半年小程序生态白皮书
我们先就他们的技术方案做个简单的对比,如下所示:
- 微信小程序:基于WebView渲染,自建的DSL,与Vue 1.0有点像,不是很好用,后续又出了WePY、mpVue、Taro等DSL。
- 支付宝小程序:基于WebView与ReactNative两套容器渲染,自建了一套类React的DSL。
- 快应用:基于Native进行渲染,自己定义了一套类Vue的DSL。
- 淘宝轻应用:基于WebView与Weex两套容器渲染,自建了一套类Vue的DSL。
事实上,小程序承载的更多是业务形态,我们从业务开发角度对小程序的前端架构做个总结。
1. 微信小程序
小程序是一种新的开放能力,开发者可以快速地开发一个小程序。小程序可以在微信内被便捷地获取和传播,同时具有出色的使用体验。
2. 支付宝小程序
支付宝小程序是一种全新的开放模式,它运行在支付宝客户端,可以被便捷地获取和传播,为终端用户提供更优的用户体验.
3. 快应用
快应用是基于手机硬件平台的新型应用形态;标准是由主流手机厂商组成的快应用联盟联合制定;快应用标准的诞生将在研发接口、能力接入、开发者服务等层面建设标准平台;以平台化的生态模式对个人开发者和企业开发者全品类开放。
4. 淘宝小程序
5. 头条小程序
我发现头条新闻里也可以看见小程序了
可见大家都在布局啊,google 的 Android App Bundle 暂时在国内用不了,资本巨鳄们都在抢占阵地,说不定还真有公司会效仿 google 的 Android App Bundle ,这也说不准的事不是
网友评论