Backend-as-a-Service(BaaS)は、開発者がWebまたはモバイル開発の舞台裏のコンポーネントを外部委託して、プラグアンドプレイベースでフロントエンドの構築と保守に集中できるようにするサービスパラダイムです。サーバー側のコードを書く負担を回避します。
認証、データベース管理、リアルタイム更新、ストレージ、ホスティング、プッシュアラートなどのサーバー側タスクをサポートするソフトウェアは、BaaSプラットフォーム(モバイルアプリ用)によって提供されます。
さまざまなバックエンドサービスが基本的に同じソリューションを提供しますが、それらは異なるバックエンドテクノロジーを使用します。 これは、特定のプロジェクトに最適なサービスを選択する際の多くの開発者にとって決定的な要因です。
この記事では、Supabaseについて詳しく説明します。
何ですか スーパーベース?
スーパーベース は、さまざまなアプリケーションにサービスとしてのバックエンドを提供するオープンソースのFirebaseの代替手段です。 セットアップは非常に簡単で、さまざまなフレームワークを使用して迅速に動作します。 Supabaseは、Firebaseのオープンソースの代替品であると自負しています。
これは、開発者がバックエンドをすばやくセットアップするのに役立つことを目的としています。 「週末に構築し、数百万に成長します」とSupabaseは言います。
Supabase製品には、Postgresデータベースと認証サービスが含まれており、ストレージとサーバーレスサービス(バックエンドロジック用)はまだ機能しています。 そのツールはすべて、ほとんどが無料でオープンソースです。 Postgresデータベースには、データベース変更のリアルタイム監視や管理インターフェイスなどのデータベース関連ツールが含まれています。
さらに、Firebaseに匹敵するクイックAPIと構文を提供します。 これにより、CRUDタスクを一貫した方法で処理できるため、繰り返しのCRUDコードを書き直すのではなく、作成に集中できます。
Postgresデータベースは、スプレッドシートの場合と同じように、整理され接続されたデータを保存できるテーブルです。 驚いたことに、プロジェクトを作成するときに、Postgresデータベースとして既存のスプレッドシートを使用できます。
Supabaseはどのように機能しますか?
Supabaseは、無料のソーステクノロジーのコレクションです。 彼らは、エンタープライズグレードのオープンソースソリューションでFirebase機能を作成しています。 ツールとコミュニティがMIT、Apache 2、または同等のオープンライセンスの下で利用できる場合、それらはそれらを使用およびサポートします。
ツールがまだ存在しない場合は、ツールを作成し、次のように利用できるようにします。 オープンソースの。 SupabaseはFirebaseの1:1マッピングではありません。 彼らの目標は、開発者にFirebaseのような開発エクスペリエンスを提供することです。 オープンソース 技術。
Supabaseは、ホストされるプラットフォームです。 サインアップして、何もインストールせずに使用を開始できます。 セルフホストして、独自のサーバー上に構築することもできます。
- PostgreSQLは、安定性、機能の堅牢性、および速度で高い評価を得ています。 30年以上の活発な開発の後、
- Realtimeは、WebSocketを使用してPostgreSQLの挿入、更新、および削除をリッスンできるElixirサーバーです。 Supabaseは、Postgresからのレプリケーション要求をリッスンし、レプリケーションバイトストリームをJSONに変換してから、WebSocketを介してJSONをブロードキャストします。
- PostgRESTは、PostgreSQLデータベースをRESTfulAPIに変換するWebサーバーです。
- Storageは、Postgresをライツマネージャーとして、S3に保存されたファイルを管理するためのRESTfulインターフェイスを提供します。
- Postgres-metaは、Postgresを管理するためのRESTful APIであり、テーブルのダウンロード、責任の割り当て、クエリの実行などを行うことができます。
- GoTrueはSWTベースのAPIであり、ユーザーの管理とSWTトークンの発行を可能にします。
- Kongは、クラウド上で実行されるAPIゲートウェイです。
始める
1.プロジェクト
Supabaseでは、プロジェクトはすべてのデータベース、認証ユーザー、ルール、テーブル、およびファイルストレージのコンテナーです。
プロジェクトをホストする場所はいくつかあり、Supabase管理者は、レイテンシーを減らすために常に新しいサイトを追加しています。 プロジェクトの作成には約2分かかるので、コーヒーを飲み、座ってリラックスしてください。
2。 プロジェクトダッシュボード
プロジェクトが終了すると、次のようなダッシュボードが表示されます。 このダッシュボードには、データベース接続、認証要求、ストレージ容量、クライアントライブラリの実装など、プロジェクトについて知っておく必要のあるすべてが表示されます。
3.テーブルの作成者と編集者
Supabaseのデータベースは、Postgres RLS(行レベルのセキュリティ)を使用したリアルタイム機能とポリシーアクセス制御を備えたリレーショナルPostgreSQLです。 開発者は、Supabaseのダッシュボードを使用してテーブルを作成し、列とプロパティを追加できます。 開発者は、Supabaseを使用してダッシュボードから直接データを変更できます。
4.認証
Google、GitHub、Facebook、Twitter、GitLab、およびその他の認証プロバイダーがSupabaseで利用できます。 これらは、認証パネルを使用してオンにすることができます。 また、電話OTPとマジックリンク認証もサポートしています。
5。 ストレージ
Supabaseは、あらゆる種類のファイルを処理できるオープンソースのオブジェクトストレージシステムであり、スケーラビリティが組み込まれています。 カスタムルールと権限を有効にする使いやすいAPIがあります。 CDN統合、および自動変換と最適化(マテリアルのサイズ変更と圧縮)がまもなく利用可能になります。 Supabaseストレージは、これらの機能が含まれているため、Firebaseストレージの手ごわいライバルになります。
Supabaseで何を構築できますか? (いくつかの例)
1. サブスクリプションの支払い Supabase + Stripe+Next.jsを使用します。
高性能SaaSアプリの完全なスターターセット。
- Supabaseは、安全なユーザー管理と認証を提供します。
- StripeCheckoutとStripeカスタマーポータルの統合。
- Supabaseは、PostgreSQL上に強力なデータアクセスおよび管理ツールを提供します。
- Stripe Webhookを使用すると、料金プランとサブスクリプションステータスの自動同期が可能になります。
2. キープリンク:タグとアーカイブを備えたシンプルなブックマークサービス
KeepLinkは、SupabaseとNext.jsで構築されたタグとアーカイブを備えた基本的なブックマークサービスです。 ソーシャル共有機能はありませんが、独自のインスタンスをホストすることはできます。
- 既存のタグに基づいて、新しいブックマークに自動的にタグを付けます。
- Supabaseスタック、管理データベースのタグ付けエイリアス、およびRESTful APIアクセスのおかげで、URL、タイトル、説明、タグ、およびアーカイブコンテンツの全文検索が可能になりました。
- metascraperを使用すると、ページのタイトルと説明を自動的に収集できます。 SinglePageとHeadlessChromeを使用してページをアーカイブすることもできます。
3. リアルタイムチャットアプリ Supabase+Reactを使用
- リアルタイムメッセージングには、Supabase(PostgreSQLの上に)が使用されます。
- フロントエンドはReact(CRA)+Viteを使用します
- 使用されるUIライブラリはChakraUIです。
主な機能
Supabaseの機能の一部を次に示します。
- XNUMX分以内にデータベースをセットアップおよび管理するためのダッシュボード/ユーザーインターフェイス。
- ユーザーをサインアップしてデータベースのアクセス制限を更新するには、ユーザー認証を適用します。
- APIとJavaScriptライブラリ。
- リアルタイムのデータベースリスナー。
- 関数(ちょっと)。 これらは、SQL、JavaScript、Python、またはJavaで記述できるデータベースストアドプロシージャです。
メリット
Supabaseは、次の理由で差別化されています。
- Firebaseとは対照的に、複雑なクエリやテキスト検索を実行できます。
- Supabaseがスケーリングを処理します(SQLデータベースを使用している場合でも)
- SupabaseはPostgreSQLを利用しているため、データの移行は簡単です。また、.sqlファイルを使用してデータをインポートできます。
デメリット
Supabaseを採用することにはいくつかの欠点があります。 それらは次のとおりです。
- リアルタイムの変更を受け取るには、テーブルのレプリケーション機能をアクティブ化する必要があります。
- リアルタイム更新が有効になっている場合、Supabaseのセキュリティポリシーは適用されません。
- 機能は限られています。
- そのSDKはJavaScriptでのみ動作します(他の言語のサポートはまだベータ版です)
価格(英語)
1.無料利用枠
- 500MBのストレージスペースと無制限のAPI呼び出しを備えたデータベース
- 認証–最大10,000ユーザー
- ファイルストレージ–最大1 GBのストレージ、最大2GBの月間転送制限。
2.従量課金制
- データベース–ストレージGBあたり$ 0.125、API呼び出しの制限なし
- Auth –無制限
- ファイルストレージ–データは0.021GBあたり0.07ドルで保存され、データ転送はXNUMXGBあたりXNUMXドルです。
価格情報の詳細については、彼らのウェブサイトをチェックしてください。.
まとめ
Supabase は最高のオープンソースです Google の Firebase の代替. PostgreSQLの能力により、さまざまな優れた機能を提供し、他のリアルタイムデータベースシステムのようなデータ型の制限はありません。
Supabaseとその優れた機能を使用して、さまざまなアプリを作成できます。 今日それを試してみてください!
マルセロ
B2B SaaS の場合、顧客ごとに 1 人のマスター ユーザーを配置し、このマスターに関連する他の N 人のユーザーがこの顧客からのデータのみを処理することは可能ですか?