宣布 Web 互操作运行时社区组
正如您从我们之前 的博客 文章中了解到的那样,我们认为 Deno 的 web 互操作性非常重要。我们竭尽全力确保不必经常发明新的 API,而是使用网络开发者已经从浏览器中熟悉的现有标准。
用户反馈表明,这种以 web 为先的 API 设计方法对于 Deno 的用户来说非常重要。这很有道理 - 这意味着当使用 Deno 时,您不是在学习新的平台特定 API 或功能,而是在投资于您对世界上最大、最重要的平台:web 的知识。
然而,并非一切都尽善尽美。许多网络平台 API 的设计只考虑了浏览器,而没有考虑服务器端运行时。这意味着当服务器端运行时实现这些 API 时,它们有时必须与浏览器实现和规范略有不同,以便 API 在服务器上变得有用。fetch
就是一个很好的例子:API 表面本身在服务器上运行良好,但前提是跳过 CORS,用户可以手动处理重定向,并且支持全双工 HTTP 流。
fetch
API 行为的这些细微差异存在于所有服务器端实现中,但通常没有得到充分的文档记录,并且在运行时之间不一致。为了解决这个问题,来自 Deno、Cloudflare 和其他几家公司的工程师齐聚一堂,讨论我们如何解决这个问题。我们希望使服务器端运行时彼此一致和兼容。
经过几个月的工作,我们现在很高兴地宣布成立 Web 互操作运行时社区组 (WinterCG)。这个新的 W3C 社区组的目标是推广运行时,这些运行时支持全面的统一 API 表面,JavaScript 开发者可以依赖它,而无需考虑他们使用的运行时:无论是浏览器、服务器、嵌入式应用程序还是边缘运行时。该小组的成员希望提供一个空间,以便更好地协调浏览器供应商和其他实施者之间关于如何在浏览器之外最好地实现和使用 web 平台 API 的问题。
更具体地说,我们想记录运行时实现彼此之间的差异,并弄清楚如何使它们更具互操作性。我们还希望让更广泛的网络规范社区参与到这个过程中,并向规范编辑提供关于如何调整规范以更好地为更广泛的用户群体和更多的运行时实现服务的反馈。
WinterCG 不是一个新的标准组织。因此,我们不会发布与现有网络标准社区的工作竞争的新标准。相反,我们希望与规范编辑合作,在 WHATWG 和 W3C 等场所改进现有标准。
您可以在我们的网站上了解更多关于 WinterCG 的信息:https://wintercg.org。
在此处查看 Cloudflare 关于此主题的博客文章:here。