最近国内开始越来越多地提及“大前端”的概念,一说是前端和移动端的整合,一说是前端和中间件的整合。虽然还没有一个明确的共识来说明“大前端”究竟是什么,但不少团队已经开始以“大前端”来为自己命名了。 点融网自2015年就开始组建客户端团队,直播,包括传统意义上的前端(Web)、iOS、Android、Node.js 等在内的各种技术和开发工程师在内。成立至今,数经变动,虽无“大前端”加冠,然早行“大前端”之实。 开发工作不断深入,成绩斐然,但所有的资深都有一段菜鸟岁月,所有的经验都来自于踩过的坑。大前端的热也让作为点融网前端负责人的笔者在回顾过往工作时,有了更多的认识和新想法,故作此文,与君共勉。 大前端——所有表现层的整合 过去的一段时间里,Web 端的开发同事与笔者谈起 Web 开发不被重视、被边缘化和碎片化的问题。确实,以我司官网()为例,如果单纯从一个传统意义网站的角度来看,相比于移动端,Web 端投入的人力和资源都相对较少,演进较慢。尤其是在公司确定了“Mobile First”的发展理念后,各类产品及功能都优先在移动设备上开发和展示。 因此对 Web 端同事造成了这样一种感觉:iOS 和 Android 这类的 Mobile App 开发是公司的首要战略地位产品,Web 开发只是一个辅助技术,难以获得认可。 1、“Mobile First” ≠“Mobile App First” 笔者始终认为:“Mobile First” ≠“Mobile App First”。这里的 Mobile 更多指的是移动设备上的表现,至于是选择 App 还是 Web 方式,并不重要。 从用户体验的发展看,演进的方向是从大屏的 PC 到小屏的移动设备,在这个过程中 App 因为可以提供较好的性能和体验从而在一段时间内快速发展。随着移动设备的增多,开发团队的效率与移动设备增长呈负相关,因此,为了提高开发效率,Hybrid 技术获得了迅速发展,表现层领域(即所谓泛 GUI 领域)越来越往跨屏跨设备的方向进步。作为目前唯一真正实现跨屏的 Web 技术需求逐步增加,到现在已经几乎渗入到移动开发的各个领域。 有一阵子业界颇有 Web 即将统一全平台的趋势,然而随着 Web 技术在性能和表现力上的短板,在实际应用中不得不退回到 Hybrid 模式。但经历了这样一个事件后,业界充分认识到了各自平台和技术的短处和长处,从而进一步促进了 Native 和 Web 的整合。时至今日,再想很明确地区分具体的表现媒介已经很困难了,大前端的概念应运而生。 2、“客户端团队”之名,“大前端”之实 具体到点融网,我们团队采用的名称实际上是客户端团队(Clients),恰好反映出了对大前端的理解。传统的 C/S 架构体系中,客户端往往负责了所有的业务展示和表现。 在新的互联网体系下,我们认为所有的表现层技术以及辅助这些表现层技术的技术都隶属于大前端的范畴,原因是所有这些技术和设计的目的只有一个:为业务展示服务。 3、表现层和业务逻辑层的分离都意味着前后端的分离 《当我们在谈大前端的时候,我们谈的是什么》这篇文章归纳了从 Node.js 分离前后端开始到与泛 GUI 层交互的大前端概念,在我看来其实都是将表现层概念独立出来。Node.js 的引入彻底分离了系统的表现层和业务逻辑层,使前端工程师第一次有机会渗透到了后端的领域,用前端的方法来解决表现层的问题。 Node.js 是触发这样变革的一个引爆点,在实际实践中,但并不局限在 Node.js 技术。任何技术上的表现层和业务逻辑层的分离都意味着前后端的分离,也都意味着纳入了为业务展示服务的领域,所以这些表现层的开发工作都是在大前端工作中不可缺少的部分。 上面所引用的文章提到我们已经进入了一个终端碎片化时代,越来越多的终端设备以各种方式来占据每个人的碎片时间。绝大部分设备有屏幕,无屏幕的终端也并非绝无仅有。在这样的背景下,atv直播,单个业务逻辑会被各种终端以各种形式进行表现,除了文字图像视频以外,还有其它各种意料之中、之外的形式,更不用说各种传统意义上包括多语言、多文化等等的多重表现展示。 (责任编辑:本港台直播) |