在今天,大前端并不是一个陌生的词汇,我们偶尔会听人谈起它,前些天还看到卓同学写了一篇《大前端时代下App开发者的生存之道》,说明这个词开始成为某种共识了。
但是大前端到底指的是什么?事实上大前端并没有明确的定义,它由国内业界发明,甚至没有对应的英文词汇(如果有,请悄悄告诉孤陋寡闻的笔者)。有人对发明技术词汇不以为然,但我认为国内大前端相关技术发展相较于国外并不差,我们有必要在理论、标准方面也有所建树,这样才能与我们的发展情况相匹配。
上个月我在筹备GMTC2017大会的时候,走访了美团点评的刘平川老师、滴滴的左志鹏老师、手淘的天施老师,对大前端的问题进行了深入的讨论,在这里,我想用这样一篇文章来抛砖引玉,探讨大前端的定义。希望能看到更多关于它的讨论和分享。
三个层面上的大前端
如果分析我们到底在什么时候使用大前端,大概有三种不同的语境,在每种语境下,大前端的定义都有所不同。
大前端与NodeJS与前后端分离
在前端同学的口中,大前端有时与NodeJS一起提,有时与前后端分离一同提起,事实上,大前端概念也正是由前端同学提出,从这里,我们可以得出大前端的原始定义。过去几年,前端技术经历了爆发式的发展,这种发展最重要的推动者之一就是NodeJS。NodeJS为前端建立了与系统之间沟通的桥梁,从此前端技术不仅能在服务端大放异彩,还能在本地的前端开发工具与工作流上大展身手,前端从此被解放了,JavaScript统治世界的论调一度甚嚣尘上。
不过,当人们冷静之后,发现NodeJS在服务端并没有太多的优势,再加上NodeJS技术本身发展的一些波折,导致它在服务端的应用并不理想。不过,前端同学还是取得了一些阶段性胜利,其结果就是前后端分离。
在以前前端页面模板由后端生成,导致在页面需要频繁修改的时候效率低下,前后端分离指的是后端只提供接口,前端对页面有完整控制,同时通过中间层将前后端隔开,在这里对数据进行抽取、聚合、分发等操作。这个中间层,通常也是由前端同学负责。
从这个意义上,大前端的原始定义可以称为前端技术的扩大化,包括NodeJS,同时对Web页面有更强的控制权,开发承载更多功能的页面。
「 公司的业务特点是审批单据种类多,业务审批单比较复杂,通过MASTUDIO移动化打通审批堵点,实现海内外移动一体化。」
「 公司自主管理系统是生产中的重要系统,移动化后更多企业一线员工获得参与,MASTUDIO同时还对接了宝钢的ERP系统。」
「机场集团办公系统负责日常各部门的收发文审批等事项,通过MASTUDIO实现了移动化审批,同时还接入了地勤系统、航班信息。」
中海物业是香港上市公司,其办公系统负责全国各地分支机构的日常管理、各种事项审批,审批单据较多、通过MASTUDIO快速实现了移动化的需求。
深业集团是地产上市公司,负责全国分公司的日常办公管理、业务审批,通过MASTUDIO移动应用大大提供了工作效率。
“找到一个稳定性、及时性和安全性都很高的解决方案,特别是安全性,因为国信证券内部信息涉及到大量企业客户的商业机密;”