NodeJs简介
什么是Node.js
Node.js 是一个 Javascript 运行环境(Runtime)。它让 JavaScript 可以开发后端程序,实现几乎其他后端 语言实现的所有功能,可以与PHP、JSP、Python、Ruby 等后端语言平起平坐。
Nodejs是基于V8引擎,V8是Google发布的开源JavaScript引擎,本身就是用于Chrome浏览器的JS解释部分,但是Ryan Dahl这哥们,鬼才般的,把这个V8搬到了服务器上,用于做服务器的软件。
应用领域
短短几年的时间,Node取得了巨大的成功。在企业界,Node的应用也越来越广泛,2016年nodeJS官方的调查报告。2016年全球有350万开发者使用nodeJS,相比去年保持了100%的增长率。像Yahoo、Microsoft这样的大公司,有好多应用已经迁移到Node了。
国内的阿里巴巴、网易、腾讯、新浪、百度等公司的很多线上产品也纷纷改用Node开发,并取得了很好的效果。据统计很多A轮、B轮的创业公司更喜欢使用NodeJs开发。
Nodejs优势
- NodeJs语法完全是js语法,只要你懂JS基础就可以学会Nodejs后端开发。
- NodeJs超强的高并发能力。现在的服务器端语言中存在着什么问题。在Java、PHP或者.net等服务器端语言中,会为每一个客户端连接创建一个新的线程。而每个线程需要耗费大约2MB内存。也就是说,理论上,一个8GB内存的服务器可以同时连接的最大用户数为4000个左右。要让Web应用程序支持更多的用户,就需要增加服务器的数量,而Web应用程序的硬件成本当然就上升了。Node.js不为每个客户连接创建一个新的线程,而仅仅使用一个线程。当有用户连接了,就触发一个内部事件,通过非阻塞I/O、事件驱动机制,让Node.js程序宏观上也是并行的。使用Node.js,一个8GB内存的服务器,可以同时处理超过4万用户的连接。
- 实现高性能服务器
- 开发周期短、开发成本低、学习成本低。Node.js自身哲学,是花最小的硬件成本,追求更高的并发,更高的处理性能。