这段时间的0621前端零课程讲下来,感觉我的学生们对于nodeJs是一种“无感”的状态,就是不知道学了node能做什么,不知道学习nodeJs的目标是什么。所以对node也没什么学习的动力,基本上对它的感觉就是可以做服务端,类似于phpStudy、iis之类的东西。
尤其是现在nodeJs的爸爸又搞个Deno出来,有的同学会疑惑,nodeJs做为一个前端工具是不是又要过时了?还要学习nodeJs吗?
所以今天跟大家聊一下nodeJs到底能做什么?
<!-- -->
首先来说,nodeJs是前端全栈的基石,它的应用场景已经从前端工具的脚手架、辅助工具类,发展到api中间层、代理层,以及专业的后端开发。
这其中最有价值的就是api中间层。现在的大趋势是越来越多的业务被推到前端,后端专注于只提供服务。很典型且常见的工作场景就是,前后端协作的时候,因为进度不同有时前端需要等后端的接口。
这种时候,nodeJs的中间层应用就可以很好的解决这个问题。前端通过nodeJs可以自己约定数据的格式,根据前端的需求定制自己的接口,自己封装对数据库的crud操作,创建自己的代理和网关服务器等。这些事情在以往只能是等着后端做,但现在通过nodeJs前端都可以自己搞定,这就使得工作的过程更加可控。
当然了这也对前端开发人员提出了更高的要求,至少数据库、架构设计、系统结构 、网络应用这些短板都需要慢慢补齐。
<!-- -->
据说啊我也不确定,nodeJs最开始是给后端搞的,只不过为了简单、异步、大并发而选择了JavaScript语言,阴差阳错之下被前端发现并发扬光大。
所以前端搞nodeJs必然是向后端侵蚀,而后端的开发结构、技术栈已经很完整了,所以后端一般不愿意变动,所以很多时候对于nodeJs的阻力,其实是来源于后端的保守。当然这也是有一定道理的,因为后端主要是服务、数据、底层应用,这些东西都求稳、求安全、还有些历史遗留问题,所以它们不喜欢新东西。
所以在现阶段吧,很多nodeJs的应用都是处于前端和后端之间的桥梁。一般来讲,没有什么历史包袱的新公司啊,创业公司啊,孵化项目之类的更愿意使用nodeJs,快速、高效嘛。
现在基本上所有的前端应用都有nodeJs的影子,什么React、vue、angular等,它的应用场景和就业市场也都很大,所以nodeJs的学习不是让你可以做什么,而是让你多了一个施展的空间。