Node.js深受欢迎的六大原因
Node.js是一种后起的优秀服务器编程语言,它用来构建和运行Web应用,这和ASP.NET,Ruby on Rails或Spring框架做的工作是类似的。它使用JavaScript作为主要的开发语言,有一个自带的轻量级Web服务器,还有Node包管理(NPM)的大量插件,你就可以按照你自己的需求来塑造Web应用,像添加MVC特性,加入Restful服务,OAuth或SSL安全性等等。但是,是什么原因让Node.js突然间如此流行呢?听起来像是有了一种新的Web开发技术,是这样吗?我们来汇总一下原因:
前端/后端开发使用同一种语言
像ASP.NET或Spring这样的技术需要开发人员学习一门新的服务端语言,比如C#,VB.NET或者Java。而Node.js在服务端和客户端都是使用JavaScript,这意味着开发人员在各层上只需使用一门语言。
容易学会
有一个事实就是JavaScript是Web开发者们熟知的语言,大部分人都了解JavaScript或多少使用过它。所以说,一个Web开发人员从其他技术转型到Node.js是很简单的。
轻量
Node.js使用的是事件驱动架构,这就是说在它上面做的每一件事,每一个独立的调用和操作,都是一系列的异步回调。这使得Node.js运行在一个线程上,这一点和其它的Web技术是不同的,它们每个客户端的请求都会生成一个新的线程来处理。这也正是非阻塞I/O的本质所在。
支持NoSQL数据库
在Node.js应用中使用像MongoDB这样的NoSQL数据库简是十分常见的,MongoDB和传统的SQL数据库不同的是,它使用的是基于文档的模型而非关系型模型,它用的不是表,而是类似JSON这样的对象。这就很适合ORM的热爱者了。
有很好的IDE和代码编辑器支持
JavaScript已经存在相当长一段时间了,所以像Visual Studio,Eclipse这样的IDE都是支持JavaScript代码提示和高亮的,另外像NotePad++和Sublime Text之类的代码编辑器也同样支持这些。
代码托管服务支持广泛
一些Web服务器和云服务提供商都支持Node.js的Web应用。我们在这里说几个,包括Google,Microsoft IIS,Heroku,Microsoft Azure,Amazon(AWS)等等。
Node.js深受欢迎的六大原因的更多相关文章
- 《超实用的Node.js代码段》连载三:Node.js深受欢迎的六大原因
<超实用的Node.js代码段>连载一:获取Buffer对象字节长度 <超实用的Node.js代码段>连载二:正确拼接Buffer Node.js是一种后起的优秀服务器编程语言 ...
- 揭秘Node.js深受欢迎的原因
揭秘Node.js深受欢迎的原因 http://www.php100.com/html/dujia/2014/1127/7922.html
- 深入浅出Node.js(一):什么是Node.js
Node.js从2009年诞生至今,已经发展了两年有余,其成长的速度有目共睹.从在github的访问量超过Rails,到去年底Node.jsS创始人Ryan Dalh加盟Joyent获得企业资助,再到 ...
- Beaglebone Black– 智能家居控制系统 LAS - 网页服务器 Node.js 、Web Service、页面 和 TCP 请求转 UDP 发送
上一篇,纯粹玩 ESP8266,写入了 init.lua 能收发 UDP.这次拿 BBB 开刀,用 BBB host 一个 web server ,用于与用户交互,数据来自 ESP8266 的 UDP ...
- 深入浅出Node.js(一):什么是Node.js(转贴)
以下内容转自:http://www.infoq.com/cn/articles/what-is-nodejs/ 作者:崔康 [编者按]:Node.js从2009年诞生至今,已经发展了两年有余,其成长的 ...
- [译] 所有你需要知道的关于完全理解 Node.js 事件循环及其度量
原文地址:All you need to know to really understand the Node.js Event Loop and its Metrics 原文作者:Daniel Kh ...
- node.js 调试问题
最近打算在项目过程中使用node.js辅助解决一些问题,需要用到node.js的调试技术. 通常而言,大家都会提到debugger或者node-inspector方法. debugger方法谁用谁知道 ...
- iOS 使用node js 搭建简单的本地服务器
一.前提:基于iOS 项目 调用,使用了第三方框架NodeMobile.技术说明关键是 应用生命整个周期只能在应用启动时候开辟的一个线程里申请 一个 node js 资源.如果终止了运行,重启是不支 ...
- 深入浅出Node.js(上)
(一):什么是Node.js Node.js从2009年诞生至今,已经发展了两年有余,其成长的速度有目共睹.从在github的访问量超过Rails,到去年底Node.jsS创始人Ryan Dalh加盟 ...
随机推荐
- TCP/IP详解学习笔记(1)-- 概述
1.TCP/IP的分层结构 网络协议通常分不同层次进行开发,每一层分别负责不同的同信功能.TCP/IP通常被认为是一个四层协议系统. 如图所示. 1)链路层(数据链路层 ...
- PZISP自动下载软件运行时出现“应用程序无法启动,因为应用程序的并行配置不正确”
在win7下以管理员身份运行“PZISP自动下载软件”时出现“应用程序无法启动,因为应用程序的并行配置不正确”时,是因为系统里面没有一些visual c++库 想一想,反正以后也要用上VS2010的, ...
- ERDAS 2013与ArcGIS10.1安装时的兼容性问题
在Regedit中HKEY_LOCAL_MACHINE->SOFTWARE->FLEXlm License Manager下新建一个“ERDAS License Manager”,然后按照 ...
- VS2013连接不上TFS,TF31002记录
之前vs2013连接好好的,昨天就发现不行,类似如下错误 可能原因及解决办法: 1:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG 下的 Ma ...
- WPF和WINFORM的互操作
在WPF中使用Winform控件 <Window x:Class="WPFApplication.Window1" xmlns="http://schemas.mi ...
- Use BEC to do mobile phone forensics
Belkasoft Evidence Center makes me very impressed that it supports lots of evidence type. I have to ...
- 003Linux网络配置
基于VMware中的Linux系统: 1.VMware提供了三种网络工作模式: (1)bridged(桥接模式) 桥接模式,顾名思义,得有桥,谁充当桥呢?当然是主机,安装了虚拟机的主机,充当的是虚拟机 ...
- Android IOS WebRTC 音视频开发总结(五一)-- 降噪基本原理
文章主要介绍噪声消除,文章来自博客园RTC.Blacker,支持原创,转载必须说明出处,欢迎关注微信公众号blacker,更多详见www.rtc.help ---------------------- ...
- 极路由1s手工安装ss插件
1.极路由申请开放root权限,将会失去保修,不过100块的东西还保修个什么 2.用putty连接极路由注意端口号 3. 然后一段一段执行下面的代码,很简单,复制一个段落的代码,粘贴进去,回车执行. ...
- ViewPager使用 -------滑动图片
package com.zzw.viewpage; import java.util.ArrayList; import java.util.List; import android.app.Acti ...