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
370
Full-Stack TypeScriptでフロントエンド・バックエンド横断開発
sho yamashita
August 28, 2024
Tweet
Share
Other Decks in Programming
See All in Programming
Result型で“失敗”を型にするPHPコードの書き方
kajitack
4
380
都市をデータで見るってこういうこと PLATEAU属性情報入門
nokonoko1203
1
570
#kanrk08 / 公開版 PicoRubyとマイコンでの自作トレーニング計測装置を用いたワークアウトの理想と現実
bash0c7
1
440
0626 Findy Product Manager LT Night_高田スライド_speaker deck用
mana_takada
0
110
FormFlow - Build Stunning Multistep Forms
yceruto
1
190
Cline指示通りに動かない? AI小説エージェントで学ぶ指示書の書き方と自動アップデートの仕組み
kamomeashizawa
1
580
来たるべき 8.0 に備えて React 19 新機能と React Router 固有機能の取捨選択とすり合わせを考える
oukayuka
2
860
イベントストーミング図からコードへの変換手順 / Procedure for Converting Event Storming Diagrams to Code
nrslib
1
400
Elixir で IoT 開発、 Nerves なら簡単にできる!?
pojiro
1
150
なぜ適用するか、移行して理解するClean Architecture 〜構造を超えて設計を継承する〜 / Why Apply, Migrate and Understand Clean Architecture - Inherit Design Beyond Structure
seike460
PRO
1
690
NPOでのDevinの活用
codeforeveryone
0
240
GoのGenericsによるslice操作との付き合い方
syumai
3
690
Featured
See All Featured
Being A Developer After 40
akosma
90
590k
Typedesign – Prime Four
hannesfritz
42
2.7k
Why You Should Never Use an ORM
jnunemaker
PRO
57
9.4k
4 Signs Your Business is Dying
shpigford
184
22k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
53k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
670
The Art of Programming - Codeland 2020
erikaheidi
54
13k
What's in a price? How to price your products and services
michaelherold
246
12k
Docker and Python
trallard
44
3.4k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.8k
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固有の設計や知識を別途学ぶ必要はあるが、領域を横断する後押し をしてくれる技術スタック
護りたい。その想いを護る。