Open12

hono

kzk4043kzk4043
kzk4043kzk4043

🚀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".

kzk4043kzk4043

Hono

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
kzk4043kzk4043

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
kzk4043kzk4043

Cloudflareを最初想定して作っただけに親和性は高そうだし推してそう。Cloudflareはjs edge runtimeくらいのイメージしかないが…

https://www.accelia.net/column/beginners/6462/

CDN世界1位なのか。8割はすごい。cloudfrontと何が違うの。

https://www.maruweb.co.jp/solution/magento/media/徹底検証-cloudflareとcloudfrontの違いは何!?/

cloudfrontの強化版がcloudflareみたいなイメージ?

Cloudflareはセキュリティに重点を置いたCDN(コンテンツデリバリネットワーク)ですが、CloudFrontは速度の最適化を専門としています。
CloudflareはCDNとDDoSの保護、およびWebアプリケーションファイアウォール(WAF)を顧客に提供するサービスに対して、Cloudfrontは単なるCDNプロバイダーであり、コンテンツ配信の高速化以外の利点はありません。

Cloudflareの当初の目的の1つは、通常のWebサーバーよりもDDoS攻撃に対する保護を強化することでした。
11.もう1つの重要な違いは、Cloudflareはセットアップと構成が簡単であるのに対し、Cloudfrontはセットアップにさらに手間がかかることです。

kzk4043kzk4043

Cloudflare Pagesってなんや。Cloudflare Workersも

https://zenn.dev/kameoncloud/articles/38459d60d56284

Cloudflare Pagesはたぶんgithub pages的なやつ。名前も寄せてきている気がする。

https://www.cloudflare.com/ja-jp/learning/serverless/serverless-javascript/#:~:text=Cloudflare Workersとは?,するためのプラットフォームです。

Cloudflare Workersは、サーバーレス機能をエンドユーザーのできるだけ近くで実行できるようにするためのプラットフォームです。
Cloudflare Workerの使用とService Workersの使用の主な違いの1つは、Service Workersはクライアント側で実行され、ユーザーのブラウザーでダウンロードする必要があるのに対して、Cloudflare Workersは、ユーザーとその他のインターネットとの間のCloudflareネットワークのエッジで実行され、ネットワーク自体内で効果的に実行されます。

うーむ…?ServiceWorker分かってないからわからない感。ServiceWorkerってクライアントで動く別スレッド?的な認識だった。それをサーバにもってきたってこと…?なぜ?

https://zenn.dev/s_takashi/articles/b01980461f3b21
https://qiita.com/poster-keisuke/items/00056b8d5d6275afdb1a

5年前

kzk4043kzk4043

HonoX

https://zenn.dev/yusukebe/articles/724940fa3f2450

HonoXとは一言で言うと「HonoとViteを組み合わせたメタフレームワーク」です。HonoX自体が機能を提供しないのが肝です。

ルーティングとかが追加されてる?

部分的にインタラクションを足すために、Islandsアーキテクチャを採用しています。

なんかSuspenseとかもあるな。

kzk4043kzk4043

https://github.com/honojs/honox

  • 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.
kzk4043kzk4043

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