📅  最后修改于: 2020-11-03 10:02:32             🧑  作者: Mango
Node.js是基于Google Chrome的JavaScript引擎(V8引擎)构建的服务器端平台。 Node.js由Ryan Dahl在2009年开发,其最新版本为v0.10.36。由其官方文档提供的Node.js定义如下-
Node.js是基于Chrome的JavaScript运行时构建的平台,可轻松构建快速且可扩展的网络应用程序。 Node.js使用事件驱动的非阻塞I / O模型,使其轻巧高效,非常适合跨分布式设备运行的数据密集型实时应用程序。
Node.js是一个开放源代码,跨平台的运行时环境,用于开发服务器端和网络应用程序。 Node.js应用程序是用JavaScript编写的,可以在OS X,Microsoft Windows和Linux的Node.js运行时中运行。
Node.js还提供了一个包含各种JavaScript模块的丰富库,该库在很大程度上简化了使用Node.js的Web应用程序的开发。
Node.js = Runtime Environment + JavaScript Library
以下是一些使Node.js成为软件架构师首选的重要功能。
异步和事件驱动-Node.js库的所有API都是异步的,即非阻塞。从本质上讲,这意味着基于Node.js的服务器从不等待API返回数据。服务器调用后将移至下一个API,Node.js事件的通知机制可帮助服务器从上一个API调用中获取响应。
非常快-Node.js库基于Google Chrome的V8 JavaScript引擎构建,代码执行非常快。
单线程但高度可扩展-Node.js使用带有事件循环的单线程模型。事件机制可帮助服务器以非阻塞方式进行响应,并使服务器具有高度可伸缩性,而传统的服务器创建的线程数量有限,无法处理请求。 Node.js使用一个单线程程序,并且与Apache HTTP Server等传统服务器相比,该程序可以为更多请求提供服务。
无缓冲-Node.js应用程序从不缓冲任何数据。这些应用程序仅以块的形式输出数据。
许可证-Node.js是根据MIT许可证发布的。
以下是github Wiki上的链接,其中包含正在使用Node.js的项目,应用程序和公司的详尽列表。此列表包括eBay,通用电气,GoDaddy,Microsoft,PayPal,Uber,Wikipins,Yahoo!和Yammer等。
下图描述了Node.js的一些重要部分,我们将在后续章节中详细讨论。
以下是Node.js证明自己是完美的技术合作伙伴的领域。
建议不要将Node.js用于CPU密集型应用程序。