node.js是啥

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了node.js是啥相关的知识,希望对你有一定的参考价值。

Node.js 是一个基于 Chrome V8 引擎的 javascript 运行环境。 Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型。

Node 是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与php、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言。发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装。

Node对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好。V8引擎执行Javascript的速度非常快,性能非常好。Node是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。

扩展资料:

Node采用一系列“非阻塞”库来支持事件循环的方式。本质上就是为文件系统、数据库之类的资源提供接口。向文件系统发送一个请求时,无需等待硬盘(寻址并检索文件),硬盘准备好的时候非阻塞接口会通知Node。

该模型以可扩展的方式简化了对慢资源的访问, 直观,易懂。尤其是对于熟悉onmouseover、onclick等DOM事件的用户,更有一种似曾相识的感觉。

参考技术A nodejs他是用C++开发的一种运行于服务器端的语言,可以写网站后台程序,可以做服务端应用开发,他的语法就是JAVASCRIPT,会JS,就是会NODEJS,区别于,普通JS是脚本运行客户端,而NODEJS中的JS是运行于服务器端,这么说吧,NODEJS的作用相当PHP,ASP等语言。本回答被提问者和网友采纳 参考技术B 回答

你好,node的中文意思是n. 茎节;结,结节;结点,节点;(尤指人体关节附近的)硬结;(计算机网络的)网点;(物理,数)波节;调和函数零点;(电流或电压)零点【名】 (Node)(法)诺德(人名)网络 节点;结点;淋巴结专业 节点 [计算机科学技术];节点 [电子、通信与自动控制技术];结点 [经济学]

参考技术C 这个你去百度百科找,很详细的,在这儿问,作用不大。

http://baike.baidu.com/link?url=idOd0bThdlX1_aMwQQpNik2gqTaIK8BJWRLjNMXAVwfzwtWHrCF0IM8Dw0w07anK_aVohgpNcnf2RoMJiH8it_

Node.js 与 Twisted 的用例是啥?

【中文标题】Node.js 与 Twisted 的用例是啥?【英文标题】:What are the use cases of Node.js vs Twisted?Node.js 与 Twisted 的用例是什么? 【发布时间】:2011-03-28 13:18:28 【问题描述】:

假设开发人员团队对在服务器端编写 Javascript 和使用 Python 和 Twisted 一样自如,那么 Node.js 什么时候会比 Twisted 更合适(反之亦然)?

【问题讨论】:

截至 2013 年,其中两个框架的现状如何。似乎使用 Node.js 的人比使用 Twisted 的人多。如果我错了,请纠正我 做出明智的决定并开始。 – 在你通过了几个问题之后,你会更清楚地知道要寻找什么来做出更好的决定。也许改变你的工具并重做它。 【参考方案1】:

截至 2012 年,Node.js 已被证明是一个快速、可扩展、成熟且广泛使用的平台。 Node.js 的创建者 Ryan Dahl 引用:

如今,大量初创公司和成熟公司都在使用 Node 世界各地,从 Voxer 和 Uber 到沃尔玛和微软。可以肯定地说 每天有数十亿的请求通过 Node。随着越来越多的人 来到项目中,可用的第三方模块和扩展越来越多 在质量上。尽管我曾经保留将其推荐给关键任务 应用程序,我现在衷心推荐 Node 用于最苛刻的服务器 系统。

更正式地说,Node 的优点可以归类为:

很棒的社区: 可以说没有其他平台能在这么短的时间内获得如此大的社区号召力,它在 GitHub 拥有数百名贡献者和数千名观察者,并且是被雅虎等巨头使用! (曼哈顿项目)、e-bay、LinkedIn、Microsoft 和 Voxer。

NPM:虽然 Node 的核心相对较小,但有很多包可用于将其功能扩展到您可能考虑的任何东西!它全部自动化并且正在积极开发和扩展,想想 PyPI (pip)。

可扩展性和速度: Node 的架构和单线程特性可实现高可扩展性和速度。特别是 0.8 版本之后,它的速度真的变快了(benchmarks),这一点可以被很多使用 Node.js 的大企业所证实。得益于当前的浏览器大战,它的 V8 核心也在不断完善。

JavaScript: Node (JS) 的核心语言更适合这种服务器端使用,特别是 lambda 函数、动态对象和简单的 JSON 序列化是 JS 的亮点,非常适合速度和可扩展性很重要的案例。 (Python 拥有所有这些,但这些在 JS 中确实更好、更强大)。

部署:由于其广泛使用,许多非常好的网站都提供了用于轻松且强大的 Node 部署的工具,包括:Heroku、Joyent、Cloud9 等等。 p>

因此,Node 似乎更强大,未来更光明,所以如果使用它没有任何限制(如现有代码、服务器、团队能力),建议用于任何新的协作网络项目,目标是高速和可扩展性。

【讨论】:

听起来你不知道 Twisted 的成熟程度。您强调的支持 Node 的点实际上都不是 Twisted 独有的(除了“JavaScript”点,它是列表中最脆弱的项目)! @Jean-PaulCalderone 快速浏览一下右边的 tagstats 支持他的第一点:node.js × 11239 twisted × 1021 如果您认为规模是衡量社区的唯一指标,那当然。 大小不是唯一的指标,但它可能是最重要的。 只是因为有更多关于它的问题,并不意味着它使用较少或社区较小。想想文档。【参考方案2】:

Twisted 更加成熟——它已经存在了很长时间,并且有很多花里胡哨的东西,以至于让你头晕目眩(实施最奇特的协议,将反应堆与各种其他事件集成循环,等等)。

据说 Node.js 更快(我自己没有测量过)并且可能更易于使用(如果您不需要额外的花里胡哨)正是因为那些额外的东西不存在(有点像Python 世界中的 Tornado —— 再说一次,我从未测量过相对性能)。

所以,如果我需要 Twisted 的任何额外功能,或者想通过使用更成熟的包来感受更坚实的基础,我绝对会使用它。如果这些考虑不适用,但最高性能是项目的关键目标,那么我会在 Twisted 中编写一个简单的基准测试(但仍代表我的实际项目的至少一两个关键性能需求情况), Node.js、 Tornado,并在我决定总体采用哪种方式之前进行了大量仔细的测量。 Python 与服务器端 Javascript 的“额外功能”(第三方扩展和标准库)也更加丰富,如果项目需要任何此类额外功能,这可能是一个关键因素。

最后,如果这些问题对于特定的应用场景都不重要,让开发团队就三个候选者(Twisted、Node.js、Tornado)在简单性和熟悉度方面的相对简单性进行投票 - 他们中的任何一个都会可能还好,最好选择团队中大多数人最喜欢的!

【讨论】:

很好的答案,+1 建议 OP 看看 Twisted(这可能更简单地满足他们的需求)。 一个节点速度不太快的例子(特别是如果你使用 pypy)mrjoes.github.com/2011/12/15/sockjs-bench.html 还有其他或多或少可信的基准,但我认为如果你使用 PyPy,很多潜在的性能提升就会消失。 截至 2012 年,Node.js 也相当成熟:P node.js 没有的这些“花里胡哨”是什么?

以上是关于node.js是啥的主要内容,如果未能解决你的问题,请参考以下文章

Node.js 上 MongoDB 连接的最佳实践是啥?

Node.js 中的声明 var 是啥?

从 Node.js 中的模块导出函数的语法是啥?

node.js 中的 Haste 模块映射是啥?

使用 Angular.js 和 Node.js 构建实时应用程序的更好方法是啥?

在 Node.js 中进行同步 MongoDB 查询的正确方法是啥?