写点什么

选择 Nodejs 的 N 个理由

  • 2014-09-25
  • 本文字数:861 字

    阅读完需:约 3 分钟

Caleb Madrigal 是来自美国密尔沃基市的一名软件顾问。四年前,他在听说“将 JavaScript 用作服务器端语言”这样的说法时,认为那是一个荒唐的想法。有那么多服务器端语言可供选择,为什么要选 JavaScript?这是他当时的想法。但现在,他在当前的项目中选用了 JavaScript/Node.js。他近日撰文对自己的这一转变进行了解释。

首先,许多顶级企业都使用了Node.js,并且效果非常好,其中包括 PayPal Walmart Ebay Groupon LinkedIn 。这些企业在生产环境中大量使用了 Node.js。Madrigal 举了 PayPal 的例子。PayPal 针对他们网站上其中一个流量最大的应用,对比了它的 Node.js 版本和 Java 版本,发现前者在多个方面优于后者,并最终决定由 Java 切换到 JavaScript。InfoQ 对此有过报道

其次,Node.js 有一个很棒的包管理系统 NPM 。通过运行“npm install 包名”几乎可以安装任何包 / 库。另外,通过 package.json 文件可以跟踪依赖关系。因此,Node.js 库很容易克隆,运行“npm install”可以安装所有的依赖关系。

再次,Node.js 社区异常活跃,总是有新的库产生。这些库非常好用,使 JavaScript 成为一个非常高效的平台。

然后是 Node.js 的 REPL (read-evaluate-print loop)命令行。开发人员只需要在终端中输入“node”,就可以对 Node.js 进行逐行测试。

最后,Node.js 有一个很重要的特性:非阻塞函数。这就是为什么我们会在 Node.js 的代码中看到大量的 callbacks promises 。这种设计模式给 Node.js 带来了非常优异的性能。

此外,Node.js 的最大一个优点是:它是 JavaScript。任何人都知道 JavaScript,所以使用 Node.js 不需要学习一门新语言。有了它,开发人员可以只使用一种语言,浏览器端用 JavaScript,服务器端用 Node.js。在使用像 MongoDB CouchDB 这样存储 JSON 对象的文档数据库时,这会极大地简化数据库和用户界面之间的数据传递任务。


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-09-25 07:333781
用户头像

发布了 256 篇内容, 共 86.3 次阅读, 收获喜欢 12 次。

关注

评论

发布
暂无评论
发现更多内容

实现智能化生产车间的MES管理系统

万界星空科技

智能制造 mes 万界星空科技 数字化车间 车间管理

Permute 3全能媒体格式转换器 mac Permute 3中文版下载

Rose

潞晨训推一体机,画出大模型到企业的一条龙路线图

脑极体

AI

中国LED显示屏产业的挑战与机遇

Dylan

产业 LED显示屏 全彩LED显示屏 led显示屏厂家 市场

TDengine 3.3.0.0 引入图形化管理工具、复合主键等 13 项关键更新

TDengine

数据库 tdengine 时序数据库

打字大师3-盲打实践Master of Typing 3 - Practice for Mac

Rose

独特DJ混音创作软件DJ Mix Pads 2 - Remix Version

Rose

2024最新多端社交圈子系统源码 | 陌生人社交 | 即时聊天通信 | 小程序+H5+PC+APP等多端

DUOKE七七

php 开源 源码 uniapp 交友软件开发

优秀的电子书生成工具Vellum for Mac v3.7.4激活版

Rose

sublime text代码编辑器 中文设置教程

Rose

大模型应用之路:从提示词到通用人工智能(AGI)

京东科技开发者

ERC721开发:打造独一无二的数字资产

dappweb

区块链 defi 元宇宙 ERC721 区块链开发

链游开发:探索游戏与区块链的交汇点

区块链开发团队DappNetWork

Autodesk AutoCAD 2025中文版详细图文安装教程

Rose

万字长文:在 Go 中如何优雅的使用 wire 依赖注入工具提高开发效率?下篇

江湖十年

golang 后端 Go web Go 面试题 面经 后端 大厂

Parallels Desktop 18 for mac(兼容Intel和M系列虚拟机)v18.3.2永久激活版

Rose

PHP正版交友系统交友平台源码+支持H5小程序+带安装说明+可封装APP 交友程序网站源码+安装说明

DUOKE七七

php 开源 源码 uniapp 交友

油猴Safari浏览器辅助插件Tampermonkey 中文版下载

Rose

元宇宙和链游的疯狂故事对经济有什么影响?

区块链开发团队DappNetWork

实用的Web服务器管理软件goPanel for Mac v2.9.6版

Mac相关知识分享

MacBook web服务器 Mac软件 mac下载

CloudMounter for mac(云盘本地加载工具)v4.6版

Mac相关知识分享

MacBook Mac软件 mac下载

ERC20开发:构建标准化的代币经济

dappweb

ERC20 区块链开发

精彩回顾!安全智能体的前沿技术研究与实践

云起无垠

在鸿蒙系统中处理ETS层与C++层之间的数组传递

彭康佳

c android 鸿蒙 native

解锁LLMs的“思考”能力:Chain-of-Thought(CoT) 技术推动复杂推理的新发展

汀丶人工智能

大模型 思维链

Invisor for Mac 媒体文件信息查看软件

Rose

mac office 365 商业专业版破解

Rose

EverWeb for Mac(网页设计软件)v4.2.0中文版

Mac相关知识分享

网页设计 Mac软件 mac下载

选择Nodejs的N个理由_架构/框架_马德奎_InfoQ精选文章