Nodejs 介绍
Node.js 是一个 Javascript 运行环境(runtime)。它让 JavaScript 可以开发后端程序,它几乎能实现其他后端语言能实现的所有功能。
Nodejs 是基于 Google V8 引擎,V8 引擎是 Google 发布的一款开源的 JavaScript 引擎,原来主要用于 Chrome 浏览器的 JS 解释部分,但是 Ryan Dahl 这哥们,鬼才般的,把这个 V8引擎搬到了服务器上,用于做服务器的软件。
短短几年的时间,Node 取得了巨大的成功。用 Nodejs 的企业也越来越多。像 Yahoo、Microsoft 这样的大公司,有好多应用已经迁移到 Nodejs 了。国内的阿里巴巴、网易、腾讯、新浪、百度等公司的很多线上产品也纷纷改用 Nodejs 开发,并取得了很好的效果。
阿里内部很多的业务都是基于 nodejs 完成的。阿里内部还开源了一个基于 nodejs 的框架 eggjs,可以让我们更快速的开发企业级项目。
Nodejs 官网:https://nodejs.org/en/
Npm 包管理:https://www.npmjs.com/
为什么要学 Nodejs
1、Nodejs 用户量大:我们无法统计 Nodejs 软件的下载量,但是我们可以通过 Nodejs框架 Express 的下载量来分析出 Nodejs 的用户量非常惊人。Nodejs 在 2017 年的时候用户量已经过千万。经过了 3 年的发展,Nodejs 目前的用户量可想而知。
2、Nodejs 是程序员必备技能:对于前端开发者而言 Nodejs 目前是必备技能,对于其他
后端语言开发者而言,会 Nodejs 找工作更也有优势。
3、Nodejs 最擅长高并发:Nodejs 最擅长的就是处理高并发,在 Java、PHP 或者.net 等服务器端语言中,会为每一个客户端连接创建一个新的线程。而每个线程需要耗费大约 2MB内存。也就说,理论上,一个 8GB 内存的服务器可以同时连接的最大用户数为 4000 个左右。要让 Web 应用程序支持更多的用户,就需要增加服务器的数量,而 Web 应用程序的硬件成本当然就上升了。Node.js 不为每个客户连接创建一个新的线程,而仅仅使用一个线程。当有用户连接了,就触发一个内部事件,通过非阻塞 I/O、事件驱动机制,让 Node.js 程序宏观上也是并行的。使用 Node.js,一个 8GB 内存的服务器,可以同时处理超过 4 万用户的连接。
4、Nodejs 简单:NodeJs 语法完全是 js 语法,只要你懂 JS 基础就可以学会 Nodejs 后端开发。使得 Nodejs 具有开发周期短、开发成本低、学习成本低等优势。
5、Nodejs 可实现的功能多:Nodejs 不仅可以像其他后端语言一样写动态网站、写接口,还可以应用在云计算平台、游戏开发、区块链开发、即时通讯、跨平台 App 开发、桌面应用开发(electron)、云直播、物联网领域等