揭秘Node.js深受欢迎的原因

Node.js是一项服务器技术,它用来构建和运行Web应用,这和ASP.NET,Ruby on Rails或Spring框架做的工作是类似的。它 使用JavaScript作为主要的开发语言,有一个自带的轻量级Web服务器,还有Node包管理(NPM)的大量插件,你就可以按照你自己的需求来塑 造Web应用,像添加MVC特性,加入Restful服务,OAuth或SSL安全性等等。 但是,是什么原因让Node.js突然间如此流行呢?听起来像是有了一种新的Web开发技术,是这样吗?我们来汇总一下原因: 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. 支持对象数据库 在Node.js应用中使用像MongoDB这样的对象数据库简是十分常见的,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)等等。 这就是Node.js流行的原因,相信你会喜欢上它的。关于Web开发和JavaScript,还推荐你看看《为HTML5开发人员量身打造的7个Web框架》《6个好用的Web开发工具》《20款最优秀的JavaScript编辑器》,希望帮到你。 原文:http://css.dzone.com/articles/why-nodejs-so-popular 译文:http://www.php100.com/html/it/focus/2014/1127/7922.html (翻译:PHP100_Zeroing)

原文发布于微信公众号 - php(phpdaily)

原文发表时间:2014-11-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏疯狂的小程序

流动图书馆小程序实战

流动图书馆是一个图书漂流和借阅工具,旨在共享闲置图书,并链接趣味相投的小伙伴。

3799
来自专栏Java技术分享

RBAC新解:基于资源的权限管理(Resource-Based Access Control)

本文讨论以角色概念进行的权限管理策略及主要以基于角色的机制进行权限管理是远远不够的。同时我将讨论一种我认为更好的权限管理方式。 什么是角色 当说到程序的权限管理...

3736
来自专栏FreeBuf

反取证技术:内核模式下的进程隐蔽

介绍 本文是介绍恶意软件的持久性及传播性技术这一系列的第一次迭代,这些技术中大部分是研究人员几年前发现并披露的,在此介绍的目的是建立这些技术和取证方面的知识框架...

2928
来自专栏VMCloud

【解析向】腾讯云的Windows Server日志配置收集工具是个什么鬼?(2)

继上一篇,上一篇重点介绍了腾讯云Windows Server日志收集工具的“场景”功能,那么场景功能究竟是以什么标准来分级的呢?

3477
来自专栏IMWeb前端团队

可视化前端测试

可视化前端测 背景 相信进行过前端开发的同学都知道,前端测试不仅仅涉及到功能的测试,而且也需要考虑到界面样式测试、多浏览器兼容性测试、性能测试。本文主要讨论分...

24010
来自专栏QQ会员技术团队的专栏

日请求亿级的 QQ 会员 AMS 平台 PHP 7 升级实践

自2015年5月,我们就开始规划 PHP 底层升级,最终的目标是升级到 PHP 7。那时, PHP 7尚处于研发阶段,而我们讨论和预研就已经开始了。

12.6K6
来自专栏张善友的专栏

基于DotNetOpenAuth实现OpenID 服务提供者

EverBox网盘(www.everbox.com)是由盛大创新院推出的一款网盘产品,提供了超大的免费存储空间(可升级到 10GB),支持文件同步、文件分享、在...

22110
来自专栏Flutter入门到实战

全面总结国内BATH等大厂开源的安卓有关的库(持续更新中...)

UltraViewPager 是阿里开源的一个封装多种特性的 ViewPager ,主要是为多页面切换场景提供统一解决方案。

502
来自专栏北京马哥教育

专为渗透测试人员设计的Python工具大合集

如果你对漏洞挖掘、逆向工程分析或渗透测试感兴趣的话,我第一个要推荐给你的就是Python编程语言。Python不仅语法简单上手容易,而且它还有大量功能强大的库和...

3107
来自专栏贾老师の博客

SSL/TLS协议

1444

扫描关注云+社区