TSKaigi

トーク

スキーマと型で拓く Full-Stack TypeScript
セッション
スキーマと型で拓く Full-Stack TypeScript
DAY1 / 11:50 〜 12:20レバレジーズトラック

Full-Stack TypeScript はフロントエンド・バックエンドを統一し、素早いプロダクト立ち上げを可能にします。しかし実際には、プロダクトが複雑化するにつれて適切な境界設計が難しくなり、開発スピードや拡張性が失われるケースも少なくありません。このトレードオフを乗り越ていくにはどのような設計戦略が必要でしょうか?

SANUでは、IoT連携による鍵管理や多様な課金モデルを含む複雑なサービスを、短期間でノーコードから内製化しました。私たちが選んだのは、「スキーマ」と「型」を中心に据えた戦略的な境界設計です。

GraphQL スキーマを軸にフロントエンドとバックエンドを疎結合化しつつ、コード生成によって最小限のオーバーヘッドで開発できるアーキテクチャを実現。更に Full-Stack TS ならではの単一プロセスによる実行や In-Process GraphQL を活用することで、運用のオーバーヘッドも最小限に抑えられることが分かりました。

本発表では、2010年代の Web サービス開発の知見を踏まえて、スキーマ駆動の Full-Stack TypeScript で速さと持続的スケールを実現する方法を紹介します。

Sohei Takeno

Sohei Takeno

SANU / ソフトウェアエンジニア

2015年からWantedlyに約8年間在籍し、プロダクト開発から技術基盤、組織マネジメントまで幅広い役割を担う。同社初の全社アーキテクトとして、複数プロダクトを横断した技術課題の解決を主導。 2023年、SANUに1人目のエンジニアとして参画し、ノーコードで3年間開発されてきた150画面・1500カラム規模のシステムを、TypeScript・GraphQLを用いて約1年半でフルリプレイス、技術およびチームの内製化を実現した。現在は日本中の自然にスマホ一つでアクセスできるプロダクトを開発中。

XGitHub