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
Google I/O 2024で発表されたFirebase Data Connectを試してみた
Search
Kanon
August 24, 2024
1
35
Google I/O 2024で発表されたFirebase Data Connectを試してみた
Kyoto.なんか #6 の登壇資料です。
https://kyoto-nanka.connpass.com/event/324686/
Kanon
August 24, 2024
Tweet
Share
More Decks by Kanon
See All by Kanon
テストコード品質を高めるためにMutation Testingライブラリ・Strykerを実戦導入してみた話
ysknsid25
7
2.6k
そうだ、神戸へ行こう
ysknsid25
2
76
テストコードの品質を客観的な数値で担保しよう〜Mutation Testのすすめ〜
ysknsid25
12
4.4k
「ばん・さく・つき・たー!」にならないためにSHIROBAKOから 学んだこと
ysknsid25
4
1k
AI時代のソフトウェア エンジニアリングに備える
ysknsid25
2
64
2024年に発表されたFirebase(Web)の新機能を使ってみよう
ysknsid25
2
36
変な先入観を捨てて、 明日から勉強会・カンファレンス登壇 してみない?
ysknsid25
2
200
useSWRをuseContextの代わりに使ってみる試み
ysknsid25
1
470
東遊園地近辺のおすすめランチ・カフェ
ysknsid25
3
300
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
50
7.2k
The Language of Interfaces
destraynor
154
24k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
47
2.1k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
The Invisible Side of Design
smashingmag
298
50k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Imperfection Machines: The Place of Print at Facebook
scottboms
265
13k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.9k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
Transcript
Google I/O 2024 で発表された Firebase Data Connectを使ってみた 1 Kanon (@ysknsid25)
#kyoto.なんか
自己紹介 ↓詳しくは↓ Kanon アニオタ声豚酒カスラーメンレンジャー 水瀬いのり無限恒久永遠推し ysknsid25 Kobe.tsという勉強会を主催しています アイコンは公式配布のものです。 https://x.com/i/bookmarks/all?post_id=1806583319951233034
3 水瀬いのりさん
4 すいません、最初に宣伝させてください🙏
5 📢 最初に宣伝 🙏
6 以上、お知らせでした🙇
Firebase Data Connectとは? 7
8 ちな、知ってる人🙋
Firestoreに代わる新たなデータソース • これまで ◦ Firebase でデータソースを扱うには基本的には Firestoreを使う必要があった ◦ Firestore =
NOSQL ◦ RDB(CloudSQL)を使うには、Cloud Functionsを作る必要 • これから ◦ Data Connect が選択肢の一つに 9
できること • GraphQLを書けば、Data Connectが勝手にSQLへ変換してく れる ◦ 裏側ではCloud SQL for PostgreSQLが動いている
• SQLに詳しくない人でもGraphQLだけわかればDBにアクセス できる ◦ 後述しますが一長一短とは思います • Cloud SQLを使うための設定などがめちゃくちゃ簡単 • 現在は限定公開プレビューのため、申請者のみ利用可能 10
11 たぶん今日話す内容で 記事書いたり発表してるのは 日本人では自分が初 Qiitaにも記事あるけど ちゃんと環境作って試 して記事を出してるの は自分がおそらく初
12
使い方 13
Cloud SQLインスタンスの用意 14
Cloud SQLインスタンスの用意 15
Cloud SQLインスタンスの用意 16
Cloud SQLインスタンスの用意 17
開発用のPostgreSQLコンテナを用意 18
VSCodeに開発用拡張機能を追加 19
Data Connect 用プロジェクトの作成 20 firebase init dataconnect
デモ用のファイルが用意されている 21
利用するスキーマ (テーブルに対応) 22
コメントを外し、保存するだけでテーブル作成 23
GraphQLのquery,mutationも自動作成 24
実行もコードから可能 25
データを登録 26
再度参照すると…? 27
DB側も…? 28
本番へデプロイし確認 29
デプロイ時、CREATE TABLEが走ってるのがわかる 30
Firebase Console側 31
実行 32
Cloud SQL側で確認 33
Cloud SQL側で確認 34
とあるユーザーが送信したメールの一覧 35 join が使われそうだけど …?
すごいクエリが吐かれてる… 36
アプリに組み込んで使うには…? 37 SDKに firebase/data-connect がいないので 検証できず…
まとめ • ローカルでの開発体験やGraphQLがそのままSQLになっ てるのは素直に感動 • アプリケーションの成長に伴いFirestore -> CloudSQL への移行とかが発生しなくなりそうなのは良い •
複雑なデータ抽出が必要になったり、チューニングが 必要になったときはしんどそう • どういうGraphQLを書けばどういうSQLができるか?が イメージできないのはしんどそう 38
39 ご清聴、あざざました
おわりに: 次はこの辺でお会いしましょう🙋