$30 off During Our Annual Pro Sale. View Details »
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
160
Full-Stack TypeScriptでフロントエンド・バックエンド横断開発
sho yamashita
August 28, 2024
Tweet
Share
Other Decks in Programming
See All in Programming
Reckoner における Datadog Browser Test の活用事例 / Datadog Browser Test at Reckoner
nomadblacky
0
160
距離関数を極める! / SESSIONS 2024
gam0022
0
330
よくできたテンプレート言語として TypeScript + JSX を利用する試み / Using TypeScript + JSX outside of Web Frontend #TSKaigiKansai
izumin5210
7
1.9k
Micro Frontends Unmasked Opportunities, Challenges, Alternatives
manfredsteyer
PRO
0
160
Creating a Free Video Ad Network on the Edge
mizoguchicoji
0
140
イベント駆動で成長して委員会
happymana
1
350
Nurturing OpenJDK distribution: Eclipse Temurin Success History and plan
ivargrimstad
0
1.4k
TypeScript Graph でコードレビューの心理的障壁を乗り越える
ysk8hori
3
1.3k
Thoughts and experiences on Rust and TypeScript
unvalley
2
180
Gestaltung digitaler Lösungen – Produktions- oder Designprozess?
techstories
0
100
romajip: 日本の住所CSVデータを活用した英語住所変換ライブラリを作った話
sangunkang
0
2.1k
PaaSとSaaSの境目で信頼性と開発速度を両立する 〜TROCCO®︎のこれまでとこれから〜
gtnao
5
4.9k
Featured
See All Featured
Unsuck your backbone
ammeep
668
57k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
390
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
How to Think Like a Performance Engineer
csswizardry
20
1.1k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
Producing Creativity
orderedlist
PRO
341
39k
Building an army of robots
kneath
302
43k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
740
Building Adaptive Systems
keathley
38
2.3k
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固有の設計や知識を別途学ぶ必要はあるが、領域を横断する後押し をしてくれる技術スタック
護りたい。その想いを護る。