Hono Conference #1
この記事は英語で書かれた原文をAIが翻訳したものです。
Hono Conference #1
2024年6月22日、東京で初の「Hono Conference」が開催されました。Honoだけにフォーカスした初めてのイベントということで、「Our first step」というサブタイトルを付けました。参加者は100名で、大盛況のイベントとなりました。
この記事では、Hono Conferenceの様子をレポートします。
会場
会場はdocomo R&D OPEN LAB ODAIBAさんにご提供いただきました。広くて素敵な会場でした。ありがとうございました!

参加者
参加者は以下のページで募集しました。
https://hono.connpass.com/event/319062/
定員90名に対して140名の応募がありました。イベントの人気ぶりがうかがえます。当日はスピーカーを含めて100名が参加しました。

Honoを使ったことがあるかと尋ねたとき、ほぼ全員が手を挙げたのは印象的でした。
トーク
イベントは13時から16時30分までの3時間半、すべてトークで構成されました。トラックは4つありました。
- Contributor Track
- Panel Discussion
- User Track
- Keynote Speech
スケジュールは以下の通りです。

それぞれのトークを見ていきましょう。発表はすべて日本語で行われましたが、スライドは英語だったので、英語がわかる人にも理解できる内容になっています。
Contributor Track
Honoプロジェクトのコントリビューター3名が登壇しました。
Adaptor, Helmet, SSG by watany-dev

彼はAWS LambdaとLambda@Edge向けのアダプタ、ExpressのHelmetに相当するSecure Headersミドルウェア、そしてStatic Site Generation用のヘルパーを開発してきました。HonoはもともとCloudflare Workers向けに作られましたが、すべてのJavaScriptランタイムとプラットフォームで動くことを目指しています。AWSのサポートはHonoのユーザーベース拡大に貢献し、それがプロダクトの品質向上にもつながっています。
彼はAWS CDKで使えるTypeScriptベースのフレームワークを探していてHonoに出会ったそうです。HonoのStreamをAWS Lambdaで動くようにした話もあり、エキサイティングでした。

@hono/awsを作るかもしれないという話が印象に残っています。
スライドはこちら: https://speakerdeck.com/watany/adaptor-helmet-ssg
Third-Party Framework Development with Hono by sor4ch

彼はHonoでStreamをサポートするヘルパーの作者であり、公式のHonoプロジェクトの外でもHono StorageやHono DOといったプロジェクトを手がけています。

Hono DOはDurable ObjectsをHonoで簡単に扱うためのラッパーです。とても有望に見えましたが、Workersの新しいRPC機能によって、もう必要なくなるかもしれないとのことでした😭
Hono向けのミドルウェアをゼロから作る方法や、Honoを拡張する方法全般を紹介してくれました。Contextのset/getをDependency Injection (DI)に使う話は、他の多くのトークでも取り上げられていました。

スライドはこちら: https://slides.monica-dev.com/hono-conf-2024/#/1
Can Hono be Wrapper for Cross-Runtime? by nakasyou

驚くことに、彼は中学生のコントリビューターです!年齢に似合わず、とても示唆に富んだトークでした。まず、多くの古いコンピューティング環境で動くPHPを例に挙げ、次に新世代の言語であるJavaScriptがCloudflare、Vercel、Deno Deploy、Netlifyといったプラットフォームで動いていることを語りました。

しかし、Web Socketsの扱いのように、すべてのコードがこれらのプラットフォーム間で同一というわけではありません。そのギャップをHonoが埋められるのではないか、という提案でした。

素晴らしい!
Panel Discussion

私を含む4名のパネリストとモデレーターによる50分のディスカッションでした。私はHonoでWeb標準だけを使うことへのこだわりについて話しました。ほかにも次のようなトピックについて議論しました。
- Honoで実現したいこと
- React
- 競合
- ミーティング
- 開発チーム
- State of JavaScript / JSNation
- Honoへの思い
自分が参加していたのであまり詳細を覚えていないので、雰囲気が伝わる写真をいくつか載せておきます。

ちなみに、この記事の写真はsyumaiさんとsor4chさんが撮影してくれたものです。
User Track
Honoを実際のアプリケーションで使っているユーザーによるトークセッションです。
Why Choose Hono? & Tech Stack for the Future by gunta

彼は自身の技術スタックの過去・現在・未来について語りました。CPU時間のみに課金されるコスト効率の良さから、Cloudflare WorkersはAIアプリケーションのゲームチェンジャーだと表現していました。Honoは、Cloudflare Workersに加えてGCP、AWS、Azure、Bunでも動くフレームワークとして選ばれたそうです。CyberAgentでのHonoのユースケースも共有してくれました。さらに、バンドラー、パッケージマネージャー、データベースORM、認証プラットフォームなど、さまざまなトピックにも触れました。
彼はライブラリのEffectを絶賛していて、EffectでHonoのミドルウェアを作り、カンファレンス当日の朝にPRを出したという話にはぐっときました。

スライドはこちら: https://gunta.github.io/talks/1
Using Hono in B2B SaaS Application by sugar-cat7

生成AIを活用してビジネスを強化するプラットフォームAI WorkerのAPIサーバーで、HonoとBunを使っている事例を共有してくれました。

AIを使うので、ストリーム処理が欠かせません。HonoのSSE対応のStreamヘルパーを活用しているそうです。また、ファイルアップロードのバリデーションには@hono/zod-validatorを使っています。B2B環境でのテナント管理やセキュリティメトリクスにもHonoを使っているとのことでした。
スライドはこちら: https://speakerdeck.com/sugarcat7/using-hono-in-b2b-saas-application
ちなみに、sugar-cat7さんはカンファレンス直前に「2024年版 Honoの使い方大全」という濃い記事を書いています。ぜひご覧ください。
Event Exhibition with Hono by naporin0624

大阪関西国際芸術祭に出展したインタラクティブな映像システムで、HonoとCloudflareを使った事例を共有してくれました。こうしたイベントには、コスト効率の良さとCloudflare TunnelおよびAccessの便利さから、Cloudflareがおすすめだそうです。データベースにはD1、ストレージにはR2を使っています。Cloudflareを使うならHonoはぴったりです。
たとえば、RemixのフロントエンドとHonoのバックエンドの間で型安全なAPI通信を行う方法をデモしてくれました。まずHonoでREST APIを書き、その型定義をRemixアプリと共有することで、型安全なAPIクライアントができあがります。

また、Honoをリバースプロキシとして使い、getPathオプションでホスト名ベースのルーティングを行う事例も共有してくれました。

Honoはとても便利です。
スライドはこちら: https://speakerdeck.com/naporin0624/event-exhibition-with-hono
What Hono brought to student organizations? by sushi-chaaaan

大学の団体でライブコンサートの予約システムにHonoとCloudflare Workersを使った事例を共有してくれました。学生にとってはランニングコストを低く抑えることが重要で、無料プランを使いたいところです。今はCloudflareを使っていますが、より安いプラットフォームが登場したら乗り換えられるというHonoの特性をありがたく思っているそうです。
アプリケーションアーキテクチャの例でも、フロントエンドにRemixを使い、RPCで通信していました。

HonoはWeb開発の学習にも向いています。たとえば、HTMLレスポンスを返す方法が3通りあるので、段階的に学習を進められます。

スライドはこちら: https://www.docswell.com/s/sushi-chaaaan/5RXLG3-2024-06-22-honoconf
Hono with database on browser playground by inaridiy

Hanabi.RESTを開発する3名が発表してくれました。彼らは大学生と高校生です。Hanabi.RESTは、ユーザーが入力したプロンプトをもとにAIがHonoでREST APIを作るサービスです。ユーザーはブラウザから直接アプリケーションを実行・編集し、Cloudflare Workersにデプロイできます。

Hanabi.RESTのバックエンドの紹介では、構築されたAPIがSQLiteベースのデータベースであるD1を使えるようになっていました。SQLite WASMでブラウザ上にSQLiteをエミュレートし、それをD1用にラップするという巧妙なトリックです。

Monacoエディタ上でTypeScriptの型情報を提供する話もありました。
スライドはこちら: https://hono-conf.hanabi.rest/1
Keynote Speech by usualoma

キーノートは、私に次いでHonoへのコミットが2番目に多いusualomaさんが務めました。
キーノートで語られた面白いエピソードは、私たちのGitHub上でのコミュニケーションについてで、新年の挨拶までGitHubで交わしていたという話でした。

GitHub上では頻繁にやり取りしているにもかかわらず、実際に会ったのはこのイベントを含めて2回だけです。とはいえ、GitHubでの非同期コミュニケーションは私たちに合っているようです。
メインテーマは、2020年代にWebフレームワークを開発するとはどういうことか、でした。彼によれば、ExpressやRailsといった既存のバックエンドフレームワークを再定義し、Web標準やTypeScriptといった新しい技術を取り入れ、Cloudflare、Deno、Bun、Node.jsといった複数のランタイムをサポートすることが重要です。私たちはそれをHonoでやっています。
スライドはこちら: https://speakerdeck.com/usualoma/we-can-develop-a-framework
エンディング
最後に、参加者、コントリビューター、ユーザーの皆さんに感謝を伝えてイベントを締めくくりました。驚くべきことに、コントリビューターは160名になりました!ありがとうございます!

まとめ
イベントは13時から16時30分までの3時間半でした。発表の後、スピーカーたちは居酒屋で懇親会を開き、ラップトップを開いて新しいAPI機能について議論していました。

参加者の満足度は高かったようで、Xのハッシュタグにはポジティブなコメントがたくさん寄せられました。また、こちらの記事でも素晴らしい感想をいただきました。Honoを取り巻く盛り上がりを感じられます。
中学生や大学生を含む若いスピーカーが多かったこと、そして初めて公の場で発表する人もいたことも印象的でした。彼らにとって良い機会になったと思います。
来年もまた開催するのか?大変そうですが、海外からの参加者も迎えた、もっと大きなカンファレンスを開催したいと思っています。また会いましょう!
