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
RPC導入_失敗の理由
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Kaito.K
March 22, 2026
340
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
RPC導入_失敗の理由
Kaito.K
March 22, 2026
Featured
See All Featured
Building Applications with DynamoDB
mza
96
7.1k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
130
Everyday Curiosity
cassininazir
0
230
30 Presentation Tips
portentint
PRO
1
320
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.5k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Side Projects
sachag
455
43k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
160
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.1k
Transcript
RPC導入で失敗する たった1つの理由 2026/4/23 柿 海斗
⾃⼰紹介 ・柿 海斗(@cu30rry_) ・ENECHANGE株式会社 ・Webアプリケーションエンジニア ・業務: TypeScript, React, Next.js, TanStack
Start ・個人: TanStack Start, Hono, ElysiaJS, ReactNative Expo
アジェンダ
None
Satisfaction(使った⼈の満⾜度) Interest(使ってみたいか)
結論
None
None
None
具体例① 仕様把握
具体例② ドキュメント作成が負荷
技術選定とDX(開発体験)の関係性 適切な技術選定は単なるツール選択でなく、開発プロセス全体を改善する意思決定です
RPCにおける技術選定で何を意識すべきか RPCの課題を意識した技術選定をしましょう!
ユースケースとフレームワーク ‧✅ OpenAPI⽣成が必要: ElysiaJS or oRPC ‧✅ 軽量でシンプルに始めたい: Hono ‧✅
学習コストを抑えたい: Hono ‧✅ Next.jsと使⽤したい: oRPC ‧✅ その他FW / AI SDKなどと連携したい: ElysiaJS ‧✅ パフォーマンス重視: ElysiaJS
重要項⽬による⽐較
tRPC ✅ Pros ・既存知見・採用事例が豊富 ⚠ Cons ・OpenAPI生成に追加の依存関係が必要( trpc-to-openapi or oRPC)
・HTML設定など手書きする必要がある ・trpc-to-openapiに関してはサポートされている SchemaがZodのみ
tRPCの実装① ・HTML設定の記述が必要
tRPCの実装② ・procedureにopenAPIのmetaタグ 記述などを全てのrouteに対して記述 するため実装コストが高い
oRPC ✅ Pros ・OpenAPIをファーストサポート ・Next.jsとの相性が特に良い( Server Actionsのサポートなどもある) ・Date・File・Blob・URLなどNative Typeをサポート ・その他Lazy
Routerによるコールドスタート対策など機能が豊富 ⚠ Cons ・情報量・採用事例が少なめ
oRPCの実装① ・OpenAPIReferencePluginで ドキュメントの設定を集約 ・docsProvider optionで SwaggerUIでの生成も可能
oRPCの実装② ・全てをosに集約できる ・エラー定義だけでなく Middlewareの定 義なども追加可能
oRPCの実装③ ・actionable modifierを追加すれば Server Actionsも定義可能 ・useServerActionsはReactの useActionStateの上位互換
Hono ✅ Pros ・Web標準で軽量かつシンプル ・Hono CLIがあり、CLI型 Agentとの親和性が高い ・JS界で最速の Router RegExpRouterを搭載
・2025年10月には更に軽量で速い PreparedRegExpRouterが発表された ⚠ Cons ・OpenAPIが標準サポートでなく、実装時の記述量・依存関係が増える
Honoの実装① ・追加の依存関係にhono-openapi や@scalar/hono-api-referenceが 必要 ・SchemaにZod以外を使用する場 合は、@hono/standard-validator が必要
Honoの実装② ・describeRouteにOpenAPIの定義を表現する必要がある (openapi.ymlをコードで表現する必要がある) ・特にresponseの部分は、StatusCodeごとに定義が必要 (1機能ならいいが、これが 10・20と増えると かなりの記述量になる)
ElysiaJS ✅ Pros ・Zero-configのOpenAPI機能 ・圧倒的なパフォーマンスで Go・Rustに匹敵する (Expressの約21倍、Honoの約2.5倍) ・公式やコミュニティからの Pluginが豊富で認証・監視など機能を後付できる ⚠
Cons ・チームによっては学習コストが激増する
ElysiaJSの実装① ・3通りのOpenAPI生成 ① ランタイムスキーマの活用 ② 指定Routeの型推論 ③ ①・②を共存 ・②の場合、 fromTypesのみ指定すれば、
Schema定義不要で OpenAPI生成が可能 ・③の場合、ランタイムスキーマが優先される ・Schemaなど定義が fixするまでは②を採用し、 fix後に共存させるなど、柔軟な開発方針を取れ る
ElysiaJSの実装② 型推論を使⽤する場合 ・最低限のOpenAPIのdetail情報のみで定義す るだけで良い ・requestやresponseの型は自動推論される
ElysiaJSの実装③ ランタイムスキーマを活⽤する場合 ・request(params・query)やresponseの 型定義が必要 ・しかし、Honoのように各StatusCodeで openapi.ymlのような記述をしなくてよく、 responseの型のみ記述するだけでよい
個⼈的な推しはElysiaJS ‧✅ 唯⼀のBunネイティブフレームワーク ‧✅ パフォーマンスはHonoより良く、GoやRustに匹敵する ‧✅ 最も簡単にOpenAPI連携ができる ‧✅ マルチランタイムサポート(Node‧Bun‧Edge‧etc) ‧✅
公式‧コミュニティのPluginが豊富 ‧✅ イベントベースのMiddlewareで細かい制御ができる (HonoやExpressはキューベース) ‧✅ Elysia 2で初期化‧メモリなどがより速く‧軽量となることが期待でき る https://x.com/saltyAom/status/1991564346535948630 https://x.com/saltyAom/status/2040963262096031913
まとめ DX(開発体験)を設計対象にしていない技術選定は、 将来的に失敗する可能性を⾼めます 「コードを書くスピード‧効率」だけでなく、 「仕様の共有しやすさ」「保守‧運⽤のしやすさ」を含めた ライフサイクル全体で最適なツールを選びましょう!
良かったら記事も読んでみてください! https://zenn.dev/sc30gsw/articles/6be1b73d3db81b
https://zenn.dev/sc30gsw/articles/1c13f3f44b40e5
詳細はエンジニア採用サイトもご覧ください! “エネチェンジ エンジニア” で検索🔍 エンジニアを積極採用しています! エンジニア採用サイト カジュアル面談申込 エネルギーの未来をつくる CHANGING ENERGY
FOR A BETTER WORLD
付録 tRPC‧oRPC‧Hono‧ElysiaJS ⽐較ソースコード https://github.com/sc30gsw/tanstack-rpc-comparison tRPC‧oRPC‧Hono‧ElysiaJS ⽐較アプリ https://tanstack-rpc-comparison.vercel.app/