首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >《前端开发职位的发展方向 -- 大前端》| 微课-文字版

《前端开发职位的发展方向 -- 大前端》| 微课-文字版

作者头像
web前端教室
发布2018-02-06 17:41:43
1.7K0
发布2018-02-06 17:41:43
举报
文章被收录于专栏:web前端教室web前端教室

/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;而搞懂各种应用场景,是决定“属于自己的第一步,该往哪里迈”。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-05-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 web前端教室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档