当我们在谈大前端时,我们谈的是什么

当我们在谈大前端的时候,我们谈的是什么

三个层面上的大前端

大前端与NodeJS与前后端分离

过去几年,前端技术经历了爆发式的发展,这种发展最重要的推动者之一就是NodeJS。

前后端分离指的是后端只提供接口,前端对页面有完整控制,同时通过中间层将前后端隔开,在这里对数据进行抽取、聚合、分发等操作。

从这个意义上,大前端的原始定义可以称为前端技术的扩大化,包括NodeJS,同时对Web页面有更强的控制权,开发承载更多功能的页面。

大前端与泛GUI交互

移动互联网时代到来之后,移动App成为新的主流,而浏览器的地位则逐渐降低。

当时人们提起移动开发,主要指的还是iOS与Android原生开发技术,这一情况随着React Native的发布得到了改变。

在国内外大规模使用React Native仍然不多,但是它的确能解决原生的跨平台代码复用、动态化等痛点,又避免了之前Hybrid的性能问题,因此受到广泛关注。

随着React Native的加入,前端的技术栈再次扩展。并且React Native让我们发现,其实通过加入一个虚拟视图层(Virtual DOM),逻辑操作和模型部分的代码能够得到很大程度的复用,在已有的实践总结中,大部分React Native代码都得到了80%以上的复用。

虚拟视图层也不仅仅只能用在移动端,在所有通过图形界面进行人机交互的地方都可行,在PC、Web、移动设备甚至还未发明出的未来的种种设备上,只要系统能运行JavaScript引擎,理论上都可以采用类似React Native的开发方案。这种前端技术,当然可以称为大前端。

大前端团队现状

目前美团点评、饿了么、网易杭研都有叫大前端的团队或者在对外时使用该称谓。

为什么说大前端是发展趋势

大前端不仅会成为移动开发与Web前端的发展趋势,也将会是未来的显示设备终端的开发技术趋势。

终端碎片化

我们已经进入一个终端碎片化的时代,我们有智能手表、TV、眼镜、头戴VR等设备,并且,这些平台基本都支持浏览器或内嵌浏览器引擎。

虽然有些平台限制使用Web技术开发应用,但这只是平台政策原因,只要放开限制,前端技术就能以某种姿态进入,甚至成为主流。

Serverless

Serverless中文译为无服务器架构,是软件架构领域的一个热门概念。这里的无服务并不是说不需要服务器,而是说新的架构取代了传统服务器的概念。

Serverless的代表是2014年亚马逊发布的AWS lamda,后续各大云计算厂商也纷纷跟进。

大前端的代表技术

终端开发、网关设计、接口设计、桌面端的工程化都可以算是大前端的业务范畴。

具体的技术,则是基于HTML5、NodeJS的通用技术,以及各平台的专有技术。从现阶段来说,还需要掌握一些代表性的框架、平台等。

React系与Vue系:两大前端生态

生态的意义就是覆盖全面,几乎没有短板,React和Vue已经覆盖了目前主流的系统平台,并且可以用React Native、Weex等框架进行原生开发,相较于其它技术有很强的优势。

PWA:开放的理想

小程序:Super App指向的另一种未来

微信小程序的用户体验很不错,表明了这项技术的应用潜力。

大前端带来的影响

新的移动开发技术栈

移动设备作为主流的终端设备,其应用开发技术也应该是大前端最关注的技术。

纯原生的移动开发的道路会越来越窄,整个移动开发的技术栈必须要做一个大的改变。

新职业:大前端工程师

它与以前的Web前端的区别是,大前端将做更多的终端开发、工程化等工作,而不仅仅只是开发Web页面。大前端工程师将能搞定所有端上的开发。