终端碎片化的时代与多端一体化开发体系的兴起
随着响应式与混合开发的技术体系的兴起与逐步完善,终端碎片化时代如期而至。
这里的‘碎片化’,意指形形色色的媒体终端碎片化了用户体验方式和时间,一款产品在各终端的表现层基本一致,略有差异。
于是,基于产品多终端的便捷化开发,多端一体化开发体系兴起了。在讲多端一体化开发体系之前,我们先回顾一下它的基础:混合开发。
混合开发
混合开发发展到现在,实质上而言,大致可分为三大类;
一 H5嵌入式混合开发(webApp ,native-h5-app ):
代表技术有:
1 webview : webview控件性能愈加强大,可控的h5内容体积以及逐渐接近native的性能,让它逐渐成为新时代主流的webapp开发方式;
2 hyiframe : 用iframe开一个窗口,请求服务端的h5页面,是早年的webapp的主流开发方式。
3 highbridge : 有native提供底层调用api,以桥接的方式,让h5可间接调用底层,直到现在,它还是主流的webapp开发方式;
4 pwa : pwa 其实不算一种技术,它是一种概念——追求无限接近native性能的web pro。这里把它放在这里,主要考虑到桌面h5应用。
二 native混合开发(写的js,build出的是安卓、ios原生):
代表技术有:
1 RN : react-native是早期Facebook团队推出的混合开发框架,到现在的版本,对安卓和ios都有很好的支持;
2 Weex : vue语法的native混合开发体系。虽然背后没有特别强大的团队,但开源大佬多啊;
native意指原生,这里的原生指的是 安卓原生和ios原生。前阵子很火的一道面试题是 native混合开发的原理,讲起来很简单,实际上真正要更深入的理解,多少要学些原生的东西。
三 平台脚本类的小程序 :
代表技术有:
1 微信小程序 : 这个有多火就不用再说了==!
2 支付宝小程序: 听说搞得还不错,但支付宝用户多依赖支付宝的支付功能,大多都是把它定位为一个便捷支付类的产品,而非一个娱乐/社交产品。它没微信小程序火,不是因为技术上的不足,而是产品的定位。
我们知道js也是门脚本语言,所谓脚本语法,就是只能运行在特定的环境下。 例如js只能依赖具备js解释器的环境(以浏览器引擎,node为主的环境都具备js解释器的功能),vbs只能依赖windows环境(windows的脚本语言)。
同样的,微信、支付宝、钉钉等产品本身也是一种环境,微信最先开始提供了它的脚本语言,在语言设计上,与js的语法几乎一致,因此——我们用的是js语法,实际上写的是独属于这个环境的脚本。
以上,是主流的三大类混合开发方式;
多端一体化开发体系
多端一体化开发体系,就是以h5与混合开发为根本,利用它们共同的特性:js语法,去构建的一次开发,多端产出的开发体系。
主流技术有:
1 Rax: 表层用react语法开发,构建依赖weex(没写错,不要奇怪这一点)实现native(安卓、ios)端,同时产出h5端;
也就是 rax => weex+h5 => andriod+ios+h5;
2 Taro.js : taro.js也是一个开源的多端一体化开发体系,版本稳定以来一直很受欢迎。
Taro.js用的也是react语法,但开发一套代码后,通过taro提供的编译工具,可build出多套终端的适配代码:包括微信/百度/支付宝/字节跳动小程序、H5、React-Native ,适用性很广,极大地解放了前端开发的生产力。
18年起,开源的多端开发框架逐渐增多,出现了不少好产品。这必然是前端应对大前端潮流下终端碎片化的最好方式,因此,掌握和熟练一门体系是作为一个跟随时代潮流的前端开发人员所必备的技能之一。
大前端,讲在最后
所谓大前端的概念,一开始是node兴起后的衍生概念。我们知道,node作为服务端js的运行环境,它一开始的主要是做ssr(服务端渲染)这样的一个表现层;但随着它的逐步完善和突出的特点,新兴架构方式中常有用node作为前端的一个信息数据的转发和控制层。这一点其实与多终端相契合——因为多终端所以更需要node去做控制层或中间层,反过来node不仅是多终端的根本开发依赖,更是客户端与服务端亲密结合的基础。
因此,现时代讲大前端应当是必备这样的两个条件: 1 面向于多终端的技术栈; 2 以node为核心的服务端技术盏 ;
全文手打,2019年1月9日,散场丶丶。
- 移动开发的碎片化时代
- 未来开发或成智能机器时代—移动终端世纪
- 后终端时代的移动开发
- Liferay7 BPM门户开发之21: 理解消息总线(Message Bus)体系
- 每一位Android开发者应该知道的Android体系架构和开发库
- 路由器开发(一)—— 路由器硬件结构及软件体系
- 数据分析师的福音——VS 2017带来一体化的数据分析开发环境
- 嵌入式开发第46天(ARM的时钟体系)
- Android开发艺术探索(连载)之View 的事件体系(一)view的基本知识
- IOS开发之----Mac终端 常用命令
- iOS陆哥开发笔记(二十二) (Mac 终端命令介绍)
- 软件开发知识体系
- 网络即时战略游戏软件开发 结构体系分析
- 大数据时代下金融行业市场的开发分析
- 8月9日云栖精选夜读:大数据时代_如何构建国家地质基础数据更新体系
- 定宽网页设计下,固定宽度布局开发WebApp并实现多终端下WebApp布局自适应
- 精细化数据运营助力云端一体化开发模式
- UCML--编译型应用框架快速开发工具体系介绍
- Gulp安装及配合组件构建前端开发一体化
- 关于手机或者PDA终端2次开发的资料