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加盟 ...
随机推荐
- php函数将对象转换为数组以及json_decode的使用技巧
在写php代码的时候,发现调用接口返回的结果类型是对象,不是自己想要的数组,于是乎,写了一个将对象转化数组的函数: /** * 将对象转化为数组 */ private function objectT ...
- yii学习小结
对yii框架搭建的平台运维过程中,会不断地发现很多新的特性和问题,现一一记录下来,便于后续学习~ 1.日志 在/runtime目录中 参考:http://www.cnblogs.com/you ...
- 华为OJ平台——超长正整数相加
题目描述: 请设计一个算法完成两个超长正整数的加法. 输入 输入两个字符串数字 输出 输出相加后的结果,string型 样例输入 99999999999999999999999999999999999 ...
- 再论prototype
前段时间曾经写过一篇关于prototype原型的文章(http://www.cnblogs.com/ttcc/p/3751604.html),但是对于JS的核心之一,还是应该多多熟悉才行,常回过头来看 ...
- Oracle笔记 五、创建表、约束、视图、索引、序列、同义词、表空间
alter table userInfo add(msn varchar2(20)); 1.建表 create table userInfo ( id number(6), name varchar2 ...
- 0511 backlog 项目管理
SCRUM 这次的作业就是确定SCRUM的计划,确定sprint backlog的一个冲刺周期,而这个周期是两个星期.争取在两周内发布1.0版本. 本次作业以网站构建为主: ID NAME ...
- PDM文件编辑
需要把Oracle中的表,导出到已有的PDM文件中. 1.Oracle导出表脚本 1) 2) 3) 2.PowerDesigner导入脚本 1) 2) 3) 4)
- 使用BootStrap制作用户登录UI
先看看劳动成果 布局 左右各一半(col-md-6) 左侧登录框占左侧一半的10/12 右侧是登录系统的注意事项 使用到的BootStrap元素 well 输入框组(input-group) 按钮(b ...
- Js 访问Aspnet后台页面变量
一.普通WebForm页面 <html xmlns="http://www.w3.org/1999/xhtml"><head runat="server ...
- 一些peoplecode小技巧平【二】
1. Set component changed page field property: For understanding this open a page in application desi ...