把握行业变革关键节点,12 月 19 日 - 20 日,AICon北京站即将重磅启幕! 了解详情
写点什么

JavaScript 正在吞噬这个世界

  • 2017-08-27
  • 本文字数:1061 字

    阅读完需:约 3 分钟

NodeJS,一个基于 Google Chrome V8 JS 引擎的服务器端 JavaScript 运行时,曾经被认识只是一个赶时髦的技术,有谁会想到,它正在吞噬着我们的软件世界。NodeJS 成为构建 Web 应用最为常用的环境之一,而且正在试图进入企业领域。 Anthony Delgado 列出了五个巨头公司,他们在高流量的生产环境中使用了这项“时髦”的服务器端 JavaScript 引擎。

1. Netflix

Netflix 通过 JavaScript 和 NodeJS 将他们的网站转成了单页应用(SPA)。Netflix 原本也是传统的企业级 Java 应用,但在他们把数据中心迁移到云端的过程中,他们采用了基于服务的架构模式,将单体应用拆分成一系列更小的服务。Netflix 的后端仍然由 Java 在支撑着,但用户能够看到的东西都来自 NodeJS。

2. PayPal

PayPal 的 Web 应用平台也正在从 Java 迁移到 JavaScript 和 NodeJS。他们使用 NodeJS 创建了一个原型平台,一旦该平台被证实是行之有效的,他们就会将它应用到生产环境中。PayPal 在生产环境的第一个 NodeJS 应用是他们的账户概览页面,这也是访问量最大的功能页面之一。PayPal 的两个团队分别使用 Java 和 JavaScript 创建“账户概览”页面,而事实证明,JavaScript 团队能够更快更有效地构建好应用。在转换过程中,PayPal 还开源了一个叫作 KrakenJS 的 ExpressJS 扩展,可以通过它给 NodeJS 服务器增加额外的安全层和伸缩层。

3. Uber

Uber 在他们的司机和乘客匹配系统上采用了基于 NodeJS 的分布式 Web 架构。Uber 的高级网站可靠性工程师 Tom Crouche 在 NodeJS 交流会上呈现了一个演讲,他在演讲中介绍了 Uber 是如何使用 NodeJS 的,并指出未来的发展需要社区不断扩大 NodeJS 的边界。从 Uber 的 GitHub 主页上可以了解到 Uber 的很多关键系统都在使用 NodeJS。

4. IBM

IBM 也在拥抱 NodeJS。来自 IBM 的 Myles Borins 在不久前召开的 NodeJS 交流会上分享了他们在 NodeJS 方面的经验。他说:“2015 年 10 月,我被指派负责 Canary in the Gold Mine(CITGM)项目,它是一个冒烟测试工具,可以自动化运行各种 NodeJS 模块的单元测试。CITGM 非常成功,它找出了 NodeJS 生态系统和 NodeJS 内核的各种衰退问题。”

5. 微软

微软也在拥抱 NodeJS,他们直接将 NodeJS 集成到 Azure 平台,并发布了一系列 NodeJS 相关教程,甚至计划为 NodeJS 创建分支,使用他们自己的 Edge JavaScript 引擎替代 Chrome 的 V8 来构建自己的 NodeJS 版本。


感谢徐川对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-08-27 19:007739
用户头像

发布了 322 篇内容, 共 158.7 次阅读, 收获喜欢 148 次。

关注

评论

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

工厂模式(四)泛型工厂之MyBatis Mapper代理

LSJ

Java 设计模式 泛型 工厂注册中心

Kafka系列9:面试题是否有必要深入了解其背后的原理?我觉得应该刨根究底(上)

z小赵

大数据 kafka 实时计算

写博客的那些事

shengjk1

ARTS week2

紫枫

ARTS 打卡计划

Apache DolphinScheduler新特性与Roadmap路线

代立冬

大数据 数据中台 工作流调度 海豚调度 数据湖调度

工作 vs 生活

shengjk1

时代在变,产品运营能力很重要

punkboy

程序员 程序人生 产品经理 产品推荐 程序媛

Element-UI实战系列:Table+Pagination组件实现已选和全选功能

码上生长

Vue 大前端 Element

ARTS打卡第一周5.25-5.31

我笔盒呢

ARTS打卡Week 02

teoking

objective-c LeetCode WebRTC

ARTS Week1

姜海天

RocketMQ - 如何实现事务消息

Java收录阁

RocketMQ

ARTS week 2

刘昱

你会写测试用例吗

如何用CSS选择符(数字开头) 杀死队友

德育处主任

Java html css3 大前端 Web

John 易筋 ARTS打卡Week 02

John(易筋)

ARTS 打卡计划 ARTS活动 arts

【ARTS打卡】Week01

Rex

学习

愚蠢写作术(1):怎么让你的标题被读者忽视

史方远

个人成长 写作

draw.io-取代visio的流程图绘制工具

Rice嵌入式开发技术分享

chrome vscode 写文章神器 draw.io

【5月】本月读书学到了什么

Neco.W

创业 读书感悟 阅读量

做PO难,难于上青天

刘华Kenneth

敏捷 产品经理 决策 PO

游戏夜读 | 关于构图的困难

game1night

MAC OS 下 HomeBrew 使用

耳东@Erdong

macos brew homebrew

B端产品经理养成记(1):业务场景

涛哥 数字产品和业务架构

产品经理 需求 产品开发

B端产品经理养成记(2):用户故事

涛哥 数字产品和业务架构

产品经理 需求 产品开发

钢铁侠马斯克之仰望星空

池建强

创业 马斯克 Space X

不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...

JackTian

GitHub 学习 开源 程序员 编码

转行程序员浅谈进程间的socket通信

WB

Linux 程序员 socket

使用Kotlin语言初始化数组

mengxn

数组 kotlin 初始化

RocketMQ - 高可用设计

Java收录阁

RocketMQ

【openlayers】在vue中使用ol

德育处主任

Java html Vue 地图 openlayers

JavaScript正在吞噬这个世界_JavaScript_Anthony Delgado_InfoQ精选文章