Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Hono + Inertia + React で LP を構築した話
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Yuka Ooka
August 21, 2026
Programming
110
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Hono + Inertia + React で LP を構築した話
Jujutsu 実践ガイド本『じゅじゅちゅ!』の LP を、Hono + Inertia + React という技術スタックで構築しました。
Yuka Ooka
August 21, 2026
More Decks by Yuka Ooka
See All by Yuka Ooka
React 使いじゃなくても知っておきたい教養としての React
oukayuka
36
11k
React は次の10年を生き残れるか:3つのトレンドから考える
oukayuka
49
20k
来たるべき 8.0 に備えて React 19 新機能と React Router 固有機能の取捨選択とすり合わせを考える
oukayuka
3
1.6k
Reactのトレンドよくわからん
oukayuka
17
9.7k
とある個人開発 PWA の SEO 奮戦記
oukayuka
8
3.2k
Recomposeとは何だったのか、またはHooksが開けたパンドラの箱についての考察 / Recompose Funeral March
oukayuka
3
6k
(Ruby使いのための)Scalaで学ぶ関数型プログラミング
oukayuka
0
410
Other Decks in Programming
See All in Programming
AI時代に設計が 最大の生産性レバーになる 意図駆動開発とデータを消さない設計|Don't Delete Your Data or Your Intent — Design as the Deepest Lever in the AI Era
tomohisa
1
1.1k
Dockerfile CMD for Node.js
grazie1999
0
110
AI Readyの正体はデータマネジメントだ メダリオン2.0の最前線
freee
PRO
0
340
Cloudflare is Agents
chimame
0
170
Gmail/Google DriveをトリガーにAIエージェントを動かそう! / Run AI agents with Gmail/Google Drive as triggers!
har1101
1
210
SlackアプリとLambdaの 連携を構築した話
pawn_4_s
1
130
夏だ!祭りだ!祭りとはドメインモデリングでは?
ryugen04
0
340
プロポーザルを書いてもらう
pvcresin
0
560
Oxlintはいいぞ(続)
yug1224
1
270
2年かけて Deno に DOMMatrix を実装した話 / How I implemented DOMMatrix in Deno over two years
petamoriken
0
210
AIが無かった頃の素敵な出会いの話
codmoninc
1
480
PostgreSQL 18で考えるUUID主キー
kazuhiro1982
0
490
Featured
See All Featured
Mind Mapping
helmedeiros
PRO
1
320
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
490
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
650
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
580
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
430
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
470
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
620
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Git: the NoSQL Database
bkeepers
PRO
432
67k
Transcript
Hono + Inertia + React で LP を構築した話 大岡 由佳(くるみ割り書房)
こんなランディングページを作りました 【主要技術スタック】 •Hono •@hono/inertia •@inertiajs/react •React / / https: juju-chu.com/ja
Hono とは? Node.js や Deno、Bun はもちろん Cloud are Workers を始めと
するエッジ環境のランタイムでも動作する、サーバサイドの Web フレームワーク。 一言でいうなら「Express を Web 標準・TypeScript・マルチラン タイム時代に合わせて、軽量に作り直したようなフレームワーク」 fl 作者は日本の和田祐介さん(@yusukebe)
Inertia とは? サーバーサイドの Webフレームワークの View を React / Vue.js /
Svelte のコンポーネントとして作るためのライブラリ。 たとえば Laravel は通常は View を Blade というテンプレート 言語で記述するが、Inertia はこれを完全な React コンポーネン トに置き換えることができる。 Laravel コミュニティで生まれたが、現在では Ruby on Rails や Django、ASP.NET 用など広くアダプターが開発されている。
@hono/inertia とは? Hono で Inertia を使えるようにするためのアダプターミドル ウェア。 2026年4月に公式に出たばかりで、8月現在のバージョンは 0.7.0。 他のフレームワーク用のアダプターと異なり、サーバとクライ
アントを一貫して TypeScript で記述でき、サーバからコンポ ーネントに渡される props の型も自動生成されて安全。
何の LP を作ったの? Git 互換の次世代バージョン管理 システム Jujutsu の本を 4月の技 術書典20
に出しました。 そして先日、英語版も出したので すが、無名の作者ゆえか売れ行き が芳しくないため、ランディング ページを作ろうと思い立った次第 です。
機能要件 • サンプルプレビュー機能(PDF と EPUB の両方に対応) • i18n 対応(英語と日本語、今後スペイン語とポルトガル語を予定) •
ロケールヒントのバルーン表示(日本語ブラウザで英語ページにアク セスすると、日本語版をサジェストする) • Amazon リンクの出し分け(ユーザー居住国の Amazon の商品ペ ージに振り分ける) • スクロールフォーカス(各章サマリでビューポイントにないものをホ ワイトアウト)
他に検討した技術スタック • Astro • コンテンツ主導型サイトの構築では無敵で、あらかた必要になるものが最初 から用意されている • デフォルトでは JS を出力しないが、動的な
UI が必要な部分は Island Component にして React など好きなフレームワークが利用できる • TanStack Start • React のメタフレームワークで人気急上昇中の新顔 • クエリパラメータにまで型安全が徹底されている • シンプルな SPA + SSR 型のアプリケーションが作りやすい
Hono + Inertia にした意味あった? • しくみが古典的なので、動きが追いやすい • サーバとクライアントの境界が明確で、コードが混ざりようがない • バンドルサイズ(サーバの)が軽い
• worker に乗る圧縮後のサイズが 407KB。無料枠の 3MB に余裕 で収まる。(Fable 曰く TanStack Start ならこの1.5〜2倍) • サンプルビューアが高機能なので、Astro だと Astro と React のコ ードが入り組んで複雑になっていたかも
苦労した点は? • i18n や Markdown、Content Collections といった Astro なら 最初からある機能が用意されてないので、すべて自前で実装した
• サーバのバンドルから pdf.js や Readium Web などサンプルビュ ーア用の重いライブラリを排除したかったが、そのしくみもないの で泥臭く書くことになった • X-Inertia ヘッダの有無で HTML を返すか JSON を返すかを判断 しているのを知らず、ヘッダを上書きして不具合が出た
パフォーマンス計測結果
再掲:よかったらアクセスしてみてください juju-chu.com
None