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
TsukasaSekiguchi
June 29, 2024
Programming
270
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
おれのAgentic Coding 2026/03
tsukasagr
1
170
Agentic Coding 時代に絶対抑えておきたい git worktree の基礎知識と、ちょっとだけMCPについても言及
tsukasagr
0
130
おれのAI活用の現状とこれから
tsukasagr
0
240
Deep Researchで積読解消!技術書キャッチアップ術
tsukasagr
0
140
v0とCursorで爆速開発🚀
tsukasagr
0
300
playwrightのVSCode拡張が便利すぎて、もはやE2E書けないとか言い訳できないレベルだった
tsukasagr
0
250
AWS_Copilotではじめる簡単コンテナ運用.pdf
tsukasagr
0
430
SupabaseにBaaS拡大の未来を感じた
tsukasagr
0
330
超ざっくりFirebase vs Amplify
tsukasagr
0
380
Other Decks in Programming
See All in Programming
Honoでのサプライチェーン侵害対策 〜 3つのライブラリに学ぶ
yusukebe
7
1.4k
Dataformのリポジトリを立ち上げるときにまずやること / dataform-day0-2026
snhryt
0
180
AIだと陥りがちなJakarta EE最新技術への移行時の落とし穴と解決策
tnagao7
0
120
Vite+ Unified Toolchain for the Web
naokihaba
0
330
Oxcを導入して開発体験が向上した話
yug1224
4
330
なぜ型を書くのか? TSKaigi2026で改めて考える #tskaigi_smarthr
kajitack
0
130
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
560
鹿野さんに聞く!『TypeScriptコードレシピ集』で磨く実践力
tonkotsuboy_com
2
220
さぁV100、メモリをお食べ・・・
nilpe
0
150
エージェンティックRAGにAWSで入門しよう!
har1101
9
1.7k
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
370
TAKTでAI駆動開発の品質を設計する
j5ik2o
7
1.5k
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Balancing Empowerment & Direction
lara
6
1.2k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Between Models and Reality
mayunak
4
350
The Limits of Empathy - UXLibs8
cassininazir
1
370
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
290
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Evolving SEO for Evolving Search Engines
ryanjones
0
220
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
540
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
200
Deep Space Network (abreviated)
tonyrice
0
210
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 に挑戦して損は ない!」という⼀⾔で締めさせていただきます。
ご清聴ありがとうございました