写点什么

选择 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:334191
用户头像

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

关注

评论

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

BizDevOps全局建设思路:横向串联,纵向深化

嘉为蓝鲸

DevOps Dev Ops BizDevOps

TiDB 新特性解读 (6.0~6.6)

TiDB 社区干货传送门

管理与运维 版本测评 新版本/特性解读 6.x 实践 7.x 实践

PTCP认真学习始(不是错别字,啊喂

TiDB 社区干货传送门

社区活动 学习&认证&课程

TiDB Vector抢先体验之用TiDB实现以图搜图

TiDB 社区干货传送门

数据库架构选型 新版本/特性解读 数据库前沿趋势

Kafka 线上性能调优

不在线第一只蜗牛

kafka 分布式

全球AI音乐会,第一次听见中国声音

脑极体

AI

HAS2024:华为云以系统性创新加速千行万业智能化升级

华为云开发者联盟

云计算 华为云 华为云开发者联盟 企业号2024年4月PK榜 HAS2024

AI从入门到入门之手写数字识别模型java方式Dense全连接神经网络实现

京东科技开发者

RocketMQ 存储机制浅析

字节跳动云原生计算

RocketMQ

NL2SQL实践系列(2):2024最新模型实战效果(Chat2DB-GLM、书生·浦语2、InternLM2-SQL等)以及工业级案例教学

汀丶人工智能

text2sql NL2SQL

Create 2024 分论坛:百度大模型安全解决方案护航开发者一起创造未来

百度安全

一个游戏服务器多少钱?价格与配置的完美指南

一只扑棱蛾子

服务器

调试 WebSocket API 教程实践

Apifox

程序员 前端 后端 websocket WebSocket API

TiDB学习认证之路:数据库界的“快乐大本营”

TiDB 社区干货传送门

社区活动 学习&认证&课程

TiDB与MySQL在备份容灾体系的衡量对比

TiDB 社区干货传送门

管理与运维

尝鲜 TiDB 企业管理器TEM 2.1.3 新版本

TiDB 社区干货传送门

监控

Optimism 黑客松大赛获奖名单公布

Footprint Analytics

AI gamefi Optimism

Python与数据库交互的最佳实践

技术冰糖葫芦

api 货币化 API 接口 pinduoduo API

我们开源啦!一键部署免费使用!Kubernetes上直接运行大数据平台!

智领云科技

开源 大数据平台 K8s 多集群管理

企业im即时通讯工具推荐,企业内部即时通讯软件工具怎么选?

BeeWorks

工程中实践的微服务设计模式

京东科技开发者

高效的 API 自动化测试

Liam

Jmeter 自动化测试 API测试 测试工具 API 自动化测试

旅游电商的智能化升级:携程景点详情API引领新潮流

技术冰糖葫芦

API 接口 API 测试 pinduoduo API

TiDB 版本升级常见问题处理(v6.0 及以上版本)

TiDB 社区干货传送门

版本升级 故障排查/诊断

云PBX的相关介绍

cts喜友科技

通信 通讯 云通讯

记一次某节点没有Leader的问题分析

TiDB 社区干货传送门

实践案例 故障排查/诊断 7.x 实践

写给职场新人|从迷茫到屡获殊荣的技术人成长之路

京东科技开发者

WorkPlus企业即时通讯国密加固-为企业信息安全保障

BeeWorks

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