2019年nodejs凉了吗?凉到什么程度了?

JavaScript013

2019年nodejs凉了吗?凉到什么程度了?,第1张

没凉。

做后端的nodejs的使用场景有限,确实不如java和go,坑多且前人经验总结不如其他语言,但是写业务写工具写脚本写中间层应用,nodejs有自己的优势,可惜也不是独有,上手快是真的(这非常重要)。

个人的体会,只代表我自己,如果专注后端开发,不建议nodejs作为主力开发语言,会对自己有局限,而且学到最后也是去学c++了。

对于前端而言,nodejs是必须掌握的,虽然语法都是js,但是目前的发展趋势是前端全干化,后端向云和基础服务下沉,nodejs的优势很明显,贴近业务,扩大前端职能。

让人的产出更好更多更快,对企业有价值,也可以同时帮前端工程师更好的提升自己的视野,了解js,了解整个前后端应用开发流程,也就是所谓的BFF,全称是Backends For Frontends(服务于前端的后端)。

专注做过一段时间后端你就会发现,用什么语言一点也不重要,如果是纯curd,什么语言都差不多,用什么来写curd主要看社区和工具框架成熟度,如果是做后端架构,只会一门语言根本不行,而且环境,机器运维部署,网络等等要学的太多了,也根本不是一个语言的问题能解决的。

总结如下:

nodejs岗位可能确实比较少,也是现实,别压宝一个东西,多学点没毛病。(只是国内,国外看起来发展的真不错)

更重要的是学会看到除了语言之外的东西,比如现代企业,尤其是大企业的用人和职位职能发展趋势。(国内外,gg,fb大多前端都是BFF模式,阿里现在也有这个趋势,当然不一定拿nodejs做,以前是php,比如百度,新浪)

避免撕逼,上面的观点仅仅是我个人体会…随便说的,自己的狭隘视角看到的。

node技术成为web前端领域的主流开发工具可以说本身就是一个美丽的误会,当初这个技术被开发出来使用的时候主要是为了解决后端的问题才出现的。

今天,济南java课程培训机构http://www.kmbdqn.cn/就一起来了解一下node技术的发展历程和未来的发展趋势。

a)Node8进入LTS时代Node.js大的变化是进入Node8时代,它是一个稳定的长期支持版本(LTS),除了性能提升外,还有以下几个要点。

Async/Await支持。

其实在Node.jsv7.6就可以通过flag支持了,在node8里直接落地。

通过Async函数可以更好的进行异步流程控制,远离CallbackHell。

在Async函数里,你可以通过await调用Promise,以及通过co包裹的generator,可以说,向前是完美的Async函数,向后也完美兼容各种遗留代码,称为异步终极解决方案不为过。

ES6模块支持。

通过vue/react、webpack、babel和typescript等火爆发展,es6模块得到了广泛普及和应用,在Node.jsv8.5可以通过--experimental-modules来开启这个体验版特性。

当然,你想在Node.js更早版本里使用ES6模块,可以采用@std/esm模块。

HTTP2支持。

在Node.jsv8.8就开始默认启用了,http2对服务器端推送,多通道复用等特性,能够更好地为浏览器便利,是性能优化的利器。

b)企业级Web开发基础框架除了应用广泛的主流Web框架Koa外,Fastify也是一直劲敌,作者MatteoCollina是Node.js核心开发,Stream掌门,性能优化专家。

Fastify基于Schema优化,对性能提升极其明显。

狼叔认为这是企业级Web开发,他在这里给我们介绍了3个知名框架。

b1)Egg.js阿里开源的企业级Node.js框架Egg发布2.0,基于Koa2.x,异步解决方案直接基于AsyncFunction。

框架层优化不含Node8带来的提升外,带来30%左右的性能提升。

Egg采用的是『微内核+插件+上层框架』模式,对于定制,生态,快速开发有明显提升,另外值得关注的是稳定性和安全上,也是极为出色的。

b2)NestNest是基于TypeScript和Express的企业级Web框架。

很多人开玩笑说,Nest是像Java开发方式的,确实,Nest采用TypeScript作为底层语言,TypeScript是ES6超集,对类型支持,面向对象,Decorator(类似于Java里注解Annotation)等支持。

在写法上,保持Java开发者的习惯,能够吸引更多人快速上手。

TypeScript支持几乎是目前所有NodeWeb框架都要做的头等大事,在2017年Nest算个知名项目,值得一提。

b3)ThinkJSThinkJS是一款拥抱未来的Node.jsWeb框架,致力于集成项目佳实践,规范项目让企业级团队开发变得更加简单,更加高效。

秉承简洁易用的设计原则,在保持出色的性能和至简的代码同时,注重开发体验和易用性,为WEB应用开发提供强有力的支持。

ThinkJS是国产老牌Web框架,在2017年10月发布v3版本,基于Koa内核,在性能和开发体验上有更好的提升。

整体来看,Node.js在企业Web开发领域日渐成熟,无论微服务,还是Api中间层都得到了非常好的落地。

2017年,唯一遗憾的是Node.js在servless上表现的不太好,相关框架实践偏少。

c)不可不见的Api中间层前端越来越复杂,后端服务化,今日的前端要面临更多的挑战。

一个典型的场景就是在服务化架构里,前端面临的头痛的问题是异构API,前后端联调的时候,多个后端互相推诿,要么拖慢上线进度,要么让前端性能变得极其慢。

进度慢找前端,性能差也找前端,但这个锅真的该前端来背么?Node.js的Api中间层应用很好地解决了这个问题。

后端不想改的时候,实在不行就前端自己做,更灵活,更能应变。

透传接口,对于内网或者非安全接口,可以采用中间层透传。

聚合接口,对异构API处理非常方便,如果能够梳理model,应变更容易。

Mock接口,通过Mock接口,提供前端开发效率,对流程优化效果极其明显,比如去哪儿开发的yapi就是专门解决这个问题的。

除此之外,前端如果想做一些技术驱动的事儿,SSR(服务器端渲染)和PWA(渐进式Web应用)也是非常不错的选择。

d)新领域(深度学习、区块链等)

node.js实际上来说是后台语言,应用广泛,当然跟php java这样成熟的语言相比还是差一点,但是前景很好,而且因为是用的js的语法来写后台,对于前端来说很容易上手,假如是刚开始学习前端的话node.js不需要学习,先把前端的js H5 css3学好才是正事,不过如果有空node.js了解一下也很好,当觉得自己前端这块学的差不多了,对于js的语法规则,闭包,作用域这些都理解透彻了之后再去学习node.js会进步很快。