Node.js使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。
最近使用nodejs,虽然已经过了区分不了java和JavaScript,雷锋和雷锋塔的阶段,相信很多人还是很有顾虑,甚至是一脸困惑。对比去理解似乎很有效,下面让我们对比一下
Nodejs ?后端:前端
前端:HTML、CSS、JavaScript;vue、angular、react等
后端:java、php、.net等
Node.js 是一个基于Chrome V8 引擎的 JavaScript 运行环境,如此看来node是把JavaScript语言变成了后端语言,也可以理解为,JavaScript+node后端技术
Nodejs vs 框架
大概知道用npm安装引用一些框架出来
用这些框架官方文档都会要求安装node环境
如此看来,node是运行环境,npm是安装node之后自带的包管理工具
不可把node和框架相比,基于的node框架的确实层出不穷。
Nodejs vs tomcat
Tomcat是典型的应用服务器,有容器生命周期的概念,负责接发请求,还负责解析class、jsp等。
Node似乎没有容器的概念,但是接发请求,资源分配一样都不少。
由于node非阻塞式I/O 的模型,支持多进程高并发,大多数人是相信V8引擎,应该是相信chrome浏览器,网上有人居然拿nodejs和tomcat一决高下,nodejs是JavaScript,tomcat是java,颇有儿子打老子的感觉,所以node似乎有tomcat这么点意思。
Nodejs vs JVM
江湖传言 ,Node被称为JavaScript
Virtual Machine(JsVM),JavaScript虚拟机,这么看来和java的jvm倍感亲切,不过倒是更加印证了官方解释,Node.js 是一个基于Chrome V8 引擎的 JavaScript 运行环境
所以, 综上所述 ,nodejs就是nodejs,不一样的烟火。
1、起源Node.js起源于2009年3月。最初Ryan Dahl是为了构建一个高性能的文本服务器,而node.js是他在寻找一种更高提升web服务器性能发现的,事件驱动、非阻塞I/O这种方式能更好的提高性能。随着Nodejs的不断发展,Nodejs渐渐演变成一种构建网络应用的基础框架,并发展为一个不共享任何资源的单线程、单进程系统,但包含了很适合网络的库,这样Nodejs就为构建大型分布式应用提供了基础设施。他们的目标都是为了构建快速、可伸缩的网络应用平台。它自身非常简单、采用通信协议来组织许多的Node,非常容易通过拓展来达成构建大型网络应用的目的。
2、node.js简介
Node.js是一个可以快速构建网络服务及应用的平台。该平台的构建是基于Chrome'sJavaScriptruntime,也就是说,实际上它是对GoogleV8引擎(应用于GoogleChrome浏览器)进行了封装。Nodejs不是一个js应用而是一个js运行平台。其是由C++编写而成。但是Nodejs是一个后端的运行环境。因此你可以编写系统级或者服务器端的js让Nodejs帮你执行。
3、优势
1)node.js采用事件驱动、异步编程,为网络服务而设计。
2)node.js采用非阻塞模式的IO处理,可以使node.js在相对低系统资源耗,拥有出色的负载能力,非常适合用作依赖其它IO资源的中间层服务。
3)node.js轻量高效,可以认为是数据密集型分布式部署环境下的实时应用系统的完美解决方案。
4)使用node.js配合CoffeeScript 写异步操作链非常便利,相比之下Tornado无论是写命名函数的回调,还是 yield 一个 Task 都没那么自然。
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。
Node.js 的包管理器 npm,是全球最大的开源库生态系统。