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
Prismaを1年くらい使ってみたのでちょっと語る
Search
TsukasaSekiguchi
June 29, 2024
Programming
290
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Prismaを1年くらい使ってみたのでちょっと語る
Gunma.web #53のLT資料です
TsukasaSekiguchi
June 29, 2024
Transcript
12 slides
Prisma を1 年くらい使ってみたので ちょっと語る 2024/06/29 Gunma.web #53 @TsukasaGR
Prisma とは
Prisma とは JavaScript/TypeScript で利⽤可能なモダンなORM ⭐
主な特徴
主な特徴 型安全性 スキーマからTypeScript の型定義情報を⾃動⽣成してくれるので、型安全に書ける 簡潔なクエリ 直感的なクエリ、かつ補完も効くので初学者でもすぐにクエリを書ける マイグレーション スキーマからマイグレーションファイルを⾃動⽣成してくれる DB クライアント
独⾃のDB クライアントも標準装備してる
使うモチベーション
使うモチベーション( 好きなところ) 1. どうせフロントでJavaScript/TypeScript 書くんだからバッ クエンドも同じ⾔語で書けたほうが楽じゃない? 何と⾔っても多くのWeb 開発者が⼀度は思うであろうこの動機。やっぱり⼀番はここかなと思います。 2. 型安全とマイグレーション!
TypeScript の利⽤が増えた昨今、型安全であるかどうかは超重要な選定基準だと思います。 また、後述しますがPrisma のマイグレーションもモダンな仕組みでこの体験は他ではなかなか味わえないと思います。
歯がゆいところ
歯がゆいところ 1. フルスタックORM と⽐較してしまうとどうしても物⾜りな さが。。。 RoR やLaravel 等のフルスタックフレームワークを使われている⽅にとってORM とはもはやフレームワークのおける⽣命線のよ うにも感じると思います。その利便性を⼀度味わってしまったらなかなか他のORM
に戻れないとすら思います。 Prisma も便利なORM ではあるものの、ActiveRecord(RoR) やEloquent(Laravel) と⽐較してしまうと、「えーこれPrisma じ ゃできないの。。?」という場⾯は少なからず出てきてしまうと思います。 2. パフォーマンスぇ。。。 バージョンを増すごとにカイゼンは繰り返しているものの、複雑/ ⼤規模なDB 構造になるとどうしてもパフォーマンスの課題は 出てきがちです。 いずれのORM にも出てくる話だと思いますが、特にPrisma は規模が⼤きくなってきた場合のパフォーマンス課題が他のORM に ⽐べて⼤きくなりがちかなと思います。( 根拠ベースの話ではなく体感ベースの話です)
今後の展望( 個⼈的な予想)
今後の展望( 個⼈的な予想) まず⼈気⾯で考えると、JS/TS のORM の選択肢はPrisma 以外にもいくつかありますが、それでも今後数年で最も⼈気のある ORM ライブラリとしての地位を確⽴するだろうなと予想しています。 ここでは紹介しませんでしたが、Prisma はサーバーレスアーキテクチャにも注⼒しており、サーバーレスアーキテクチャの発展
によってさらに⾶躍する可能性も⾼いと思います。 次に、「複雑/ ⼤規模なDB に耐えうるフルスタックなモリモリORM になっていくか」という⾯で考えると、こちらは何とも⾔え ない気がしています。 バージョンを増すごとに「待ってました!」という新たなAPI は提供されるものの、Prisma が⽣成するモデルはプレーンなオブ ジェクトであるため、ActiveRecord やEloquent 等と同等の機能数を求めてしまうと物⾜りなさはずっと残り続ける気がしま す。 ただ、こちらはそもそも「複雑/ ⼤規模になってもNode.js 等のJS/TS ⼀本で頑張るのか」みたいにPrisma 単体で考える話ではな いのかもしれません。 つらつらと書いてしまいましたが、「JS/TS でバックエンドも書きたいぜ!という気持ちが強くある⽅はPrisma に挑戦して損は ない!」という⼀⾔で締めさせていただきます。
ご清聴ありがとうございました
More Decks by TsukasaSekiguchi
See All by TsukasaSekiguchi
既存repo / AIとのやり取りから、おれのハーネスエンジニアリングの現状と課題を見てもらった
tsukasagr
1
150
おれのAgentic Coding 2026/03
tsukasagr
1
200
Agentic Coding 時代に絶対抑えておきたい git worktree の基礎知識と、ちょっとだけMCPについても言及
tsukasagr
0
140
おれのAI活用の現状とこれから
tsukasagr
0
280
Deep Researchで積読解消!技術書キャッチアップ術
tsukasagr
0
160
v0とCursorで爆速開発🚀
tsukasagr
0
320
playwrightのVSCode拡張が便利すぎて、もはやE2E書けないとか言い訳できないレベルだった
tsukasagr
0
270
AWS_Copilotではじめる簡単コンテナ運用.pdf
tsukasagr
0
440
SupabaseにBaaS拡大の未来を感じた
tsukasagr
0
340
Other Decks in Programming
See All in Programming
私なりのハーネスエンジニアリング ~独自の言語処理系の開発を通して~
seosoft
0
200
Enforcing Your Architecture with Unit Tests in the AI Era (Swift Connection X)
steliosf
PRO
1
170
LLM 101
dalinaum
0
490
Будущее локальных LLM – Алексей Голобурдин, PythoNN
sobolevn
0
120
Claude Code ハーネスDeep Dive – 君はどこまで制御する? -
takateeen_knj
6
5.7k
GraphQL の onError と Nullability のこれから
quramy
0
210
Materialが消えた日 〜真っ白なFlutterキャンバスにRenderObjectで絵を描く〜
umigishiaoi
0
160
DroidKnights 2026 Android A2UI Jetpack Compose 기반의 안전한 AI UI 렌더링 - 박제창
itsmedreamwalker
1
230
當我們開始不讀 Code - AI Agent 時代,Code Review 與 Clean Code 還剩下什麼?
jame2408
1
370
SODA - FACT BOOK(JP)
sodainc
1
40k
複数ドメインを一つのアプリに統合するFlutterの設計と運用_FlutterKaigi2026登壇資料(須永高弘)
takahirosunaga
0
180
Next.js: The final boss of Web Performance
guaca
0
400
Featured
See All Featured
Docker and Python
trallard
47
4.3k
GraphQLとの向き合い方2022年版
quramy
50
15k
Ruling the World: When Life Gets Gamed
codingconduct
0
440
Optimising Largest Contentful Paint
csswizardry
37
4k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.7k
Documentation Writing (for coders)
carmenintech
77
5.6k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
850
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
400
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
Building the Perfect Custom Keyboard
takai
2
960