Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
フルスタックTypeScript入門 ~Hono RPCとZodで実現する型共有~
Search
kouki.miura
July 22, 2026
Programming
84
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
フルスタックTypeScript入門 ~Hono RPCとZodで実現する型共有~
TypeScriptでフロントエンド、バックエンドを開発する場合、型情報をうまく共有する仕組みがあると便利です。hokkaido.jsでのLT発表資料です。
kouki.miura
July 22, 2026
More Decks by kouki.miura
See All by kouki.miura
診療情報提供書 × HL7 FHIR ~医療情報の標準化を実際に実装してみる~
koukimiura
0
69
VueプロジェクトをTypeScript7に対応させる- Side-by-Side戦略による一部高速化 -
koukimiura
0
180
VueSapporo#4
koukimiura
0
45
Vue3_Capacitorでモバイルアプリ開発
koukimiura
0
46
Vueが軽く&速くなる!Vapor Modeを試してみた
koukimiura
0
76
Vue3.6.0-rc_CHANGELOG読み合わせ
koukimiura
0
56
医療DXって何?~電子カルテ標準仕様まで10分で理解する~
koukimiura
1
110
アプリ開発者が知っておくべき『トランザクション分離レベル』とRead Committed の罠
koukimiura
0
120
ITヒヤリハットを整理してみた ~ライフサイクルと原因から考える再発防止策~
koukimiura
1
180
Other Decks in Programming
See All in Programming
20260914 AIエージェント時代のPlatform Engineering LLM基盤とプロダクトの責務境界線
kanfab1
7
2.4k
プロダクトコードからライブラリの境界を見つける
elmetal
PRO
0
110
[2026-09-26]空論ジェネリックプロセス~テスト資産とAIで紡ぐ、再現可能なパフォーマンスチューニングの話~
tosite
0
260
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.5k
手動確認はもう限界 〜XCUITestでCustom URL Schemeの遷移を起動種別ごとに自動テストする〜 / Testing Custom URL Schemes with XCUITest
otouto
0
390
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
4.9k
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
7.5k
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
8
1.9k
Embedded Swiftで作る自作USBデバイス によるiOSデバイスの自動テスト / iOSDC Japan 2026 glassfiber
glassfiber
0
300
ソニーのクラウド共通基盤の変遷とAI時代の開発スタイルに合わせた進化 / The Journey of Sony’s Common Cloud Platform and Its Evolution for AI-Native Development
kenjiyoneyama
0
230
mrbgem 三角測量 開発
ogom
0
210
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
450
Featured
See All Featured
Visualization
eitanlees
153
17k
Product Roadmaps are Hard
iamctodd
55
13k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
A better future with KSS
kneath
240
18k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
930
Heart Work Chapter 1 - Part 1
lfama
PRO
10
37k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
610
Scaling GitHub
holman
464
140k
Six Lessons from altMBA
skipperchong
29
4.5k
Typedesign – Prime Four
hannesfritz
42
3.2k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
Navigating Weather and Climate Data
rabernat
0
550
Transcript
フルスタックTypeScript入門 〜Hono RPCとZodで実現する型共有〜 2026.07.22 hokkaido.js vol.07@Sapporo 三浦 恒樹 (MIURA KOUKI)
/ 医療ITエンジニア
自己紹介 - ドゥウェル株式会社 に所属(マネージャー) 医療ITエンジニア / 診療情報管理士 / 上級医療情報技師 /
医用画像情報専門技師 TypeScript / Vue.js / Node.js / Java / C# / PHP - 3兄弟の父、休日は習い事の送り迎えとか... - 参加している勉強会 札幌PHP勉強会 ゆるWeb勉強会 AWS初心者LT会in札幌 hokkaido.js さっぽろ医療IT勉強会 - コーディングBGM ラックライフ BLUE ENCOUNT SHANK Dizzy Sun Fist JBUG札幌 えびてく 札幌すごいAI会 函館本線沿線勉強会 JPUG-Ezo - Naru, 名前を呼ぶよ - Survivor, ポラリス JavaDO クラメソ札幌IT勉強会(仮) 札幌IT石狩鍋 VueSapporo
TypeScriptなのに型がズレる? フロントとバックエンド開発で直面する不都合な真実
TypeScript採用時の「型の分断」 型定義の二重管理 スキーマ生成ツールのコスト バックエンド(Node.js/Hono等)とフロントエンド(Vue/React等) OpenAPI (Swagger) や tRPC などを導入して解決しようとする で、同じAPIデータ構造の型を手動で2箇所定義していませんか?
と、ビルド設定の複雑化やコード生成の手間が発生することがあります。 仕様変更時の更新漏れでランタイムエラー発生 小~中規模プロダクトではオーバーヘッドが大きい
フルスタックTypeScriptとは Hono RPC × Zod がもたらす新たなアプローチ
型共有が実現する3つの価値 E2E型安全性 自動補完とリファクタ Single Source of Truth データベース層・バックエンド・フロントエンド IDEの補完機能により、APIパスやクエリ・ボ 型定義と入力バリデーションロジックをZod
まで一切の型断絶がなくなり、APIレスポン ディの型補完が完備。安全かつ高速なコード スキーマに一元化。定義のブレを根本から排 スの変更が即時にフロントに伝播します。 変更が可能です。 除します。
Hono RPC とは? HonoはWeb標準に準拠した高速なWebフレームワークです。その強力な機能 の1つがHono RPCです。 サーバー側のルーター定義から推論された型(AppType)をエクスポートし、フ ロントエンド側でhc()として読み込むだけで、型安全なAPIクライアントが即座 に手に入ります。 コード生成ステップ不要!ビルドのオーバーヘッドゼロ
https://hono.dev/docs/guides/rpc
Zodによるスキーマ駆動開発 ランタイムのデータ検証: TypeScriptの型チェックはコンパイル時のみですが、Zodは実 行時(APIリクエスト時)に実データを確実に検証します。 型推論 (z.infer): Zodスキーマを1つ定義するだけで、z.inferから対応する TypeScript型を自動導出できます。 フロント・バックでの同一共有: フォーム入力検証とサーバー側でのリクエスト検証で全く同じ
Zodスキーマを再利用可能です。 https://zod.dev/
組み合わせる:実践コード解説 Schemas → Backend → Frontend の連携ステップ
1. Zodスキーマの定義 (packages/schemas) ここがポイント • 共通パッケージとして切り出し、型とスキーマをまとめて定義 • z.infer により静的型定義の手動記述をゼロに •
バリデーションルール(文字数やフォーマット)も一所に集約
2. Backend: Hono + zValidator ここがポイント • zValidator でリクエストボディを自動検証 •
c.req.valid(‘json’) には型チェック済みの安全なデータ • メソッドチェインしたAppTypeを抽出・公開
3. Frontend: Vue3 + hc()、Client ここがポイント • hc() でURL補完・HTTPメソッド補完が作動 •
レスポンス型は inferResponseType で簡単にキャプチャ • 送信前にフロントでも safeParse し二重の安全性を確保
まとめ : 型共有が生み出す最高の開発体験 1. スキーマの一元化 2. ビルド負荷ゼロ 3. 抜群のDXと安心感 Zodにより型定義と
Hono RPCはコード生成が不要。 型エラーがAPI不整合を未然に防ぎ、 バリデーションルールを単一の情報源に 型推論だけで軽量・即時反映 大胆なリファクタが可能に ご清聴ありがとうございました!
告知 7/25(土) 17:30~19:00 7/26(日) 13:00~17:00