大前端?/前端开发职位的未来方向/

2018-10-08 11:25:01 浏览数 (1)

/1/ 大前端的说法,是如何出现的?范围是多“大”?

对于许多新人来说,他们最开始接触前端这行,都是从前端开发工资高啊,好找工作啊,入门门槛低,这些方面开始了解的。当他们开始学习前端一段时间之后,许多人不可避免的开始迷失在前端技术栈之中。

任何行业都有一个时机的问题,你听说前端的时候,前端还是html css js,等你准备好了加入前端行业的时候,它已经变成了nodeJs,Rn,pc,移动端等多平台多设备的综合技术栈。

但这个分水岭,也就是大前端这个词到底是什么时候出现的,并没有明确的说法,甚至是谁最先提出来的,都没有定论。现在基本的认识就是,大前端包括一切跟前端沾边的可能性。

/2/ 大前端的趋势?

首先是前后端分离!!

大前端一般情况下不单独出现,它基本都与nodejs一起出现,正因为nodejs的出现,前端开发才出现了真正的前后端分离,形成了真正独立于后端的技术体系。

现在说的什么模块化,工程化,前后分离,在早期都是架设在后端程序的运行平台之上才得已运行。直到nodejs的出现,可以说,没有nodejs就没有真正的大前端。

nodejs让前端可以真正的去操作数据,而不是单向的获取与提交数据。而是对数据本身进行再加工,这事实上把前端与整个底层连接了起来,而后端开发们的工作相对的更加纯粹于底层逻辑的操作,不用再像以前那样还要关注前端页面的交互流程。

因为前端通过nodejs获得了操作数据的权力,从而得已真正的操作数据与工作流,所以前端构建工具开始大行其道。直白的讲,啥叫前端构建?就是在服务器里建立一堆相应的目录,这在以前是不可能的,在一个.net或j2ee开发的系统中,前端相关的文件都是由后端程序员给你提前建立好的,然后他们通过邮件告诉你,什么css放哪,js放哪,img放哪目录。前端没有自己设置目录结构的权力。

自从有了nodejs之后,前端才真正的获得了开发中的自由。当然nodeJs做服务端还是有各种不足,但最大的成果就是真正的前后端分离。

早期都是前端出静态页面,然后静态页面嵌入动态程序,然后前端开发在后端程序员们规定好的目录结构中进行程序的开发。然后后端通过前端的页面模板生成静态页面,然后有什么问题了,再前端找后端,后端重生成,很麻烦的。

现在好了,后端只提供数据的接口,然后前端将nodejs做为中间件,以它为中介进行数据的获取和操作,其中就包括页面的生成,路由的控制,模块的导入,内容的分发。

这时,这个前端开发他所做的工作,就是传统的前端开发人员 nodeJs,这是大前端的诸多定义中的一种。综合来讲,就是对页面的控制更深到了数据的加工层面,前端的控制能力变大了。

前端与GUI交互:

移动端开始流行之后,移动应用的重要性不断的提高。在移动端的前端开发中,一直以来比较流程的就是“混合开发”模式,Hybrid [ˈhaɪbrɪd] 混合开发。

早期主要是phoneGap框架开发移动端应用,再有就是嵌入到ios之中的webPage应用,然后是微信的小程序。这些都是前端可以涉足的地方。虽然现在一提手机端开发主要还是ios和安卓技术,但RN的出现直接改变了这一切,虽然RN的应用案例在总量上依然不多。但前端技术栈中又多了RN这个选项。

现在移动端、pc端、跨各种端,几乎都有相对成熟的解决方案,就算一时没有的,开发中的坑基本上也都被踩的差不多了。前端开发技术栈已经“工具箱”化,就是你不是采用这个框架,就是采用那个框架。你不是使用angular,就是ionic,要不就是React,反正不会让你从头开始自己“造轮子”。你说你不喜欢VUE?没关系这还有Weex可以用。

未来的GUI交互方向,就是所有有图形界面的地方,都是前端的工作场景。只要它们能够运行js,那么前端开发就可以伸手进去。

这就是在跨端,跨屏,横向上来看的“大前端”。

/3/ 大前端的技术栈?

技术虽然是为需求而服务的,所以具体到每个公司,每个团队,它们的技术栈都不完全相同。虽然已经有很多团队或部门称自己为大前端,但具体范围和内容,也根据自己的业务有区别。

据说,

美团是前端,ios,安卓,前端工程化;

饿了么是前端,nodejs,还有阿里的weex框架;

网易杭州大前端团队主要是web端,客户端和移动端

现在对于大前端的技术栈,并没有一个明确的定义。并没有说什么样的,哪些技术放在一起,就是大前端,目前没有这样的定义。

前端能做什么呢?或是说前端能控制什么?

显示GUI界面,路由,接口来往数据,桌面webapp应用。。等这些前端都能做。

具体技术栈,目前看来,主要还是nodejs和html5的混合使用,现在移动端、pc端、跨各种端,几乎都有相对成熟的解决方案,就算一时没有的,开发中的坑基本上也都被踩的差不多了。

Reactjs 和 vue,angular,这三个框架,基本上都有各种生态圈,都有自己完整的解决方案,而且pc和mac电脑都可以使用。几乎不用你再重写什么轮子了。

另一种大前端的技术栈就是微信小程序,它代表的方向就是“超级APP”,一个app就是一个操作系统。

/4/ 大前端背景下的前端开发工程师?

在十年前,也就是第一代iphone手机发布的那一天,Native和html5就开始了一场持续了十余年的争论,内容就是谁更有发展,谁才是未来,谁会取代谁。也许是争吵的时间太久了,相爱相杀,它们最终合二为一,就是大前端。

在大前端的视野中,不分什么pc端,移动端,native和webapp,未来只能一种开发,就是能在显示屏上显示出来的GUI界面。

现在的时代是碎片的时代,手机,眼镜,vr,电视,手表等等,它们都是设备,它们都是不同的终端,它们都加载不同的应用,但有一点是相同的,那就是它们都是屏幕,只是大小和形状不同。

只要这个屏幕能用,它就一定是前端的舞台。再加上未来的云计算,前端会从架构,从量级上,越来越大,前端会真正的成为一个巨系统。

可以说,国内移动端的开端,就是第一代iphone的发布之日,到现在为止,可以说需要被封装的工具,被踩的坑,都已经差不多ok了,接下来的的日子里更多的应该是各大厂的开源框架的标准化。就是说,以后应该吧,应该会越来越多的使用大厂的工具了。

所以我说,前端开发技术栈已经“工具箱”化。

就是你不是采用这个框架,就是采用那个框架。

/5/ 前端的春天,nodeJs

在以后吧,应该会在前端工程师之后,再出现一个更高层次的前端岗位。它所解决的业务需求就不单单是开发层面的需求。

而是从前端的角度 ,去解决具体业务在各个不同的终端平台设备上的具体使用,给出跨平台的前端架构解决方案。这个职位所要解决的问题,在具体问题之上。

所以以后,什么全栈开发应该会过时,大前端会更有可操作性。因为它直接与展示的视觉效果与用户操作的交互体验相挂钩。

那说到这里,前端开发的“上升通道”在哪里?

要我说,上升通道在【跨端】二字。做前端的视野要放宽广,不能紧盯着js,要把目光放在前端GUI所要展示的“端”上,也就是“应用场景”。

开发业务的需求分析,是解决前端怎么写js;而搞懂各种应用场景,是决定“属于自己的第一步,该往哪里迈”。

0 人点赞