网易首页 > 网易号 > 正文 申请入驻

WinterCG 社区正式成立,前端代码终于可以运行在后端了

0
分享至

作者 | 孙瑞瑞

5 月 9 日,Cloudflare 在其官方博客宣布,将与 Node.js 和 Deno 开源项目的核心贡献者合作,成立一个新的社区组,命名为 WinterCG(Web-interoperable Runtimes Community Group),该项目汇集了三个最大的 JavaScript 环境,为开发人员提供了灵活性和选择,同时创建边缘计算的未来标准。通过一套通用标准,允许在 Node.js、Deno 和 Cloudflare 无服务器环境中编写可移植的应用程序,同时不再需要重写代码,实现“编写一次,随处运行”的承诺。

Cloudflare 联合创始人兼首席执行官 Matthew Prince 表示,“这是一个以前无法实现的壮举。JavaScript 正在被数以百万计的开发人员使用,也是一般开发者学习的第一种语言。到目前为止,JavaScript 标准完全集中在前端,比如浏览器。” Matthew Prince 补充道,“通过对核心 JavaScript API 的标准化,同时兼顾到前端和后端,这样可以授权前端开发者以一种熟悉的方式,更多更便捷地访问后端。”

针对这个消息,我们采访了 Deno 核心贡献者 justjavac(迷渡)老师,他表示:“这个社区早该成立了!这样可以让云计算或者边缘计算的平台提供和 Web 一致的 API,而不是各自开发自己的 API。对于社区开发者来说,不再需要额外学习一套 API,写一套代码就可以部署到不同平台。”

1 WinterCG 社区成立的初衷是什么?

据 Cloudflare 官方说明, WinterCG 社区组的本质在于为 JavaScript 运行时提供一个空间,以便于在 API 互操作性方面进行协作。这种协作大致包括三个方面,分别是:运行时之间的讨论;现有规范社区(WHATWG、W3C)中的 Web API 的提案,包括现有提案和新提案;完善和维护现有运行时行为的文档。

对此,justjavac(迷渡) 认为,在 Node.js 发布的时候,还没有那么多的 Web API 规范,于是 Node.js 设计了一套服务器端 API,像 Deno 在设计之初就直接复用了 Web API,大部分 JavaScript 开发者都非常熟悉这些 API,比如 fetch、URL、TextEncoder 等。后来 WHATWG 制定了很多 Web API 规范,Node.js 的最近版本也开始添加了符合 WHATWG 规范的 API。

然而这些 Web API 又不能 100% 按照标准在服务器端实现,毕竟 Web 标准是为浏览器制定的,如果每个服务器端运行时都按自己的方式进行调整,最终的结果就是代码只能运行在特定的某一个平台上,这也是 Cloudflare 成立 WinterCG 的初衷。

不难看出,新成立的 WinterCG 将更加直接关注非 Web 浏览器的特定需求的实现,与目前专注于 Web 平台功能和 API 开发的现有社区组织形成了互补作用。WinterCG 的目标更加清晰:关注在后端服务器、无服务器计算、物联网、命令行工具等环境中实现这些相同的特性。

像 Cloudflare Workers 这样的无服务器环境,或者像 Node.js 和 Deno 这样的运行时,都有诸多广泛的问题与不同的需求,这些都与 Web 浏览器无关,反之亦然。最终,在开发各种规范时,这些差异性需求的脱节和缺失,就导致了一种情况——非浏览器运行时已经实现了它们自己定制的、临时的解决方案,并且已经运行在了各个生产环境中。

WinterCG 社区的成立就是为了改变以上问题,它提供了一个讨论和倡导所有 Web 环境的共同需求的场所,可以部署在堆栈的任何地方。对于开发人员来说,代码的可移植性非常重要,如果你写完一套代码,想要把它迁移到不同的环境中(例如,从 Node.js 到 Deno)去运行的话,你应该也不想完全重写一遍吧?

Cloudflare Workers、Node.js、Deno 和 Web 浏览器都有很大的不同,但它们共享了很多共同的功能。例如,它们都提供了用于生成加密哈希的 API;它们都以某种方式处理流数据;它们都提供了向某处发送 HTTP 请求的能力。如果存在重叠,并且需求和功能是相同的,那么环境都应该实现相同的标准化机制。

所以,WinterCG 通过制定一套通用标准的方式,让开发人员只需要关心他们编写的代码能够正常运行即可,而不管代码在哪里运行。

2 WinterCG :不打算发布一套独立的标准 API 集

据报道,新的 WinterCG 社区组将在 W3C 的既定流程下运行。

从小组的命名可以看出,关键点在于“web-interoperable”。据官方解释,此处使用的“web”的含义与 W3C 以及 WHATWG 社区使用的术语完全相同。确切地说法便是“web 浏览器”。因此,术语“web-interoperable”意味着以一种与 web 浏览器相同或至少尽可能一致的方式实现功能。例如,新的 URL() 构造函数在浏览器中的工作方式与新的 URL() 构造函数在 Node.js、Deno 和 Cloudflare Workers 中的工作方式完全相同。

对于 WinterCG 来说,承认 Node.js、Deno 和 Cloudflare Workers 明确不是 web 浏览器这一事实很重要。虽然这一点显而易见,但仍有必要指出,因为各种 JavaScript 环境之间的差异可能会极大地影响标准化 API 的设计决策。

对此,官方举例说明,Node.js 和 Deno 都提供对本地文件系统的完全访问。相比之下,Cloudflare Workers 没有本地文件系统;并且 Web 浏览器必然会限制应用程序操作本地文件系统。同样,虽然 Web 浏览器固有地包括一个网站“origin”的概念并实现 CORS 等机制来保护用户免受各种安全威胁,但在 Node.js, Deno 和 Cloudflare Workers 操作的服务器端却没有相同的“origin”概念。

到目前为止,W3C 和 WHATWG 都非常关注 Web 浏览器的需求。WinterCG 这一新的 Web 可互操作的运行时社区组将明确地处理并倡导每个人的需求。

对此,WinterCG 也表示,自己并不打算发布一套独立的标准 API 集。WinterCG 中发布的新规范的想法也会先提交给 W3C 和 WHATWG 进行考虑,以获取和达到更多的共识。但是,如果 Web 浏览器对其他环境 (如 Cloudflare Workers) 所需要的功能没有特别的需求,WinterCG 将被授权以自己发布的规范进行推进。前提约束是不会有意引入与已建立的 Web 标准相冲突或不兼容的内容。

3 最小通用 Web API

“最小通用 Web 平台 API 是标准化 Web 平台 API 的一个精心设计的子集,旨在定义浏览器和非浏览器基于 JavaScript 的运行时环境的通用功能的最小集合。”这是目前规范草案中的相关介绍。

换个说法来说:它是一组最小的现有 Web API,将在 Node.js、Deno 和 Cloudflare Workers 中一致且正确地实现。大多数 API(除了一些例外和细微差别)已经存在于这些环境中,因此剩下的大部分工作是确保这些实现符合它们的相关规范并且可跨环境移植。

WinterCG 表示,每当某个环境偏离 API 的标准化定义时 (比如 Node.js 对 setTimeout() 和 setInterval() 的实现),就会提供描述这些差异的清晰文档。而这种差异应该只存在于与现有代码的向后兼容性中。

除此之外,WinterCG 目前已经开始起草 “Web Crypto Streams”的新规范,并提交给 W3C 进行考虑。Web Cryptography API 为常见的加密操作提供了一个最小并且非常有限的 API ,它的主要限制之一是与 Node.js 的内置 crypto 模块不同。Deno 是直接按 web crypto 规范实现的,而 Node 的内置 crypto 模块很早就开发完了,此次根据 Deno 和 Node.js 的现有实现制定规范,这为以后对其他平台的实现来说将更加方便与规范化。

针对目前 Node.js、Deno 和 Cloudflare Workers 实现 fetch() 的方式与在 web 浏览器中实现的方式有许多重要差异的问题,也为了使非 Web 浏览器环境更容易以一致的方式实现 fetch ,WinterCG 正在编写获取 fetch 的一个子集,专门处理那些不同的需求和约束。这个子集将与 fetch 标准完全兼容,并且由在 Node.js、Deno 和 Cloudflare Workers 中从事 fetch 工作的同一批人合作开发。这也不会成为 fetch 标准的竞争定义,而是一组关于如何在其他环境中正确实现 fetch 的文档化指南。

4 WinterCG:我们才刚刚开始

WinterCG 表示,Web 可互操作的运行时社区组才刚刚起步,他们有许多雄心勃勃的目标。所有人都可以参与,所有工作都将通过 GitHub 的 https://github.com/wintercg 公开完成。目前,WinterCG 正在积极寻求与 W3C、WHATWG 和整个 JavaScript 社区的合作,以确保 Web 功能可用、始终如一地工作,并满足在堆栈中任何地方工作的所有 Web 开发人员的要求,它所做的一切都将以最大化互操作性为目标。

最后,感谢 justjavac(迷渡)老师的专业观点以及对本文的指导。

https://wintercg.org

https://github.com/wintercg/admin

https://blog.cloudflare.com/introducing-the-wintercg/

https://www.w3.org/community/wintercg/

https://deno.com/blog/announcing-wintercg

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
扎心的问题:这个社会那么多人失业、没工作,他们是怎么活下去的

扎心的问题:这个社会那么多人失业、没工作,他们是怎么活下去的

慧翔百科
2026-06-29 11:30:42
连战回忆录爆出惊人观点:要统一先正视“中华民国”?大陆怎么接

连战回忆录爆出惊人观点:要统一先正视“中华民国”?大陆怎么接

老腘的世界视角
2026-07-09 19:20:47
以身入局?女生给裸鼠种瘤子被针扎破皮,10 天后长出不明肿块,网友:这得算工伤

以身入局?女生给裸鼠种瘤子被针扎破皮,10 天后长出不明肿块,网友:这得算工伤

生物学霸
2026-07-14 17:51:29
阿努廷,将访华

阿努廷,将访华

政知新媒体
2026-07-13 15:21:06
微信视频电话越来越没人用了,只因这4个弊端,看完你还敢打吗?

微信视频电话越来越没人用了,只因这4个弊端,看完你还敢打吗?

普陀动物世界
2026-07-13 12:17:39
为什么历史学家会普遍认为,公元536年是世界上最可怕的一年?

为什么历史学家会普遍认为,公元536年是世界上最可怕的一年?

老达子
2026-06-28 06:55:03
队报:勒泰西耶不再执法2026世界杯

队报:勒泰西耶不再执法2026世界杯

懂球帝
2026-07-13 23:08:07
男子醉酒后住酒店死亡,两同饮者赔26万后,家属再起诉5人及酒店等索赔150万

男子醉酒后住酒店死亡,两同饮者赔26万后,家属再起诉5人及酒店等索赔150万

红星新闻
2026-07-14 15:59:00
坠崖女驴友45分钟被秃鹫啃成白骨,杀伤力多恐怖?

坠崖女驴友45分钟被秃鹫啃成白骨,杀伤力多恐怖?

普陀动物世界
2026-07-12 08:18:08
山西省太原市人大常委会副主任冯原平被查

山西省太原市人大常委会副主任冯原平被查

新京报
2026-07-14 11:43:15
吴梦洁的复出时间!

吴梦洁的复出时间!

眼界纵横
2026-07-14 19:20:07
时间很巧妙!刚赢茉莉奶白千万官司,LV转头把国家知识产权局告了?

时间很巧妙!刚赢茉莉奶白千万官司,LV转头把国家知识产权局告了?

王爷说图表
2026-07-14 16:46:12
世界杯刚出局就被甩!阿森纳清洗冠军功臣!1700 万甩卖换新人

世界杯刚出局就被甩!阿森纳清洗冠军功臣!1700 万甩卖换新人

澜归序
2026-07-14 05:14:42
新疆旅游“断崖式下滑”?真实情况:人未少,消费低,行业洗牌

新疆旅游“断崖式下滑”?真实情况:人未少,消费低,行业洗牌

简简单单的说
2026-07-14 07:44:02
58年,毛主席偶然得知王范被连降10级,顿时大怒:万万不能瞎胡闹

58年,毛主席偶然得知王范被连降10级,顿时大怒:万万不能瞎胡闹

大运河时空
2026-07-14 16:30:03
二百架波音大单落地,中方成功从美国手中,换回一个关键承诺

二百架波音大单落地,中方成功从美国手中,换回一个关键承诺

娱乐的硬糖吖
2026-07-14 15:11:48
男学生扶老太被讹6万,5年后老人摔倒两人又重逢,男孩当场愣住

男学生扶老太被讹6万,5年后老人摔倒两人又重逢,男孩当场愣住

兰姐说故事
2025-07-05 20:05:03
男子把“帮忙充话费”当性暗示,夜闯女邻居家意图发生性关系,被发现后谎称抢劫!

男子把“帮忙充话费”当性暗示,夜闯女邻居家意图发生性关系,被发现后谎称抢劫!

大风新闻
2026-07-14 11:32:20
2026年高考:上海市浦东新区全部高中,580分以上纯文化裸分汇总

2026年高考:上海市浦东新区全部高中,580分以上纯文化裸分汇总

音乐时光的娱乐
2026-07-14 20:16:38
赖清德天塌了!蒋万安打响第一枪,大陆接到消息:岛内局面一边倒

赖清德天塌了!蒋万安打响第一枪,大陆接到消息:岛内局面一边倒

阿筀田间生活
2026-07-14 11:20:11
2026-07-14 22:08:49
InfoQ incentive-icons
InfoQ
有内容的技术社区媒体
12653文章数 51982关注度
往期回顾 全部

科技要闻

AI失业风险正在逼近 "我们连未来都看不清"

头条要闻

美国无视中方反对宣布对伊朗实施海上封锁 外交部回应

头条要闻

美国无视中方反对宣布对伊朗实施海上封锁 外交部回应

体育要闻

“爱哭鬼”教练,凝聚了一盘散沙的阿根廷

娱乐要闻

施南生离世,成龙、甄子丹等发文悼念

财经要闻

为什么说智谱是中国版Anthropic是伪命题

汽车要闻

激光雷达+智舱 看吉利星瑞L PLUS如何让燃油车也更智能

态度原创

时尚
教育
手机
公开课
军事航空

孔刘再求婚、金高银牵手撒糖,他俩从CP到穿搭都很好品

教育要闻

从课堂共享到城市赋能,成都城市共享课堂的进阶之路

手机要闻

一图读懂REDMI Note 17 Pro:国民手机5年流畅耐用 1599元起

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

美军宣布将于14日恢复对伊朗的海上封锁

无障碍浏览 进入关怀版