🔥

Hono Conference 2024 - Our first step

2024/07/09に公開
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人が参加しました。

参加者

Honoを以前に使ったことがあるか?という質問にほぼ全ての人が手を挙げていたのが印象的でした。

トーク

イベントは午後1時から4時30分までの3時間半、全てトークで構成されました。以下の4つのトラックがありました。

  • コントリビュータートラック
  • 座談会
  • ユーザートラック
  • 基調講演

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

スケジュール

では、一つ一つのトークについて見ていきましょう。全ての発表は日本語で行われましたが、スライドは英語で書かれているので、英語が分かる方なら誰でも理解することができるでしょう。

コントリビュータートラック

3人のHonoプロジェクトへのコントリビューターがトークをしました。

Adaptor, Helmet, SSG by watany-dev

watany

彼はAWS LambdaとLambda@Edgeのアダプタ、ExpressでいうHelmetにあたるSecure Headersミドルウェア、Static Site Generateを可能にするヘルパーを開発しています。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 StorageHono DOといったHonoの公式プロジェクト以外でも製品をつくっています。

Pinned

Hono DOはDurable Objectsを簡単に扱うためのHonoによるラッパーです。非常によさそうだったのですが、新しいWorkersのRPC機能がでてから必要なくなってしまった😭 とのことです。

冒頭から、一般的なHonoのミドルウェアの作り方からHonoを拡張する方法までを非常に丁寧に紹介してくれました。他の方の発表でも結構でてきたのですが、Contextset/getを使って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といったプラットフォームで動く新しい世代の言語(令和のPHP)といいました。

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

座談会

座談会

僕を含む4人のパネリストとモデレータによる50分のディスカッションです。Honoに求めることという答えにぼくはWeb標準だけを使うことにこだわると話しました。他にも以下のテーマについて議論しました。

  • Honoで実現したいこと
  • React
  • ライバル
  • ミーティング
  • 開発チーム
  • State of JavaScript / JSNation
  • Honoへの思い

自分が出演しててあまり覚えてないので、楽しそうな写真を貼っておきます。

座談会

ちなみに、この記事に貼っている写真はsyumaiさんとsor4chくんに撮ってもらいました。

ユーザートラック

Honoを実世界で使っているユーザーによるトークセッションです。

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

gunta

技術スタックの過去、現在、未来について話しました。Cloudflare WorkersはCPUタイムだけで課金するので、AIアプリケーションのコストを著しく下げてくれて、ゲームチェンジャーとしました。HonoはCloudflare WorkersでもGCP、AWS、Azure、Bunでも動くフレームワークとして選びました。また、CyberAgentでのHonoの使用事例を紹介しました。その他にも、バンドラ、パッケージマネージャー、データベースORM、認証プラットフォームなどについても触れました。

最後、Effectというライブラリをべた褒めしてて「おいおい、ここはHonoのカンファレンスだぜ?」と思ったら、当日の朝、そのEffectを使ったHonoのミドルウェアを作ってPRを出してきたというのがいい話でした。

Effect PR

https://gunta.github.io/talks/1

Using Hono in B2B SaaS Application by sugar-cat7

sugar-cat7

AI Workerという生成AIを活用した、ビジネスを向上するためのプラットフォームでの事例です。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さんはこのカンファレンスの直前に「Honoを使い倒したい2024」というめちゃくちゃHonoを使い倒す記事を書いてるのでみましょう。

https://zenn.dev/aishift/articles/a3dc8dcaac6bfa

Event Exhibition with Hono by naporin0624

naporin0624

大阪関西国際芸術祭というイベントで展示したインタラクティブビデオシステムでの事例です。こうしたイベントではHonoとCloudflareを使うことをおすすめしてていました。Cloudflareはコストを抑えられるし、Cloudflare TunnelとAccessが便利とのことです。またデータベースとストレージにはD1とR2が使えます。そして、Cloudflareを使うのに最適なのがHonoです。

例えば、フロントエンドのRemixとバックエンドのHonoがType-SafeでAPI通信する例が面白かったです。まず、HonoでRESTのAPIを書きます。次にその型をRemixアプリと共有します。すると型安全にAPIを叩くクライントが手に入るのです。

RPC

また、HonoをReverse Proxyとして使っている事例も紹介しました。HonoではgetPathというオプションを使うとルーティングに渡すパスをいじれるのですが、それを活用して、ホスト名によるルーティングをしているとのことです。

getPath

Honoは便利ですね。

https://speakerdeck.com/naporin0624/event-exhibition-with-hono

What Hono brought to student organizations? by sushi-chaaaan

sushi-chaaaan

大学のとある組織でのHonoを使った事例です。そこではライブ・コンサートの予約システムでHonoとCloudflare Workersを使いました。学生にとってはランニングコストを抑えることが非常に重要で、さらにフリープランで動かしたいです。今はそれがCloudflareですが、Honoだと、より安いプラットフォームがでてきた場合にすぐにそれにスイッチできるとのことです。

アプリーケーションの構成例では、naporitan0624と同じくフロントに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を使い、D1のラッパーにしているのが黒魔術でした。

D1 Wrapper

またMonacoエディターでTypeScriptの型情報を提供するための黒魔術についても話しました。

https://hono-conf.hanabi.rest/1

基調講演 by usualoma

usualoma

僕の次にコミットをしているusualomaさんによるキーノートです。

PR上でのコミュニケーションの例で、僕とusualomaさんが新年の挨拶をGitHub上でやってるという話がウケました。

GitHub

実はHonoのコントリビューター同士のミーティングというのはしたことがなく、僕とusualomaさんは毎日のようにGitHub上でやりとりをしているのに、今回で会うのが2回目という。とはいえ、GitHub上で非同期にコミュニケーションできるのが我々には合っているのかもしれません。

メインのテーマは202x年代にWebフレームワークをつくるとはどういうことか?という話です。彼によるとExpressやRailsなどの既存のバックエンドフレームワークを参考にし再定義すること、Web StandardsやTypeScriptなどの新しい技術を取り入れること、CloudflareやDeno、Bun、Node.jsなど複数のランタイムに対応すること、この3つが大切です。それを我々はHonoでやっています。

https://speakerdeck.com/usualoma/we-can-develop-a-framework

エンディング

最後に参加者、コントリビューター、ユーザーへ感謝をして終了しました。なんと今ではコントリビューターは160人もいます!ありがとう!

コントリビューター

終わりに

午後1時から午後4時30分まで3時間30分の長丁場でした。発表者はその後、居酒屋で懇親会をし、その場でノートパソコンを開き、新機能のAPIについて議論をしました。

izakaya

参加者の満足度は高いようで、Xのハッシュタグでは発言が活発で、ポジティブな意見ばかりでした。またこちらの記事でもいい感じの感想をもらいました。Honoの盛り上がりを感じることができます。

印象的だったのは、発表者には中学生、大学生、Hanabiの他のメンバーには高校生がいたりして、若い人が多かったことです。また、こうした人前でトークするのが初めてという人もわりといて、いい機会になったのなら幸いです。

次回はまた1年後になるでしょうか?大変そうですが、もっと大きな会場で、海外の人も来れるようなカンファレンスしたいです。また会いましょう!

集合写真

Discussion

咲夜咲夜

初めまして。私自身もHono使用しております!
このような会があること初めて知りました。今回のHonoの会はどこで募集していたのでしょうか?
もし今後このような会があれば私も参加したいと思いご質問いたしました。

ご回答いただければ幸いです。