面试题71:nodejs有什么优点

12 篇文章 1 订阅

nodejs有什么优点

1、Nodejs语法完全是js语法,只要你懂js基础就可以学会Nodejs后端开发

Node打破了过去JavaScript只能在浏览器中运行的局面。前后端编程环境统一,可以大大降低开发成本。

2、NodeJs超强的高并发能力,处理高并发场景性能更高

NodeJs的首要目标是提供一种简单的、用于创建高性能服务器及可在该服务器中运行的各种应用程序的开发工具。

首先让我们来看一下现在的服务器端语言中存在着什么问题。在Java、PHP或者.NET等服务器语言中,会为每一个客户端连接创建一个新的线程。而每个线程需要耗费大约2MB内存。也就是说,理论上,一个8GB内存的服务器可以同时连接的最大用户数为4000个左右。要让web应用程序支持更多的用户,就需要增加服务器的数量,而web应用程序的硬件成本当然就上升了。

NodeJs不为每个客户连接创建一个新的线程,而仅仅使用一个线程。当有用户连接了,就触发一个内部事件,通过非阻塞I/O、事件驱动机制,让Node.js程序宏观上也是并行的。使用Node.js,一个8GB内存的服务器,可以同时处理超过4万用户的连接。

3、实现高性能服务器

严格地说,Node.js是一个用于开发各种web服务器的开发工具。在Node.js服务器中,运行的是高性能V8 JavaScript脚本语言,该语言是一种可以运行在服务器端的脚本语言。

那么,什么是V8 JavaScript脚本语言呢?该语言是一种被V8 JavaScript引擎所解析并执行的脚本语言。V8 JavaScript引擎是由Google公司使用C++语言开发的一种高性能JavaScript引擎,该引擎并不局限于在浏览器中运行。Node.js将其转用在了服务器中,并且为其提供了许多附加的具有各种不同用途的API。例如,在一个服务器中,经常需要处理各种二进制数据。在JavaScript脚本语言中,只具有非常有限的对二进制数据的处理能力,而Node.js所提供的Buffer类则提供了丰富的对二进制数据的处理能力。

另外,在V8 JavaScript引擎内部使用一种全新的编译技术。这意味着开发者编写的高端的 JavaScript 脚本代码与开发者编写的低端的C语言具有非常相近的执行效率,这也是Node.js服务器可以提供的一个重要特性。

4、开发周期短、开发成本低、学习成本低

Node.js自身哲学,是使用最小的硬件成本,追求更高的并发,更高的处理性能。

Node.js 是一种后起的优秀服务器编程语言,它用来构建和运行 Web 应用,这和 ASP.NET,Ruby on Rails 或 Spring 框架做的工作是类似的。它使用 JavaScript 作为主要的开发语言,有一个自带的轻量级 Web 服务器,还有 Node 包管理(NPM)的大量插件,你就可以按照你自己的需求来塑造 Web 应用,像添加 MVC 特性,加入 Restful 服务,OAuth 或 SSL 安全性等等。以下是Node.js的六大优点。

1、前端/后端开发使用同一种语言

  像 ASP.NET 或 Spring 这样的技术需要开发人员学习一门新的服务端语言,比如C#,VB.NET 或者 Java。而 Node.js 在服务端和客户端都是使用 JavaScript,这意味着开发人员在各层上只需使用一门语言。

2、容易上手

  有一个事实就是 JavaScript 是 Web 开发者们熟知的语言,大部分人都了解 JavaScript 或多少使用过它。所以说,一个 Web 开发人员从其他技术转型到 Node.js 是很简单的。

3、轻量级

  Node.js 使用的是事件驱动架构,这就是说在它上面做的每一件事,每一个独立的调用和操作,都是一系列的异步回调。这使得 Node.js 运行在一个线程上,这一点和其它的 Web 技术是不同的,它们每个客户端的请求都会生成一个新的线程来处理。这也正是非阻塞I/O的本质所在。

4、支持 NoSQL 数据库

  在 Node.js 应用中使用像 MongoDB 这样的 NoSQL 数据库简是十分常见的,MongoDB 和传统的 SQL 数据库不同的是,它使用的是基于文档的模型而非关系型模型,它用的不是表,而是类似 JSON 这样的对象。这就很适合 ORM 的热爱者了。

5、有很好的 IDE 和代码编辑器支持

  JavaScript 已经存在相当长一段时间了,所以像 Visual Studio,Eclipse 这样的 IDE 都是支持 JavaScript 代码提示和高亮的,另外像 NotePad++ 和 Sublime Text 之类的代码编辑器也同样支持这些。

6、代码托管服务支持广泛

  一些 Web 服务器和云服务提供商都支持 Node.js 的 Web 应用。我们在这里说几个,包括 Google,Microsoft IIS,Heroku,Microsoft Azure,Amazon(AWS)等等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值