Web 標準
Hono では、fetch
関数で元々使用され、HTTP リクエストとレスポンスを処理する基本オブジェクトで構成される Fetch などの Web 標準 のみを使用します。Requests
と Responses
に加え、URL
、URLSearchParam
、Headers
などがあります。
Cloudflare Workers、Deno、Bun も Web 標準を基盤としています。たとえば、「Hello World」を返すサーバーは次のように記述できます。これは、Cloudflare Workers と Bun で実行できます。
ts
export default {
async fetch() {
return new Response('Hello World')
},
}
Hono は Web 標準のみを使用するため、Hono はそれらをサポートする任意のランタイムで実行できます。さらに、Node.js アダプターがあります。Hono は、次のランタイムで動作します。
- Cloudflare Workers (
workerd
) - Deno
- Bun
- Fastly Compute
- AWS Lambda
- Node.js
- Vercel (edge-light)
Netlify やその他のプラットフォームでも動作します。同じコードがすべてのプラットフォームで実行されます。
Cloudflare Workers、Deno、Shopify などでは、「Web の相互運用性」を実現するために Web 標準を使用する可能性について議論するための WinterCG を立ち上げました。Hono はその足跡をたどり、Web 標準の標準を目指します。