hono


🚀Ultrafast & Lightweight
The router RegExpRouter is really fast. The hono/tiny preset is under 14kB. Using only Web Standard APIs.
🌍Multi-runtime
Works on Cloudflare, Fastly, Deno, Bun, AWS, or Node.js. The same code runs on all platforms.
🔋Batteries Included
Hono has built-in middleware, custom middleware, third-party middleware, and helpers. Batteries included.
😃Delightful DX
Super clean APIs. First-class TypeScript support. Now, we've got "Types".

honoXとの関係は?

Hono - means flame🔥 in Japanese
あ、Honoって炎なのか!あれ、国産?
npm create hono@latest
Hono is a simple web application framework similar to Express, without a frontend.
なるほど、Expressのポジションなのか。
ユースケース
- Building Web APIs
- Proxy of backend servers
- Front of CDN
- Edge application
- Base server for a library
- Full-stack application

めちゃ国産だった

getting-started
expressと似たような感じ。テキスト/JSON/HTMLとか返せる。JSXも使えるぽい。
import { Hono } from 'hono'
const app = new Hono()
app.get('/', (c) => {
return c.text('Hello Hono!')
})
export default app

Cloudflareを最初想定して作っただけに親和性は高そうだし推してそう。Cloudflareはjs edge runtimeくらいのイメージしかないが…
CDN世界1位なのか。8割はすごい。cloudfrontと何が違うの。
cloudfrontの強化版がcloudflareみたいなイメージ?
Cloudflareはセキュリティに重点を置いたCDN(コンテンツデリバリネットワーク)ですが、CloudFrontは速度の最適化を専門としています。
CloudflareはCDNとDDoSの保護、およびWebアプリケーションファイアウォール(WAF)を顧客に提供するサービスに対して、Cloudfrontは単なるCDNプロバイダーであり、コンテンツ配信の高速化以外の利点はありません。
Cloudflareの当初の目的の1つは、通常のWebサーバーよりもDDoS攻撃に対する保護を強化することでした。
11.もう1つの重要な違いは、Cloudflareはセットアップと構成が簡単であるのに対し、Cloudfrontはセットアップにさらに手間がかかることです。

Cloudflare Pagesってなんや。Cloudflare Workersも
Cloudflare Pagesはたぶんgithub pages的なやつ。名前も寄せてきている気がする。
Cloudflare Workersは、サーバーレス機能をエンドユーザーのできるだけ近くで実行できるようにするためのプラットフォームです。
Cloudflare Workerの使用とService Workersの使用の主な違いの1つは、Service Workersはクライアント側で実行され、ユーザーのブラウザーでダウンロードする必要があるのに対して、Cloudflare Workersは、ユーザーとその他のインターネットとの間のCloudflareネットワークのエッジで実行され、ネットワーク自体内で効果的に実行されます。
うーむ…?ServiceWorker分かってないからわからない感。ServiceWorkerってクライアントで動く別スレッド?的な認識だった。それをサーバにもってきたってこと…?なぜ?
5年前

HonoX
HonoXとは一言で言うと「HonoとViteを組み合わせたメタフレームワーク」です。HonoX自体が機能を提供しないのが肝です。
ルーティングとかが追加されてる?
部分的にインタラクションを足すために、Islandsアーキテクチャを採用しています。
なんかSuspenseとかもあるな。

- File-based routing - You can create a large application like Next.js.
- Fast SSR - Rendering is ultra-fast thanks to Hono.
- BYOR - You can bring your own renderer, not only one using hono/jsx.
- Islands hydration - If you want interactions, create an island. JavaScript is hydrated only for it.
- Middleware - It works as Hono, so you can use a lot of Hono's middleware.

なんとなくおもしろそう。機能が薄いうちに内部とか見てみたいが…