学习Nodejs的目的有哪些
今天小编给大家分享一下学习Nodejs的目的有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
主要从事网页设计、PC网站建设(电脑版网站建设)、wap网站建设(手机版网站建设)、成都响应式网站建设、程序开发、微网站、微信平台小程序开发等,凭借多年来在互联网的打拼,我们在互联网网站建设行业积累了丰富的成都网站设计、成都网站制作、网络营销经验,集策划、开发、设计、营销、管理等多方位专业化运作于一体,具备承接不同规模与类型的建设项目的能力。
以下是对学习node必要性的具体阐述
1.node.js最根本的能力是让js能够脱离浏览器运行,学好node,可以让自己不再是一个“纯前端”
2.学习nodejs是进行前端工程化的基础(NodeJS Stream)
3.学好node,可以编写服务端API,实现独立开发项目
4.作为中间层(引申问题:什么是中间层?)
中间层(BFF)也叫做应用层,在架构中处于服务层(Java)和客户端之间,主要发挥的作用:
接收客户端请求
渲染HTML页面
Bigpipe,Comet,Socket
合并接口请求
路由定制
数据缓存
现在为什么说很多时候前端也需要编写自己的api?
1.经典的双层结构:前端+服务端
2.三层结构:前端+后端+服务端(现在的中大型项目所采用的结构)
三层结构的服务端只负责操作数据库,管理数据
,把数据返给后端,基本上就是纯粹的数据,不包含数据业务
后端就是所谓的中间层,如果前端来开发,那么优先选择nodejs,因为对于前端来说学习成本最低。
如果对自己的职场定位是做一辈子的纯前端,那么不需要学习nodejs,但是事实上做一辈子纯前端很难,一般到了35岁,所具备的能力还只是“搬砖”,那么在职场上的价值会越来越低。
CTO往往是由服务端工程师担任
理由:
1.需要设计整个公司的技术架构
2.需要从全局考虑问题
3.需要掌控公司最重要的资产:数据(谁掌握数据,谁才有话语权)
学好node并不是说就可以去做CTO,但至少可以大大的提高我们前端的职场地位。
从技术上,利用自己的能力独立完成一个项目、产品,是一件非常有成就感的事情。
就算排除掉前面的所有理由,作为一名纯前端,学习node也有很大的好处,可以培养我们的编程思维,扩展我们考虑问题的角度。
NodeJs的优缺点及适用场景
NodeJs的两大特点:事件驱动,非阻塞I/O
所以NodeJs的最大的两个优点
1.处理高并发,相比较于其他后端语言,每个连接发射(emit)一个在NodeJS引擎进程中运行的事(Event),放进事件队列当中,而不是为每个连接生成一个新的OS线程(并为其分配一些配套内存)
2.I/O密集型应用
因为JavaScript单线程的特点, NodeJs不适合CPU密集型应用;CPU密集型应用给Node带来的挑战主要是:由于JavaScript单线程的原因,如果有长时间运行的计算(比如大循环),将会导致CPU时间片不能释放,使得后续I/O无法发起;
解决方案:分解大型运算任务为多个小任务,使得运算能够适时释放,不阻塞I/O调用的发起;
NodeJs的适用场景:
RESTful API
这是NodeJS最理想的应用场景,可以处理数万条连接,本身没有太多的逻辑,只需要请求API,组织数据进行返回即可。它本质上只是从某个数据库中查找一些值并将它们组成一个响应。由于响应是少量文本,入站请求也是少量的文本,因此流量不高,一台机器甚至也可以处理最繁忙的公司的API需求。统一Web应用的UI层
目前MVC的架构,在某种意义上来说,Web开发有两个UI层,一个是在浏览器里面我们最终看到的,另一个在server端,负责生成和拼接页面。大量Ajax请求的应用
例如个性化应用,每个用户看到的页面都不一样,缓存失效,需要在页面加载的时候发起Ajax请求,NodeJS能响应大量的并发请求
总而言之,NodeJS适合运用在高并发、I/O密集、少量业务逻辑的场景
以上就是“学习Nodejs的目的有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注创新互联行业资讯频道。
网页名称:学习Nodejs的目的有哪些
URL链接:http://pwwzsj.com/article/pejisg.html