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
Prismaを1年くらい使ってみたのでちょっと語る
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
TsukasaSekiguchi
June 29, 2024
Programming
280
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
More Decks by TsukasaSekiguchi
See All by TsukasaSekiguchi
既存repo / AIとのやり取りから、おれのハーネスエンジニアリングの現状と課題を見てもらった
tsukasagr
1
110
おれのAgentic Coding 2026/03
tsukasagr
1
180
Agentic Coding 時代に絶対抑えておきたい git worktree の基礎知識と、ちょっとだけMCPについても言及
tsukasagr
0
130
おれのAI活用の現状とこれから
tsukasagr
0
260
Deep Researchで積読解消!技術書キャッチアップ術
tsukasagr
0
140
v0とCursorで爆速開発🚀
tsukasagr
0
310
playwrightのVSCode拡張が便利すぎて、もはやE2E書けないとか言い訳できないレベルだった
tsukasagr
0
260
AWS_Copilotではじめる簡単コンテナ運用.pdf
tsukasagr
0
440
SupabaseにBaaS拡大の未来を感じた
tsukasagr
0
330
Other Decks in Programming
See All in Programming
Oxlintはいいぞ(続)
yug1224
1
270
テーブルをDELETEした
yuzneri
0
150
AIと壁打ちしながら進めるコスト管理
fufuhu
1
1.1k
in-process GraphQL のすすめ #ginzajs
izumin5210
4
1.4k
運用ダッシュボードの設計を誰も教えてくれないのだけどみなさんどうしてるんですか? - チームに監視するという文化を根付かせるための第一歩を踏みたい -
satoshi256kbyte
1
140
「寝てても仕事が進む」Claude Codeで組む第二の脳
tomoyafujita2016
0
350
freeeにおけるEvalsの実践例の紹介
freee
PRO
0
130
Android CLI
fornewid
0
230
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
4.9k
ソフトウェアラスタライザ
fadis
0
170
【QA Test Talk Vol.8】AI-DLC による Whole Team Approach の加速
pkshadeck
PRO
0
220
MySQLとPostgreSQLって何が違うの?
akagami
0
120
Featured
See All Featured
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
220
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
210
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
A Modern Web Designer's Workflow
chriscoyier
698
190k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
270
The Cult of Friendly URLs
andyhume
79
7k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Transcript
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 に挑戦して損は ない!」という⼀⾔で締めさせていただきます。
ご清聴ありがとうございました