Node.js初识

定义:

Node.js是一个开放源代码跨平台的、可用于服务器端和网络应用的运行环境

简介:

Node.js应用JavaScript语言写成,在Node.js运行时运行。Node.js提供事件驱动和非阻塞I/O API,可优化应用程序的吞吐量和规模。这些技术通常被用于实时应用程序。Node.js采用Google的V8引擎来执行代码。Node.js的大部分基本模块都是用JavaScript写成的。Node.js含有一系列内置模块,使得程序可以作为独立服务器运行,从而脱离Apache HTTP Server或IIS运行。Node.js正在向服务器端平台发展。”node.js 是谷歌 V8 引擎、libuv平台抽象层 以及主体使用 Javscript 编写的核心库三者集合的一个包装外壳。” 除此之外,值得注意的是,Node.js 的作者瑞恩·达尔 (Ryan Dahl) 的目标是创建具有实时推送能力的网站。在 Node.js 中,他给了开发者一个使用事件驱动来实现异步开发的优秀解决方案。简而言之:Node.js 在实时的 Web应用上采用了基于 WebSocket 的推送技术。这意味着什么样的革命性?Well,在经过了20多年的基于无状态的请求-返机制的无状态交互之后,我们终于有了实时的,双向连接的web应用,客户端和服务器端都可以发起通信,能够自由地交换数据。与此形成鲜明对比的是传统的 web响应模式,客户端总是主动发起通信而服务端被动返回。此外,这些都是基于运行在标准80端口上的开放Web组件(HTML、CSS和JS)。

优点

1、nodejs作为一个新兴的前端框架,后台语言,有很多吸引人的地方:
2、RESTful API
3、单线程
4、Node.js可以在不新增额外线程的情况下,依然可以对任务进行并发处理 —— Node.js是单线程的。它通过事件轮询(event loop)来实现并发操作,对此,我们应该要充分利用这一点 —— 尽可能的避免阻塞操作,取而代之,多使用非阻塞操作。
5、非阻塞IO
6、V8虚拟机
7、事件驱动
原文地址:https://www.cnblogs.com/peteremperor/p/6804479.html