新聞 | iThome ( ) • 2024-04-09 23:44

Cloudflare无伺服器运算服务Workers除了JavaScript之外,现在也开始支援Python程式语言。Cloudflare将Python实作整合进开源Workers执行环境workerd,使得开发人员可以使用Python来编写Cloudflare Workers程式码。

官方强调,Workers对Python的支援,与过去支援JavaScript外的程式语言方法不同。由于Worker使用JavaScript引擎V8,每个Worker都可被视为隔离的运作实体,原则上所有语言包括Python,开发者只要将程式码编译为WebAssembly或是JavaScript,便可以在Workers中运作。

不过,官方表示,在实际开发中,就算该方法可行,也不代表足够简单或是可靠,能够被用于建构完整的应用程式。要建置完整的应用程式,还需要具备开发者可用的套件生态系,Cloudflare表示,对于平台而言,真正支援特定语言,要做的事远比能够以外部工具链编译程式码还要多。

而现在Cloudflare Workers对Python提供一级支援(First-Class Support),将Pyodide整合至workerd中,开发者不需要使用额外的工具链或是预编译步骤,Cloudflare Workers直接提供了Python执行环境,就如同Workers支援JavaScript一样。

Pyodide可以将CPython移植到WebAssembly,这使得Python程式码不需要被预编译成为其他格式,就能直接在网页浏览器中被解释和执行。此外,Pyodide忠于CPython的行为和功能特性,提供了符合Python开发者期望的Python标准函式库,同时还实作了JavaScript的外部函式介面,使得Python程式码能够直接呼叫JavaScript API,方便Python程式码与网页其他部分互动。

而且Pyodide还支援许多热门的开源Python套件,能够直接从PyPI导入纯Python开发的套件,这对在网页环境使用Python提供丰富的生态系。

Python Workers目前仍在早期阶段,官方提到他们会与社群合作,并且提供开发者需要的Python套件支援。