node.js相比SpringMVC有什么优势

如题所述

第1个回答  2022-10-07

node.js相比SpringMVC有什么优势

优势:

    基于javascript是其最大优势。这给nodejs提供了大量的潜在使用者。

    nodejs易学。如果懂web开发的大部分知识,只要跟着教程和使用合适的框架,可以很快开发出简单的web app。

    nodejs基于事件系统,面向web开发而开发。在io效能上有优势(其实是强制非同步程式设计)。

    nodejs热度很高,社群(开源)非常活跃。(跟1相关但是不是直接关系)

    就是你说的,程式码密度高。简短的程式码可以完成开发任务。

    (源自4)各种库和框架多、新、质量好。连线资料库的库什么的。

Node.js优点:
1、采用事件驱动、非同步程式设计,为网路服务而设计。其实Javascript的匿名函式和闭包特性非常适合事件驱动、非同步程式设计。而且JavaScript也简单易学,很多前端设计人员可以很快上手做后端设计。
2、Node.js非阻塞模式的IO处理给Node.js带来在相对低系统资源耗用下的高效能与出众的负载能力,非常适合用作依赖其它IO资源的中间层服务。3、Node.js轻量高效,可以认为是资料密集型分散式部署环境下的实时应用系统的完美解决方案。Node非常适合如下情况:在响应客户端之前,您预计可能有很高的流量,但所需的伺服器端逻辑和处理不一定很多。
Node.js缺点:
1、可靠性低
2、单程序,单执行绪,只支援单核CPU,不能充分的利用多核CPU伺服器。一旦这个程序崩掉,那么整个web服务就崩掉了。

.相比,Node.js有什么优势?

一个规模稍微大点的系统都不是一种开发语言可以搞定的,往往是几种混杂一起,比如c、c++做伺服器端开发,java做业务逻辑,php等做前端展示,此外还需要讯息中介软体等等。
nodejs可以很快地在伺服器端做原型(原来只有c系和java等能做的事情,效能还很高),而且程式码量相对会少很多;另一点是它的语法优势,js闭包等。但它不太适合做cpu密集型处理的工作,只能绕着弯去解决,据说这次QCon会有人分享这方面的研究成果,可以关注下。
每种语言都有它适合的领域,没必要强求一门语言可以解决所有事情,拥有其它语言的特性,只有不断的tradeoff把系统做出来才是目标。

在技术层面上,和Erlang/OTP 相比,Node.js有什么优势

Node最大的好处,其实不是技术层面的,我认为就是一点:能让前端开发人员把后端也一起做了.别小看这一点,这对于很多Startup的专案还是很有用的,可以快速人少的就把专案做起来.
至于它里面提到的技术,什么事件驱动,回拨之类的,在一个多年做伺服器的人看来根本不算啥,老早就是这么做的了,看看lighty/nginx之类的,不知道为啥把这个做为宣传点,是欺负前端人员没啥伺服器开发经验么?

Erlang没有用过,不过从底层上来看,主要着力点还是处理IO上,虽然从语法层次上看不出有大语种执行绪的痕迹,但是底层在IO处理上还是用的那些epoll那些非同步io技术。
但是Erlang这门语言太复杂了,相信选择这么语言的人会很少。

相似回答