Cloudflare WorkersにBun+Honoのアプリをデプロイするハローワールドをやった

ほんとうにハローワールドをやっただけなので、それ以上の情報はないよ!

いっこあるとしたら「Cloudflare WorkersのCLIであるwrangler がBig Surでは動かなくて、Sonomaにしたら動いたよ」ってことくらい

全然知らない技術

この記事を読んで、そういえばHono [ほのー] を触ってみたいんだったなぁと思って(HonoはJSランタイム用の高速なウェブアプリケーションフレームワーク)

Next.js + Hono + AWS でイベント駆動なプロフィール交換アプリを開発!

Honoのドキュメントを眺めて

https://hono.dev/

JSのランタイムはNode.jsをいつも使ってるから、Bun [ばん]かDeno [でぃーの]を触ってみようかなと思って、どっちも触ったことがないからどっちでもよかったんだけど、なんとなくさっきの記事もそうだったからBunでやってみることにして

https://bun.sh/

せっかくなのでCloudflare Workersも使ってみたいなと思った

https://workers.cloudflare.com/

だから、Honoのドキュメントにある、このGetting Startedをやることにした

https://hono.dev/getting-started/cloudflare-workers

Cloudflare Workers

そもそもアカウントを持っていないので、そこから

https://workers.cloudflare.com/

のStart Buildingボタンを押してまずはブラウザからデプロイしてみた

最初のデプロイはなぜか動かなかった。デプロイを押したら「サインアップしてね」って出てきたのでそこでサインアップしたからかな?2回目のデプロイの方は動いた

デプロイはしたものの、Cloudflare Workersのことを全然知らないので、ここを読んで分かった気分になった

入門Cloudflare Workers

CPU時間が10msまでっての面白いな。この記事中では有料プランでも50msってなってるけど、2023年の9月に料金体系が変わって、有料プランだとCPU時間30sまでいけるようになったみたい

New Workers pricing — never pay to wait on I/O again

デプロイしたあとしばらく放っておいたら、ヨーロッパあたりから200アクセスくらいきてて、なんだろうなこれと思った。まぁ、ハローワールドだし、無料枠だし特に気にしない

そんな感じで、ひととおり管理画面を眺めて、雰囲気を楽しんでからデプロイしたアプリを1回目のも2回目のも削除した

じゃCloudflare Workersにデプロイできるようになったので、次はBunをインストールしよう

Bun

Bunをインストールした

https://bun.sh/

まったく何も分かってないけど、npm気分で使えそうな雰囲気

はい、次はいよいよHonoだな

Hono

このドキュメントでBunのタブを選択して、指示にしたがうだけ

https://hono.dev/getting-started/cloudflare-workers

プロジェクトを作って、bun i でパッケージをダウンロードするところまではよかったのだけど、bun run dev が動かない。あれー?

Error: write EPIPE みたいなエラーが出る。何事もなく進むのもつまらないなーと思ってたのでちょうどよかった

package.json には "dev": "wrangler dev src/index.ts", って書いてあるのでCloudflareのCLIであるwranglerがなんか変なんだろうな

と思って調べていったら、こんなIssueを見つけた

このIssueはクローズされていて、問題は解決しているように見える。はて・・・

僕のmacOSのバージョンはBig Surなのだけど、Big Sur以降に対応してるよって書いてある

On macOS, we now target macOS 11 "Big Sur" when building. This means any version of macOS 11 or higher (Big Sur, Monterey, Ventura, Sonoma) should be supported.

じゃあ、なんで動かないのかなー?と思いながら読み進めていったら

I saw this comment #3432 (comment) about Big Sur being supported. I was on 11.1 and that didn't work for me, upgraded to macOS 14 and now it works.

Big Sur動かんかったけどSonomaに上げたら動いたよ。って書いてあった。これかな

Sonomaにバージョンアップ

ちょうどいい機会だしSonomaに上げることにした。しばらく休憩

動いた

Sonomaにしたら、bun run dev がほんとにうごいた。わーい。からのデプロイ

ヽ(=´▽`=)ノ

満足した

Honoは、ざっとドキュメントを読んだ感じ、触りやすそうなインターフェースだなと思った。自分はFasitfy触ってるから、そんなに戸惑うことはなさそう

BunやDenoは、まだまだ何にも分かってないので、これを機会にちょこちょこ触っておこうかな。TSやESMがすっと動くのは良いー

Cloudflare Workersは、サクサクできるしColdStartもないし、制限内に収まるならいい選択肢だなーって思った

今日はこれで満足したので、晩ごはん何にするか考えながら、小説でも読んで過ごすことにする。楽しかった!!!