Cloudflare Workers RPC、PythonとJavaScript間のクロス言語呼び出しに対応
Workers RPC now works across Python and JavaScript
Cloudflare Workers RPCが、Cap'n Proto RPCを基盤として、PythonとJavaScript間のクロス言語呼び出しに対応した。これにより、異なる言語で書かれたWorker間でメソッド呼び出しやオブジェクト共有が可能になり、カスタムAPIやprotobufのような言語非依存のシリアライゼーション形式なしで連携できるようになった。この機能は、WebAssemblyでコンパイルされたCPythonインタプリタであるPyodideのFFI(Foreign Function Interface)と、Python Worker向けのカスタム型変換レイヤーを組み合わせることで実現されている。Pyodide FFIは、JavaScriptとPythonのネイティブ型を相互に変換し、標準的な組み込み型については透過的な変換を提供する。ただし、RequestやResponse、Blob、FileといったWeb APIオブジェクトについては、Cloudflare Workers専用のPythonパッケージ`workers-runtime-sdk`が、これらのカスタム型をネイティブ形式に変換する役割を担う。このクロス言語RPCにより、開発者はあたかも単一言語アプリケーションを開発しているかのように、複雑なマルチ言語システムを構築できる。例えば、JavaScript WorkerからPythonパッケージであるPygmentsを利用する例も示されている。
- Cloudflare Workers RPCがPythonとJavaScript間のクロス言語呼び出しに対応した。Cap'n Proto RPCを基盤とし、Pyodide FFIとPython Worker向けカスタム型変換レイヤーを組み合わせて実現。
- JavaScript WorkerからPythonパッケージPygmentsを利用する例が示された。クロス言語RPCにより、開発者が単一言語アプリケーション開発と同様の体験でマルチ言語システムを構築できるようになった。
CloudflareのWorkers RPCがクロス言語対応を実現したことは、エッジコンピューティング基盤の開発者体験を大きく向上させる。Pyodide(WebAssembly上のCPython)とRPC基盤の組み合わせにより、マルチ言語でのWorker開発が可能になり、開発者の参入障壁を下げる。企業システムのエッジへの移行を促進する機能であり、Cloudflareのプラットフォーム成長との関連で注目に値する。