Supabaseでは1年に3、4回 LW (Launch Week)という、平日5日間毎日新機能を発表するオンラインイベントを開催しています!12月の11日から15日がLWXということで9回目(iPhone方式)のローンチウィークでした。
今回は1日一つだけでなく、「Main Stage」と「Build Stage」と題して1日に2つアップデートを
そんなローンチウィークを簡単にまとめていきましょう。
Pre Launch Week
11日にローンチウィーク本番が始まる前にまずSupabaseが楽曲アルバムを出しました。シンセサイザーで作られたいい感じの音楽が多数入っているのでぜひ開発をしながら聴いてみてください。
Day 1
初日はダッシュボードのアップデートとGraphQLのアップデートでした。ダッシュボードのテーブルエディターから他のユーザーの権限の状態でデータを見ることができるようになり、セキュリティ周りのデバッグが一気に楽になった気がします。
GraphQLアップデートは、Postgres FunctionをGraphQLからでもコールできる様になった話です!これにより今まで痒くて手が届かなかった機能の実装が可能になりそうです!
LW🆇 - Build Stage 🏗️ announcement
— Supabase (@supabase) December 12, 2023
pg_graphql's most requested feature: Postgres functions (a.k.a. User Defined Functions).
Blog post: https://t.co/T9xOctXQj5 pic.twitter.com/Y8M4evk4MN
Day 2
二日目はSupabase Edge Functionsにnpmサポートがやってきたことがなんといっても一番大きなアップデートでした。Supabase Edge FunctionsはDenoを使っていて、今までnpmパッケージを使うことができませんでしたが、今回のアップデートで晴れて使える様になりました!これで既存のNode.jsアプリケーションのマイグレーションも楽になります!
実は個人的には二日目のBuild Stageの発表が一番のお気に入りで、こちらはSupabaseのAPIに新機能がやってくる話です。count(), max()などの集計関数をAPIから使える様になります!同時に、group byもできる様になって、今までrpc()を使わなければできなかったことが一気にAPIだけで完結する様になりました。
LW🆇 Day 3 - Build Stage 🏗️ announcement
— Supabase (@supabase) December 13, 2023
PostgREST 12 is out! We take a look at some of our favorite new features like JWT Caching and Aggregate Functions.
Read on: https://t.co/UODRYdUtmh pic.twitter.com/geAMGTkjB4
Day 3
三日目はデータベースブランチング機能がやってくるお話です!Database版Vercelだと思ってもらえるとわかりやすいかもしれません!Githubでブランチを作ると、Supabaseも自動的にそのブランチ用の環境を作ってくれて、その中で色々テストができる様な形になっています。この機能を心待ちにしていた方が多かったのでこうしてようやく提供し始められて嬉しいです!現在は事前にベータプログラムに参加してくださった方から提供していますが、少しずつ全てのユーザーさんに提供していけるはずです。
SupavisorはSupabaseがElixirを作った人と共同開発した新しい Postgresのコネクションプーラーです。Postgresデータベースに新規コネクションを貼るのって実は意外と重いプロセスだったりするので、現代のサーバーレスなアーキテクチャーを支えるために直接外部サーバーからPostgresに繋ぐのではなく、こういったプーラー経由で接続するのが一般的だったりします。
LW🆇 Day 3 - Build Stage 🏗️ announcement
— Supabase (@supabase) December 13, 2023
Supavisor 1.0: is ready for production and brings three big new features:
⬥ Query load balancing
⬥ Named prepared statement support
⬥ Query cancelation
Blog post: https://t.co/hy8ByzFTAR pic.twitter.com/3IWBNTtUJY
Day 4
四日目はAuthのアップデートがメインでした!既存のユーザーアカウントを他のOAuthプロバイダーのアカウントに紐付けることが新しくできる様になったり、漏洩したパスワードをユーザーが使おうとした時に警告を出したりと大きなアップデートがいくつも発表されました!
特に、アカウントを紐付けできる機能は来る匿名認証の布石としてとても大きなアップデートです!
ビルドステージはSupabase Wrapperのお話です!Supabase WrapperはStripeやFirebaseなど外部のサービスのデータをさもSupabase内のテーブルであるかのような感覚で操作できるツールです。今回はそのSupabase Wrapperにパフォーマンス向上や、新規対応サービスの追加などのアップデートがやってきました。
LW🆇 Day 4 - Build Stage 🏗️ announcement
— Supabase (@supabase) December 14, 2023
Supabase Wrappers v0.2: new Wrappers (@airtable, @ClerkDev, and others), support for query pushdown, and much more.
Blog post: https://t.co/UqXmgFVF5b pic.twitter.com/Wr6S1DM4lo
Day 5
最終日のメインステージはリードレプリカでした。Supabaseのダッシュボードからリードレプリカを新しく追加することができる様になり、Edge Functionsなどからデータベースにアクセスすると自動的に最寄りのDatabaseから必要な情報を読み取ってくる形になります。世界中にユーザーを抱えるサービスを開発するときに重宝しますね!ちなみにwriteはメインのDBに対してのみ行う形になります。
最終日はビルドステージに二つのアップデートがありました。まずはSupaFlyはDockerを簡単にEdgeにデプロイするサービスを提供する今イケイケの規模感的にはSupabaseと近いスタートアップですが、そのFly上でPostgresデータベースを作成するときにSupabaseをデプロイ先として選べる様になるというアップデートです。FlyではすでにPostgresサービスを提供していましたが、アンマネージドでした。SupabaseはマネージドPostgresサービスで、データベースの運営にそこまで詳しくない人でも立ち上げて使うことができます。FlyでもこのようなマネージドPostgresを提供したいということで今回のパートナーシップが実現しました!
LW🆇 Day 5 - Build Stage 🏗️ announcement
— Supabase (@supabase) December 15, 2023
Fly Postgres, a managed Postgres offering jointly developed by Supabase and @flydotio.
Learn more: https://t.co/rD51Iaj3Uz pic.twitter.com/7D8v3rQLXZ
二つ目のビルドステージの発表はクライアントライブラリーのアップデートです!supabase-jsは去年にv2.0にアップデートされましたが、今回のローンチウィークでFlutter, Python, Swift, Kotlinのライブラリーもv2.0にアップデートされ、より安定したサービスを提供できる様になりました。個人的にはSwiftとKotlinのアップデートはアツいなと思っております。モバイルアプリ開発を行っている方々はぜひSwiftやKotlin SDKを使ってSupabaseでアプリ作成してみてください!
LW🆇 Day 5 - Build Stage 🏗️ announcement
— Supabase (@supabase) December 15, 2023
Supabase Client Libraries v2.0
⬥ @ThePSF
⬥ @SwiftLang
⬥ @kotlin
⬥ @FlutterDev
⬥ @typescript
More info: https://t.co/Xud4q2K9nv pic.twitter.com/QYG1Q1YPtp
まとめ
以上、LWXいかがでしたか?今回は過去最高にアップデートが多くて中の人でも追っているのが大変なくらいでした!次回のLWも楽しみにしててください!いつになるかな?3月か4月くらいかな?