Supabase LWX (ローンチウィークX) まとめ

Supabaseでは1年に３、４回 LW (Launch Week)という、平日５日間毎日新機能を発表するオンラインイベントを開催しています！12月の11日から15日がLWXということで9回目（iPhone方式）のローンチウィークでした。

今回は1日一つだけでなく、「Main Stage」と「Build Stage」と題して1日に２つアップデートを

そんなローンチウィークを簡単にまとめていきましょう。

## Pre Launch Week

11日にローンチウィーク本番が始まる前にまずSupabaseが楽曲アルバムを出しました。シンセサイザーで作られたいい感じの音楽が多数入っているのでぜひ開発をしながら聴いてみてください。

<iframe width="560" height="315" src="https://www.youtube.com/embed/r1POD-IdG-I?si=c1v83GemZMgBDjIi" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>

## Day 1

初日はダッシュボードのアップデートとGraphQLのアップデートでした。ダッシュボードのテーブルエディターから他のユーザーの権限の状態でデータを見ることができるようになり、セキュリティ周りのデバッグが一気に楽になった気がします。

<iframe width="560" height="315" src="https://www.youtube.com/embed/hu2SQjvCXIw?si=sp7EmUAPX4pMc4kE" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>

GraphQLアップデートは、Postgres FunctionをGraphQLからでもコールできる様になった話です！これにより今まで痒くて手が届かなかった機能の実装が可能になりそうです！

<blockquote class="twitter-tweet"><p lang="en" dir="ltr">LW🆇 - Build Stage 🏗️ announcement<br><br>pg_graphql&#39;s most requested feature: Postgres functions (a.k.a. User Defined Functions).<br><br>Blog post: <a href="https://t.co/T9xOctXQj5">https://t.co/T9xOctXQj5</a> <a href="https://t.co/Y8M4evk4MN">pic.twitter.com/Y8M4evk4MN</a></p>&mdash; Supabase (@supabase) <a href="https://twitter.com/supabase/status/1734499497344995632?ref_src=twsrc%5Etfw">December 12, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

## Day 2

二日目はSupabase Edge Functionsにnpmサポートがやってきたことがなんといっても一番大きなアップデートでした。Supabase Edge FunctionsはDenoを使っていて、今までnpmパッケージを使うことができませんでしたが、今回のアップデートで晴れて使える様になりました！これで既存のNode.jsアプリケーションのマイグレーションも楽になります！

<iframe width="560" height="315" src="https://www.youtube.com/embed/eCbiywoDORw?si=9ra_hOS64S13Ow2-" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>

実は個人的には二日目のBuild Stageの発表が一番のお気に入りで、こちらはSupabaseのAPIに新機能がやってくる話です。count(), max()などの集計関数をAPIから使える様になります！同時に、group byもできる様になって、今までrpc()を使わなければできなかったことが一気にAPIだけで完結する様になりました。

<blockquote class="twitter-tweet"><p lang="en" dir="ltr">LW🆇 Day 3 - Build Stage 🏗️ announcement<br><br>PostgREST 12 is out! We take a look at some of our favorite new features like JWT Caching and Aggregate Functions.<br><br>Read on: <a href="https://t.co/UODRYdUtmh">https://t.co/UODRYdUtmh</a> <a href="https://t.co/geAMGTkjB4">pic.twitter.com/geAMGTkjB4</a></p>&mdash; Supabase (@supabase) <a href="https://twitter.com/supabase/status/1734846881392390334?ref_src=twsrc%5Etfw">December 13, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

## Day 3

三日目はデータベースブランチング機能がやってくるお話です！Database版Vercelだと思ってもらえるとわかりやすいかもしれません！Githubでブランチを作ると、Supabaseも自動的にそのブランチ用の環境を作ってくれて、その中で色々テストができる様な形になっています。この機能を心待ちにしていた方が多かったのでこうしてようやく提供し始められて嬉しいです！現在は事前にベータプログラムに参加してくださった方から提供していますが、少しずつ全てのユーザーさんに提供していけるはずです。

<iframe width="560" height="315" src="https://www.youtube.com/embed/peXKxavGnBo?si=f1vckyQeKHUtnKsj" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>

SupavisorはSupabaseがElixirを作った人と共同開発した新しい Postgresのコネクションプーラーです。Postgresデータベースに新規コネクションを貼るのって実は意外と重いプロセスだったりするので、現代のサーバーレスなアーキテクチャーを支えるために直接外部サーバーからPostgresに繋ぐのではなく、こういったプーラー経由で接続するのが一般的だったりします。

<blockquote class="twitter-tweet"><p lang="en" dir="ltr">LW🆇 Day 3 - Build Stage 🏗️ announcement<br><br>Supavisor 1.0: is ready for production and brings three big new features:<br><br>⬥ Query load balancing<br>⬥ Named prepared statement support<br>⬥ Query cancelation<br><br>Blog post: <a href="https://t.co/hy8ByzFTAR">https://t.co/hy8ByzFTAR</a> <a href="https://t.co/3IWBNTtUJY">pic.twitter.com/3IWBNTtUJY</a></p>&mdash; Supabase (@supabase) <a href="https://twitter.com/supabase/status/1734904595560743065?ref_src=twsrc%5Etfw">December 13, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

## Day 4

四日目はAuthのアップデートがメインでした！既存のユーザーアカウントを他のOAuthプロバイダーのアカウントに紐付けることが新しくできる様になったり、漏洩したパスワードをユーザーが使おうとした時に警告を出したりと大きなアップデートがいくつも発表されました！

特に、アカウントを紐付けできる機能は来る匿名認証の布石としてとても大きなアップデートです！

<iframe width="560" height="315" src="https://www.youtube.com/embed/LF8GABnAFyE?si=fIYpTh5JbodU_goX" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>

ビルドステージはSupabase Wrapperのお話です！Supabase WrapperはStripeやFirebaseなど外部のサービスのデータをさもSupabase内のテーブルであるかのような感覚で操作できるツールです。今回はそのSupabase Wrapperにパフォーマンス向上や、新規対応サービスの追加などのアップデートがやってきました。

<blockquote class="twitter-tweet"><p lang="en" dir="ltr">LW🆇 Day 4 - Build Stage 🏗️ announcement<br><br>Supabase Wrappers v0.2: new Wrappers (<a href="https://twitter.com/airtable?ref_src=twsrc%5Etfw">@airtable</a>, <a href="https://twitter.com/ClerkDev?ref_src=twsrc%5Etfw">@ClerkDev</a>, and others), support for query pushdown, and much more.<br><br>Blog post: <a href="https://t.co/UqXmgFVF5b">https://t.co/UqXmgFVF5b</a> <a href="https://t.co/Wr6S1DM4lo">pic.twitter.com/Wr6S1DM4lo</a></p>&mdash; Supabase (@supabase) <a href="https://twitter.com/supabase/status/1735215684328595613?ref_src=twsrc%5Etfw">December 14, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

## Day 5

最終日のメインステージはリードレプリカでした。Supabaseのダッシュボードからリードレプリカを新しく追加することができる様になり、Edge Functionsなどからデータベースにアクセスすると自動的に最寄りのDatabaseから必要な情報を読み取ってくる形になります。世界中にユーザーを抱えるサービスを開発するときに重宝しますね！ちなみにwriteはメインのDBに対してのみ行う形になります。

<iframe width="560" height="315" src="https://www.youtube.com/embed/PX3R1fXjJ2M?si=ApcouS1qZJCq1yNU" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>

最終日はビルドステージに二つのアップデートがありました。まずはSupaFly![Fly.io](https://fly.io/)はDockerを簡単にEdgeにデプロイするサービスを提供する今イケイケの規模感的にはSupabaseと近いスタートアップですが、そのFly上でPostgresデータベースを作成するときにSupabaseをデプロイ先として選べる様になるというアップデートです。FlyではすでにPostgresサービスを提供していましたが、アンマネージドでした。SupabaseはマネージドPostgresサービスで、データベースの運営にそこまで詳しくない人でも立ち上げて使うことができます。FlyでもこのようなマネージドPostgresを提供したいということで今回のパートナーシップが実現しました！

<blockquote class="twitter-tweet"><p lang="en" dir="ltr">LW🆇 Day 5 - Build Stage 🏗️ announcement<br><br>Fly Postgres, a managed Postgres offering jointly developed by Supabase and <a href="https://twitter.com/flydotio?ref_src=twsrc%5Etfw">@flydotio</a>.<br><br>Learn more: <a href="https://t.co/rD51Iaj3Uz">https://t.co/rD51Iaj3Uz</a> <a href="https://t.co/7D8v3rQLXZ">pic.twitter.com/7D8v3rQLXZ</a></p>&mdash; Supabase (@supabase) <a href="https://twitter.com/supabase/status/1735631965863223455?ref_src=twsrc%5Etfw">December 15, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

二つ目のビルドステージの発表はクライアントライブラリーのアップデートです！supabase-jsは去年にv2.0にアップデートされましたが、今回のローンチウィークでFlutter, Python, Swift, Kotlinのライブラリーもv2.0にアップデートされ、より安定したサービスを提供できる様になりました。個人的にはSwiftとKotlinのアップデートはアツいなと思っております。モバイルアプリ開発を行っている方々はぜひSwiftやKotlin SDKを使ってSupabaseでアプリ作成してみてください！

<blockquote class="twitter-tweet"><p lang="en" dir="ltr">LW🆇 Day 5 - Build Stage 🏗️ announcement <br><br>Supabase Client Libraries v2.0<br>⬥ <a href="https://twitter.com/ThePSF?ref_src=twsrc%5Etfw">@ThePSF</a><br>⬥ <a href="https://twitter.com/SwiftLang?ref_src=twsrc%5Etfw">@SwiftLang</a><br>⬥ <a href="https://twitter.com/kotlin?ref_src=twsrc%5Etfw">@kotlin</a><br>⬥ <a href="https://twitter.com/FlutterDev?ref_src=twsrc%5Etfw">@FlutterDev</a><br>⬥ <a href="https://twitter.com/typescript?ref_src=twsrc%5Etfw">@typescript</a> <br><br>More info: <a href="https://t.co/Xud4q2K9nv">https://t.co/Xud4q2K9nv</a> <a href="https://t.co/QYG1Q1YPtp">pic.twitter.com/QYG1Q1YPtp</a></p>&mdash; Supabase (@supabase) <a href="https://twitter.com/supabase/status/1735584930564882767?ref_src=twsrc%5Etfw">December 15, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

## まとめ

以上、LWXいかがでしたか？今回は過去最高にアップデートが多くて中の人でも追っているのが大変なくらいでした！次回のLWも楽しみにしててください！いつになるかな？3月か4月くらいかな？