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
Full-Stack TypeScriptでフロントエンド・バックエンド横断開発
Search
sho yamashita
August 28, 2024
Programming
0
460
Full-Stack TypeScriptでフロントエンド・バックエンド横断開発
sho yamashita
August 28, 2024
Tweet
Share
Other Decks in Programming
See All in Programming
外接に惑わされない自システムの処理時間SLIをOpenTelemetryで実現した話
kotaro7750
0
230
Making Angular Apps Smarter with Generative AI: Local and Offline-capable
christianliebel
PRO
0
110
CSC305 Lecture 14
javiergs
PRO
0
280
AsyncSequenceとAsyncStreamのプロポーザルを全部読む!!
s_shimotori
1
260
モテるデスク環境
mozumasu
3
1.4k
業務でAIを使いたい話
hnw
0
250
AI時代に必須!状況言語化スキル / ai-context-verbalization
minodriven
3
360
オンデバイスAIとXcode
ryodeveloper
0
430
CSC509 Lecture 11
javiergs
PRO
0
300
coconala_slide_pop.pdf
yukihito13
0
290
Private APIの呼び出し方
kishikawakatsumi
2
800
PHPライセンス変更の議論を通じて学ぶOSSライセンスの基礎
matsuo_atsushi
0
130
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Thoughts on Productivity
jonyablonski
73
4.9k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6k
A better future with KSS
kneath
239
18k
Unsuck your backbone
ammeep
671
58k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
Making Projects Easy
brettharned
120
6.4k
We Have a Design System, Now What?
morganepeng
54
7.9k
Scaling GitHub
holman
463
140k
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固有の設計や知識を別途学ぶ必要はあるが、領域を横断する後押し をしてくれる技術スタック
護りたい。その想いを護る。