Tags English

Blog - Yusuke Wada

Screenshot

Hono Conference #1

#Hono

この記事は英語で書かれた原文をAIが翻訳したものです。

Hono Conference #1

2024年6月22日、東京で初の「Hono Conference」が開催されました。Honoだけにフォーカスした初めてのイベントということで、「Our first step」というサブタイトルを付けました。参加者は100名で、大盛況のイベントとなりました。

この記事では、Hono Conferenceの様子をレポートします。

会場

会場はdocomo R&D OPEN LAB ODAIBAさんにご提供いただきました。広くて素敵な会場でした。ありがとうございました!

docomo R&D OPEN LAB ODAIBA

参加者

参加者は以下のページで募集しました。

https://hono.connpass.com/event/319062/

定員90名に対して140名の応募がありました。イベントの人気ぶりがうかがえます。当日はスピーカーを含めて100名が参加しました。

Participants

Honoを使ったことがあるかと尋ねたとき、ほぼ全員が手を挙げたのは印象的でした。

トーク

イベントは13時から16時30分までの3時間半、すべてトークで構成されました。トラックは4つありました。

スケジュールは以下の通りです。

Schedule

それぞれのトークを見ていきましょう。発表はすべて日本語で行われましたが、スライドは英語だったので、英語がわかる人にも理解できる内容になっています。

Contributor Track

Honoプロジェクトのコントリビューター3名が登壇しました。

Adaptor, Helmet, SSG by watany-dev

watany

彼は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で動くようにした話もあり、エキサイティングでした。

AWS + Hono

@hono/awsを作るかもしれないという話が印象に残っています。

スライドはこちら: https://speakerdeck.com/watany/adaptor-helmet-ssg

Third-Party Framework Development with Hono by sor4ch

sor4ch

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

Pinned

Hono DOはDurable ObjectsをHonoで簡単に扱うためのラッパーです。とても有望に見えましたが、Workersの新しいRPC機能によって、もう必要なくなるかもしれないとのことでした😭

Hono向けのミドルウェアをゼロから作る方法や、Honoを拡張する方法全般を紹介してくれました。Contextset/getをDependency Injection (DI)に使う話は、他の多くのトークでも取り上げられていました。

DI

スライドはこちら: https://slides.monica-dev.com/hono-conf-2024/#/1

Can Hono be Wrapper for Cross-Runtime? by nakasyou

nakasyou

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

REIWA PHP

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

Wrapper for cross-runtimes

素晴らしい!

スライドはこちら: https://docs.google.com/presentation/d/e/2PACX-1vQn_sST3TFh7MpouKX5c62ZAFtbeNGAnVrMy_FhdKs7qg1loFw41cV00WdftxOSrg/pub?start=false&loop=false&delayms=3000&slide=id.p1

Panel Discussion

Panel Discussion

私を含む4名のパネリストとモデレーターによる50分のディスカッションでした。私はHonoでWeb標準だけを使うことへのこだわりについて話しました。ほかにも次のようなトピックについて議論しました。

自分が参加していたのであまり詳細を覚えていないので、雰囲気が伝わる写真をいくつか載せておきます。

Panel Discussion

ちなみに、この記事の写真はsyumaiさんとsor4chさんが撮影してくれたものです。

User Track

Honoを実際のアプリケーションで使っているユーザーによるトークセッションです。

Why Choose Hono? & Tech Stack for the Future by gunta

gunta

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

彼はライブラリのEffectを絶賛していて、EffectでHonoのミドルウェアを作り、カンファレンス当日の朝にPRを出したという話にはぐっときました。

Effect PR

スライドはこちら: https://gunta.github.io/talks/1

Using Hono in B2B SaaS Application by sugar-cat7

sugar-cat7

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

AI Worker Tech Stack

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

naporin0624

大阪関西国際芸術祭に出展したインタラクティブな映像システムで、HonoとCloudflareを使った事例を共有してくれました。こうしたイベントには、コスト効率の良さとCloudflare TunnelおよびAccessの便利さから、Cloudflareがおすすめだそうです。データベースにはD1、ストレージにはR2を使っています。Cloudflareを使うならHonoはぴったりです。

たとえば、RemixのフロントエンドとHonoのバックエンドの間で型安全なAPI通信を行う方法をデモしてくれました。まずHonoでREST APIを書き、その型定義をRemixアプリと共有することで、型安全なAPIクライアントができあがります。

RPC

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

getPath

Honoはとても便利です。

スライドはこちら: https://speakerdeck.com/naporin0624/event-exhibition-with-hono

What Hono brought to student organizations? by sushi-chaaaan

sushi-chaaaan

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

アプリケーションアーキテクチャの例でも、フロントエンドにRemixを使い、RPCで通信していました。

RPC

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

HTML

スライドはこちら: https://www.docswell.com/s/sushi-chaaaan/5RXLG3-2024-06-22-honoconf

Hono with database on browser playground by inaridiy

inaridiy

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

Hanabi.REST

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

D1 Wrapper

Monacoエディタ上でTypeScriptの型情報を提供する話もありました。

スライドはこちら: https://hono-conf.hanabi.rest/1

Keynote Speech by usualoma

usualoma

キーノートは、私に次いでHonoへのコミットが2番目に多いusualomaさんが務めました。

キーノートで語られた面白いエピソードは、私たちのGitHub上でのコミュニケーションについてで、新年の挨拶まで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名になりました!ありがとうございます!

Contributors

まとめ

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

Izakaya

参加者の満足度は高かったようで、Xのハッシュタグにはポジティブなコメントがたくさん寄せられました。また、こちらの記事でも素晴らしい感想をいただきました。Honoを取り巻く盛り上がりを感じられます。

中学生や大学生を含む若いスピーカーが多かったこと、そして初めて公の場で発表する人もいたことも印象的でした。彼らにとって良い機会になったと思います。

来年もまた開催するのか?大変そうですが、海外からの参加者も迎えた、もっと大きなカンファレンスを開催したいと思っています。また会いましょう!

Group Photo