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
Full-Stack TypeScriptでフロントエンド・バックエンド横断開発
Search
sho yamashita
August 28, 2024
Programming
610
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Full-Stack TypeScriptでフロントエンド・バックエンド横断開発
sho yamashita
August 28, 2024
Other Decks in Programming
See All in Programming
S3 TablesのIcebergデータに、AIエージェントからアクセスしてみた / 20261016developersio2026joetsu-accessing-iceberg-in-s3tables-via-agent
kasacchiful
PRO
0
150
月間100万人のサービス刷新で、 技術選定をHonoに振り切った話
yutobara
8
6.6k
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
380
JIS keyboard support in Omarchy
lef237
0
110
IBM Bob でAI駆動開発『QC-Playbook』
ichirokano2
0
110
残高管理から台帳サービスへの進化
artoy
1
200
當我們開始不讀 Code - AI Agent 時代,Code Review 與 Clean Code 還剩下什麼?
jame2408
1
190
Atomic Design, Enforced: Scaling Mobile Design Systems (next.app devCon / droidCon Berlin 2026)
steliosf
PRO
0
170
phperだってパンチカードでコーディングしたい
o0h
PRO
0
330
SalesForceを内製化!? ~ HR事業を支える顧客管理基盤のインフラを大公開 ~
oku053
0
180
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.7k
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
500
Featured
See All Featured
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
1
280
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
How to Think Like a Performance Engineer
csswizardry
28
2.9k
First, design no harm
axbom
PRO
2
1.3k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Site-Speed That Sticks
csswizardry
13
1.6k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
480
Everyday Curiosity
cassininazir
0
350
Java REST API Framework Comparison - PWX 2021
mraible
34
9.8k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
570
Transcript
護りたい。その想いを護る。 🄫ZEST Inc. | Mita.ts #1 フルTypeScriptでFE/BE横断開発 Full-Stack TypeScriptで FE/BE横断開発
2024.08.28 Mita.ts #1 ⼭下 翔
🄫ZEST Inc. | Mita.ts #1 フルTypeScriptでFE/BE横断開発 2 ⾃⼰紹介 ‧名前:⼭下 翔
‧会社:株式会社ゼスト ‧職位:Webアプリケーションエンジニア ‧好きな⾔語:TypeScript
🄫ZEST Inc. | Mita.ts #1 フルTypeScriptでFE/BE横断開発 3 アジェンダ ‧弊社の技術スタック ‧Full-Stack
TypeScriptの旨み ‧社内での動き ‧まとめ
🄫ZEST Inc. | Mita.ts #1 フルTypeScriptでFE/BE横断開発 5 弊社の技術スタック ‧フロントエンド:Next.js ‧バックエンド:fastify
‧周辺ライブラリ:tRPC、Zod、Prisma ‧その他:GCP, Looker, Vercel, etc… Zod → Full-Stack TypeScriptで構成
🄫ZEST Inc. | Mita.ts #1 フルTypeScriptでFE/BE横断開発 6 Full-Stack TypeScriptとは? 引⽤:https://zenn.dev/ascend/articles/full-stack-typescript
フロントエンドとバックエンドを TypeScript で統⼀している
🄫ZEST Inc. | Mita.ts #1 フルTypeScriptでFE/BE横断開発 7 Full-Stack TypeScriptの旨み Full-Stack
TypeScriptだと 何がいいの?
🄫ZEST Inc. | Mita.ts #1 フルTypeScriptでFE/BE横断開発 8 Full-Stack TypeScriptの旨み フロントエンド‧バックエンドを
横断して開発できる
🄫ZEST Inc. | Mita.ts #1 フルTypeScriptでFE/BE横断開発 9 Full-Stack TypeScriptの旨み ‧経験の浅いエンジニアでも、領域を横断するハードルを下げてくれる
‧zodとtRPCにより、型安全でデグレやバグに気づきやすい ‧少⼈数のチームでも継続的なデリバリーが⾏える フロントエンド‧バックエンドを横断して開発できる
🄫ZEST Inc. | Mita.ts #1 フルTypeScriptでFE/BE横断開発 10 Full-Stack TypeScriptの旨み -
領域を横断するハードルを下げてくれる 新しい⾔語の 習得 ⾔語の特性 既存コードの 理解 プロダクト アーキテクチャ の理解 周辺ライブラ リの知⾒ フレームワーク の知識
🄫ZEST Inc. | Mita.ts #1 フルTypeScriptでFE/BE横断開発 11 Full-Stack TypeScriptの旨み -
領域を横断するハードルを下げてくれる 新しい⾔語の 習得 ⾔語の特性 既存コードの 理解 プロダクト アーキテクチャ の理解 周辺ライブラ リの知⾒ フレームワーク の知識 ✅ ✅ ( ✅ )
🄫ZEST Inc. | Mita.ts #1 フルTypeScriptでFE/BE横断開発 13 Full-Stack TypeScriptの旨み -
型安全でデグレやバグに気づきやすい バックエンド フロントエンド Branded TypeやUnion Typeなどの型情報も維持され、 Dayjsなどのinstance objectなど(※) も送受信できる ※superjsonなどのtransformerの指定が必要 👉 ‧⽣産性の向上 ‧バグやデグレの軽減 ‧破壊的変更に 気づきやすい
🄫ZEST Inc. | Mita.ts #1 フルTypeScriptでFE/BE横断開発 14 Full-Stack TypeScriptの旨み -
継続的なデリバリーが⾏える データ⾜りないので、 API追加して欲しいですが… 別タスクで忙しいから、 着⼿来週になります。 ⾃分で対応できたらいいけ ど、この⾔語わからない。 リリース1週間伸びちゃう フロントエンド バックエンド
🄫ZEST Inc. | Mita.ts #1 フルTypeScriptでFE/BE横断開発 15 Full-Stack TypeScriptの旨み -
継続的なデリバリーが⾏える ここのAPIデータ⾜りないな。追加しよう! レビューくらいなら任せて! 不⾜しているリソース を補い合って継続的に デリバリーできる フロントエンド バックエンド
🄫ZEST Inc. | Mita.ts #1 フルTypeScriptでFE/BE横断開発 16 社内での動き BEメインの機能だが、FEにも設定項⽬を追加す る必要がある
👉 BEエンジニアが設定画⾯も同時に作成 Sentryでアラートが上がった際に、APIレスポン スが関係してそう 👉 FEエンジニアがBEのコードを確認して調査 画⾯に新しい項⽬が増えたがAPIが不⾜している 👉 FEエンジニアがAPIのスキーマ修正を⾏う BEのリファクタリングでAPIの分割を⾏いたい 👉 BEエンジニアがフロント部分も⼀緒に修正 etc… 開発アイテムの設計相談をする 👉 FE/BEお互いにコードを把握できるので、開 発の議論が⾏いやすい
🄫ZEST Inc. | Mita.ts #1 フルTypeScriptでFE/BE横断開発 17 まとめ ‧Full-Stack TypeScriptによる横断開発には様々なメリットがある
‧領域を横断するハードルを下げてくれる ‧型安全でデグレやバグに気づきやすい ‧継続的なデリバリーが⾏える ‧各々の領域専⾨性を⽣かしつつ、フルスタックに動くことができる ‧もちろんFE/BE固有の設計や知識を別途学ぶ必要はあるが、領域を横断する後押し をしてくれる技術スタック
護りたい。その想いを護る。