AICon 上海站|90%日程已就绪,解锁Al未来! 了解详情
写点什么

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

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

关注

评论

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

避免故障逃逸最佳实践

FunTester

惊艳!全网首份“架构师成长笔记”GitHub狂澜9000星

Summer

Java 编程 程序员 面试 架构师

AI测试 前 OpenAI 音频 AI 负责人获投 4000 万,打造情感通用智能;TEN Agent 一键让 Coze Bot 开口对话

声网

Lumoz的ZK算力网络,加速以太坊3.0的到来

BlockChain先知

HAMi已在云厂商、互联网等数十家企业应用 异构算力利用率提升5-10倍

极客天地

虚拟化世界,正上演一场「星际穿越」

脑极体

AI

枫清科技高雪峰:从数据到知识,重塑产业智能化的核心驱动力

Fabarta

AI应用 #大模型 生成式 AI 应用 企业 AI 应用

Spring Boot 应用 “Connection is closed” 及 MySQL 空闲超时断开连接解决方案

沉默的老李

springboot MySQL 5.7

豆包Marscode 课程回顾 | AI 编程课「入门开发者系列」

Trae

文字稿 | MatrixOne2.0.0:AI向量与高可用能力的重磅升级

MatrixOrigin

数据库

手把手教你华为鸿蒙开发之第十节

The Wang

华为 huawei

手把手教你华为鸿蒙开发之第十一节

The Wang

华为

Lumoz的ZK算力网络,加速以太坊3.0的到来

股市老人

手把手教你华为鸿蒙开发之第十二节

The Wang

华为

零代码赋能港澳企业数字化转型

明道云

如何动态调试线程池?

江南一点雨

RAG分块策略:主流方法(递归、jina-seg)+前沿推荐(Meta-chunking、Late chunking、SLM-SFT)

汀丶人工智能

rag

为什么ETH 3.0需要Lumoz的ZK算力网络?

加密眼界

镜舟科技荣登 CCFA 2024 年度零售科技新锐企业榜单

镜舟科技

开源 数据分析 分析型数据库 StarRocks

有哪些值得推荐的AI人工智能网站?这10个一定要知道!

职场工具箱

人工智能 效率工具 办公软件 AIGC AI生成PPT

来自阿里大佬的洗礼!全网独家的SpringBoot核心文档,讲的太清晰了

Summer

Java 程序员 面试 架构师 架构师大厂

为什么ETH 3.0需要Lumoz的ZK算力网络?

石头财经

一站式在线打字学习平台-巧手打字通

巧手打字通

键盘 打字练习 打字软件 打字练习软件 打字训练

市场规模超 60 亿美元,语音如何改变对话式 AI?

声网

是观察者,也是实践者!|华为云开源开发者大前端技术论坛完满结束

OpenTiny社区

OpenTiny TinyVue TinyEngine 前端开源 DevUI

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