2021前端会有什么新变动,首先须要搞清楚咱们关注这些新技术的目标是什么?

置信对于关注这个问题的人包含我来说,除了理解技术倒退风向作为饭后谈资以外,最重要的是看能不能在公司外部落地、做出一番问题来,当然升职加薪那都是后话了。

回望过来

首先定义一下我说的“过来”是2019年及以前。

以史为镜,能够知兴替。回望一下过来,有利于咱们对将来做出更好的判断。咱们先细数一下过来的几年间大厂的前端都在做什么。

前端工程化

这个应该是前几年社区探讨的最多、面试问到最多的一个名词,那么什么是前端工程化呢?我感觉须要从以下几个概念开始讲起。

模块化

先说JavaScript的模块化。

从ES6开始,JavaScript语言有了本人原生反对的模块化计划——ES6 Module,这样有个益处,前端们不必去应用社区定制的模块加载计划,间接应用对立的就好。对立模块计划之后,既能够不必额定引入模块化解决方案的代码,又能够为前面的自动化对立解决做好筹备。

再说CSS的模块化。

CSS模块化次要是解决的CSS类名抵触的问题,比方常见的BEM约定以及社区丰盛的CSS module解决方案,有了这些货色,前端工程多人开发就能够优雅的解决类名抵触的问题。

组件化

随着React生态和Vue生态在国内各大前端团队的落地,组件化开发曾经是标配了,并且开源社区也积淀出了以Element、Ant Design为代表的优良组件库。

大厂的程序员们在组件的概念上又做了一层形象和封装,比方以业务组件和业务区块为形象的中后盾前端解决方案Ant Design Pro,并且它还在前端工具库、前端UI设计语言等等计划做了对立。

自动化

首先是开发的自动化。

webpack和nodejs在开发的自动化上起了很大的作用。前端我的项目本地化开发的server由nodejs(罕用,也不肯定非得是nodejs)提供,开发过程中的各种辅助性plugin和loader都由webpack生态提供,上线前的代码打包、代码宰割、资源解决也由webpack操作,能够说过来几年间很多前端在职业降职上都吃了引入webpack和nodejs的红利。

再说babel,有了babel的配合,前端能够写高版本的JavaScript办法,配合webpack loader,主动编译成低版本JavaScript,前端能力再次失去晋升。

其次是部署公布的自动化。

这个应该是很多大厂前端基建团队做的事件,比方继续公布、版本控制、外部cdn建设等等。

大前端

这也是个在过来几年炒的很热的词,不过这个词不仅仅是炒作,它也实实在在的扩大了前端的能力以及现有的公司组织架构,比方据我所知有的公司挪动端和前端就会划分到同一个团队治理,统称大前端团队。

nodejs

这个在前端工程化局部曾经说过一些,这里再次提起是因为在工程化中nodejs表演的角色是提供nodejs环境以及局部后端能力,而在大前端团队里是实实在在的存在nodejs工程师角色和nodejs我的项目的。比如说在前后端拆散的过程中,局部公司(比方阿里淘宝)会倒退出一个中间层的货色,这能够了解为是一个大前端团队保护的业务接口聚合层,前端写接口必定是应用nodejs最棘手,而且nodejs生态也在蓬勃发展,比方早些年的TJ大神一人之力扛起半个nodejs生态圈,涌现了koa、express这样的基于中间件的开发库,再到起初阿里巴巴的egg,再到Nest.js,当初根本曾经没有裸写nodejs api的了。

跨端

先说说手机端

首先,最间接的跨端就是在APP壳子外面套HTML页面来开发,这种计划也催生了很多hybrid解决方案,前端也须要去理解客户端的常识以及JavaScript Bridge的设计,同时也缩小了APP客户端工程师的岗位????

而后,随着React生态蓬勃发展,Facebook开源了一个跨平台挪动利用开发框架——ReactNative,它能够让你以React的前端语法来开发挪动利用,实质就是虚构DOM映射原生UI元素、通过bridge调用原生API,这种思路让前端的触手伸到了挪动开发,也促成了大前端团队的建设。Vue生态也有阿里发动的Weex挪动开发框架,原理相似。

再起初,Flutter呈现了,它也是一个跨端的开发框架,精确来说它和JavaScript生态关系不大,应用Dart语言开发APP,并且有本人的跨平台自绘引擎来保障多端UI体现统一,但因为也是一种跨端的解决方案,所以也受到了大量前端工程师的关注和学习。

最初,还是要提一嘴小程序,这个技术计划其实是商业的产物,各个公司都想把内容和生态留在自家的APP里,所以从微信小程序开始(微信不是最早,然而倒退的最好),阿里、百度、字节跳动等等这些公司都有了自家的小程序。

再说说桌面端

桌面端据我理解应用的比拟多的是Electron,它能够让前端以JavaScript来开发出桌面利用,比方字节跳动的飞书桌面端就是应用Electron来做的。

总结过来

从过来这些倒退的技术能够看进去,前端次要是在做统一化、工程化、生态化的事件,从早些年间的刀耕火种逾越到比较完善的工程化开发,前端的能力范畴也失去了扩大,以前不能做的事件当初能够做了。

很多互联网公司的前端高p也是在这一波浪潮中降职,失去了更好的职业倒退。

剖析当初

首先定义一下我说的“当初”是2020年左右。

当初基本上各大公司的前端工程化革新大体实现,各种革新计划、组件库都层出不穷,所以前端又有新玩法了。

Serverless

精确来说,Serverless并不是前端的技术畛域,因为它解决的是让开发者不必关怀服务器底层架构和运维工作,造成一种“无服务器”的假象。

那为什么这个技术在前端畛域会受到追捧呢?

因为这个技术刚好解决了整个开发链条中前端缺失的能力,即服务端底层和运维能力。各个大公司的前端团队也都在尝试把Serverless落地,比方在知乎上就能够看到很多对于Serverless的布道。

NoCode和LowCode

在我看来,低代码(LowCode)和零代码(NoCode)产品,是前端对现有能力整合之后,对其余畛域的一种扩张和赋能。其实各大公司在某些特定业务场景中早曾经有相干的产品落地了,比方广告业务、电商经营的繁多的落地页需要能够应用零代码产品来解决,全程不须要代码参加。

那既然之前有,当初为什么又提起低代码和零代码呢?我感觉起因有两个:

  1. 之前解决的只是某些特定业务场景的问题,当初想把这种能力逐步扩大到更多的业务场景,比方扩大到公司内部,来做toC的应用。
  2. 之前解决的只是页面级的问题,当初想解决利用级的问题。

总结当初

当然了,当初的探讨的比拟多的、正在进行中的技术和解决方案必定不止我说到的这两种,欢送大家补充。

目前大公司的前端们也在联合业务在做这方面的事件,如果你所在的团队在做相干的事件,不如退出进去,不论是技术或职业倒退,都会有比拟好的播种。

展望未来

React Server Component

这个目前还在提案中,将来成熟之后极有可能扭转前端的开发方式,前端React生态的范畴又向服务度端扩大了,一波新的根底建设、技术计划能够思考了。

Serverless大规模落地

依照当初社区以及各大公司外部的倒退,Serverless应该会在2021有大规模的落地,运维岗位会进一步缩小????

NoCode和LowCode继续倒退

低代码这个概念在2021年初因为钉钉发布会被再次带火,因为钉钉的使用量以及toB端市场有很多外部利用的搭建需要,所以它强调这个概念也不奇怪。

置信有像阿里钉钉这样的企业的推动,低代码和零代码会倒退的更好。

不必焦虑

说了这么多,是不是更焦虑了?其实不必。

React核心成员Dan Abramov都慷慨抵赖了他并不理解Flex、Webpack等等技术,没试过Serverless等等“时尚”技术,很多你会的技术他不会,照很多招聘规范来看他还评不上阿里P7,然而这并不影响他能成为React核心成员,以及他在他本人善于的畛域的造诣。

所以,不必都会,选定一个本人喜爱的、能做出问题的技术,深刻上来吧!

我是耳东,目前在某大厂做前端,我的公众号是「前端耳东」

公众号每周都会更新文章,次要包含:
1、前端技术分析,不论是新技术尝鲜、源码解析、连载教程,我都会波及到
2、程序员相干的职场教训,比方程序员如何降职、程序员跳槽应该留神什么等等

除此之外,还提供以下几项服务:
1、收费批改简历
2、收费技术咨询
3、收费技术布局

欢送关注「前端耳东」