Upgrade to Pro — share decks privately, control downloads, hide ads and more …

HonoとJSXを使って 管理画面をサクッと型安全に作ろう

HonoとJSXを使って 管理画面をサクッと型安全に作ろう

"フロントエンドカンファレンス関西 × TSKaigiコラボイベント" で発表した資料です。

https://fec-kansai.connpass.com/event/368837/

## 資料内のURL

- マッハチームの紹介ページ: https://dev.classmethod.jp/articles/retaila-app-mach-serverside-engineer/
- 弊ブログ: https://dev.classmethod.jp/articles/hono-jsx-admin-panel/
- 弊リポジトリ: https://github.com/diggymo/hono-admin-panel
- JSX - Hono(公式ドキュメント): https://hono.dev/docs/guides/jsx

Avatar for morimorikochan

morimorikochan

October 19, 2025
Tweet

More Decks by morimorikochan

Other Decks in Technology

Transcript

  1. ✍JSX そんなときに使えるのがJSX • JSX: Reactに使われてるあの構⽂ • TypeScriptを使ったJSXを使うと ◦ TypeScriptの構⽂でHTMLを記述でき、従来のテンプレートエンジン のツラミを解消

    ▪ (独⾃記法, 未定義変数の利⽤, 型の取り違い, タイポ) • JSXはExpressやHonoと組み合わせて使える • 今回はセットアップの⼿軽さからHonoを紹介 const element = <h1>Hello, world!</h1>;
  2. 🔥HonoでJSXを使う⽅法 1. tsconfig.jsonを修正 { "compilerOptions": { "jsx": "react-jsx", "jsxImportSource": "hono/jsx"

    } } 2.ファイル拡張⼦を.tsから.tsxに 3. c.html()でJSXを返却 app.get('/', (c) => { const messages = ['Good Morning', 'Good Evening', 'Good Night'] return c.html(<Top messages={messages} />) }) 参考: https://hono.dev/docs/guides/jsx
  3. 複数画⾯またいだ状態管理 • SPAだと状態管理できるがSSRではできない • <input type="hidden"/> を使った状態管理が 今の所⼀番スマート 静的アセットの配信 •

    serveStaticミドルウェアが必要 詳しくは弊ブログで解説してます https://dev.classmethod.jp/articles/hono-jsx-admin-panel/ 🚨HonoでJSXを使うときの注意点
  4. 📚まとめ • 管理画⾯にSPA(CSR)構成は本当に必要なのか考えよう • Hono+JSXを使ったSSR構成は ◦ 従来のSSRのテンプレートエンジンのツラミが解消されてる ◦ セットアップが簡単 ◦

    ⼗分実⽤的 ◦ ただし注意点もある • Hono+JSXで管理画⾯をサクッと型安全に作れることがわかった 参考資料 • 弊ブログ https://dev.classmethod.jp/articles/hono-jsx-admin-panel/ • 弊リポジトリ https://github.com/diggymo/hono-admin-panel • JSX - Hono(公式ドキュメント) https://hono.dev/docs/guides/jsx
  5. プロダクトの0→1⽴ち上げ 専⾨チーム ⼀緒に働く仲間を募集...! モダンな技術スタックを積極採用 • Hono, V0, Claude Code… 顧客と0距離

    • プリセールス ~MVPリリースまで • 顧客対応も 2~3名の小規模チームで高速開発 • 1案件 2~6ヶ月 • マッハで経験が積める 📢マッハチーム 絶賛募集中