Firebaseをやめてこれを使おう… オープンソースの代替案 (Appwrite)

BBetter Stack
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00Firebaseは素晴らしいツールですが、アプリが成長し始めると話は別です。
00:00:03ユーザーが増え、トラフィックが急増すると、バックエンドの性能よりも
00:00:09利用料金が大きな問題になってきます。
00:00:10さらに悪いことに、バックエンドを制御しているのは自分ではなくFirebaseだと気づくのです。
00:00:14もし、認証、データベース、ストレージ、リアルタイム機能など、
00:00:19Firebaseの利点はそのままに、データを自分で管理しながら運用できたらどうでしょうか?
00:00:24それがAppwriteです。昨年から多くの開発者が
00:00:28このオープンソースへと乗り換えています。
00:00:29わずか数分で完了するセットアップ方法を見ていきましょう。
00:00:37Firebaseが認証、リアルタイムDB、ストレージ、メッセージングといった
00:00:42便利な機能を提供していることは周知の通りです。
00:00:43だからこそ、多くの開発者がまずはそこから使い始めます。
00:00:45Appwriteも同様のコア機能に加え、チーム管理、セルフホスト、各種通知プロバイダー、
00:00:52さらにはAIツールまで備えています。
00:00:54決定的な違いはシンプルです。
00:00:55自分のサーバー、自分のVPS、自分の環境で、自らのルールで運用できる点です。
00:00:59開発ワークフローを加速させるこうしたオープンソースツールに興味がある方は、
00:01:03ぜひBetter Stackチャンネルを登録してください。
00:01:05Appwriteでは、メール、OAuth、マジックリンク、匿名サインイン、
00:01:10さらに多要素認証(MFA)も利用可能です。
00:01:12データベースは、ドキュメント型とリレーショナル構造を組み合わせたリアルタイム仕様です。
00:01:15ファイル変換機能付きのストレージも備わっています。
00:01:1713言語以上に対応したサーバーレス関数や、プッシュ通知、メール、SMSなどの
00:01:23メッセージング機能も充実しています。
00:01:24セルフホストも可能ですし、クラウド版を利用することもできます。
00:01:27そして、多くの人が驚くポイントがこちらです。
00:01:28これほど強力なのに、セルフホストの手順は驚くほど簡単なのです。
00:01:32理屈を並べるのはこれくらいにして、
00:01:34実際に立ち上げて、皆さんのプロジェクトにAppwriteを
00:01:38組み込む方法をお見せしましょう。
00:01:39最初のステップは単純です。
00:01:41Dockerが起動していることを確認してください。
00:01:43次にターミナルを開き、このコマンドを入力して、
00:01:46Docker Composeを実行します。
00:01:49これだけです。
00:01:50これでバックエンドの構築は完了。
00:01:51すぐに使い始められます。
00:01:52このページが表示されたら、新規アカウントを作成するか、
00:01:56既存のAppwriteアカウントでログインします。
00:01:58では、新しいプロジェクトを作成しましょう。
00:02:00今回はデモ用なので、名前は「TodoApp」にします。
00:02:04作成したらプロジェクトIDをコピーしてください。
00:02:06後でENVファイルに追加する必要があるので、メモしておくか、
00:02:10直接ENVファイルに貼り付けておきましょう。
00:02:13次に、ローカル開発用のWebプラットフォームを追加します。
00:02:16「Auth」から「Web Apps」、そして「Add Platform」へ進みます。
00:02:19ホスト名は「localhost」のままで保存します。
00:02:23続いてデータベースをセットアップし、コレクションを作成します。
00:02:26データベース全体の中で、コレクションはテーブルのような役割を果たします。
00:02:30必要な分だけカラムを追加することが可能です。
00:02:33ここでは「email」「title」「content」、そして
00:02:38「userID」などを使ってみましょう。
00:02:40次にアクセス権限を設定します。
00:02:42「Any」はログインの有無にかかわらず全ユーザーが対象です。
00:02:45ここでは「Read(閲覧)」のみに設定します。
00:02:48それ以外の権限は、ログイン済みのユーザーに対して設定します。
00:02:51ToDoリストなので、
00:02:52読み取り、更新、削除といった基本的なCRUD操作をすべて許可しましょう。
00:02:57Appwriteの素晴らしい点は、バックエンド側でこれらを一括管理できることです。
00:03:02非常に簡単ですね。
00:03:03いくつかのチェックボックスを操作するだけです。
00:03:05これでコードと連携させる準備が整いました。
00:03:06エンドポイントやプロジェクトID、データベースID、
00:03:10テーブル名などをプロジェクトのENVファイルに直接記述します。
00:03:16本格的なバックエンド構築に見えますが、実際にはAppwriteで設定した
00:03:20いくつかの項目をコードに繋いだだけです。
00:03:23よし。
00:03:24動作テストをしてみましょう。
00:03:25アプリを起動します。
00:03:26まず、新しいユーザーアカウントを作成します。
00:03:29サインアップを行います。
00:03:30ログインできたら、タスクを作成してみましょう。
00:03:33タイトルと詳細を入力して、
00:03:37追加ボタンを押します。
00:03:38ほら、この通り。
00:03:39エラーもなく、正常に動作していますね。
00:03:41データがアプリケーションに送信されています。
00:03:43Appwriteの管理画面に戻ると、データが届いているのが確認できます。
00:03:48ここで2つのタブを開き、一方はログイン済み、
00:03:53もう一方は未ログインの状態にします。
00:03:54最初のタブでデータを送信すると、閲覧権限を与えられた
00:03:59もう一方のタブ(未ログイン側)にも即座に反映されます。
00:04:03ごくわずかなコード量で、認証機能が統合され、
00:04:08データベースへの保存と同期が実現できました。
00:04:13複数ページでのデータ共有もバッチリです。
00:04:14では、なぜ多くの開発者がAppwriteを選ぶのでしょうか?
00:04:17最大の理由は明白です。
00:04:18「データの所有権」です。
00:04:19自分のデータを自分自身で完全にコントロールできるのです。
00:04:21オープンソースプロジェクトであるため、
00:04:23データの保護をより強固にできます。
00:04:25さらに、シートあたりの課金もありません。
00:04:27FirebaseやSupabaseは、規模が大きくなると隠れたコストが発生しがちです。
00:04:31完全に「隠れた」わけではありませんが、費用は着実に嵩みます。
00:04:35Appwriteが備えている機能のほとんどは、
00:04:39FirebaseやSupabaseにも存在します。
00:04:40つまり、機能面で妥協する必要はないということです。
00:04:42セルフホストかクラウドかを選べ、SDKの出来も良く、
00:04:47ReactやFlutterなどに対応しています。
00:04:49繰り返しになりますが、これはオープンソースです。
00:04:51完璧とは言えませんが、開発者であれば大抵のことは
00:04:55すぐに解決できるはずで、大きな障害にはなりません。
00:04:57強いて言えばDockerの知識が必要ですが、習得は難しくありません。
00:05:00了解です。
00:05:01Dockerを使えるなら、瞬時に環境を構築できるので非常に強力です。
00:05:05標準でグローバルCDNやエッジ関数は内蔵されていません。
00:05:07必要であれば、Cloudflareなどを統合して補う形になります。
00:05:10データベースはMariaDBベースです。
00:05:13SupabaseのようにPostgresを採用しているわけではありません。
00:05:16大規模に拡張する場合は、適切なモニタリング体制が必要になりますが、
00:05:20これは自前のツールを運用するなら当然のことです。
00:05:22そこでBetter Stackのようなツールが真価を発揮します。
00:05:26では、実際に使うべきか、あるいは誰に向いているのか?
00:05:30まず、サービス成長に伴う高額な請求を避けたい開発者やスタートアップ。
00:05:34そうした方には最適です。
00:05:35素晴らしい選択肢になるでしょう。
00:05:36非常にクールなツールですから。
00:05:37プライバシーを重視し、制御権を握りたい方にもお勧めです。
00:05:40また、質の高いSDKを求めるFlutterやモバイル開発者にとっても、
00:05:44強力な武器になります。
00:05:45忘れてはならないのは、大幅なコスト削減が可能だという点です。
00:05:47節約を重視するあらゆる人にとって、
00:05:49これは検討に値するツールです。
00:05:52Firebaseは高すぎる、でもSupabaseは構成要素が多すぎて複雑だと感じるなら、
00:05:56Appwriteはその中間にある「ちょうど良い」存在かもしれません。
00:06:00だからこそ、2026年に向けて有力な選択肢となっているのです。
00:06:04わずか数分でバックエンドを立ち上げ、同期まで確認できました。
00:06:08FirebaseやSupabaseの代替を探している多くの開発者に、これが選ばれる理由が伝わったでしょうか。
00:06:13試してみたい方は、概要欄のリンクやドキュメントをチェックしてください。
00:06:17ぜひ実際に触ってみてください。
00:06:18数分もあれば立ち上げられます。
00:06:20一度やってみる価値は十分にあります。
00:06:21コーディングやオープンソースツールの動画が好きな方は、
00:06:25Better Stackチャンネルの登録をお忘れなく。
00:06:27それでは、また別の動画でお会いしましょう。

Key Takeaway

Appwriteは、Firebaseの利便性を維持しつつ、コスト削減とデータ制御権の両立を可能にする強力なオープンソースの代替バックエンドソリューションです。

Highlights

Firebaseの主な課題である高額な利用料金とベンダーロックインの問題を指摘

Appwriteは自己ホスト可能なオープンソースであり、データの完全な所有権を保持できる

Dockerを利用したセットアップが非常に簡単で、数分でバックエンド環境が構築可能

認証、データベース、ストレージ、サーバーレス関数など、Firebaseと同等の機能を網羅

2026年に向けて、コスト削減とプライバシーを重視する開発者の有力な選択肢

Timeline

Firebaseの課題とAppwriteの登場

動画の冒頭では、多くの開発者が愛用するFirebaseが抱える潜在的なリスクについて詳しく説明されています。アプリが成長してトラフィックが増加すると、バックエンドの性能よりも「利用料金」が深刻な問題となり、開発者が自ら制御できない状態に陥ることが指摘されています。こうした状況に対する解決策として紹介されるのが、オープンソースの代替案であるAppwriteです。Appwriteは、Firebaseが持つ認証やストレージといった便利な機能を維持しながら、ユーザー自身がデータを管理できる自由を提供します。昨年から多くの開発者がこのツールに乗り換えており、現代の開発ワークフローにおいて注目を集めています。

Appwriteの主要機能とセルフホストの利点

ここではAppwriteが提供する具体的な機能群と、Firebaseとの決定的な違いについて掘り下げています。メール認証、OAuth、多要素認証(MFA)に加え、ドキュメント型とリレーショナルを組み合わせたデータベースやファイル変換機能付きストレージなどが備わっています。さらに、13言語以上に対応したサーバーレス関数やメッセージング機能も充実しており、機能面で妥協する必要がないことが強調されています。最大の魅力は、自分のサーバーやVPS上で「自らのルール」で運用できる自己ホスト型(セルフホスト)が可能である点です。このセルフホストの手順は驚くほど簡単であり、技術的なハードルが低いことも大きな特徴として挙げられています。

実演:プロジェクトの立ち上げとデータベース設定

実際にAppwriteをセットアップし、プロジェクトを構築するデモンストレーションが行われます。まずDockerが起動していることを確認し、ターミナルで専用のDocker Composeコマンドを実行するだけで、バックエンドの構築が完了します。管理画面にログイン後、「TodoApp」という名前のプロジェクトを作成し、環境変数(ENVファイル)に必要なIDを紐付ける手順が紹介されています。データベース内には「コレクション」と呼ばれるテーブルのような構造を作成し、emailやuserIDといったカラムを自由に追加できます。また、GUI上でアクセス権限を細かく設定できる点も、開発効率を大幅に向上させるAppwriteの強みとして実証されています。

コード連携とリアルタイム同期の動作テスト

構築したバックエンドを実際のアプリケーションコードと連携させ、動作を確認するプロセスが描かれています。エンドポイントやプロジェクトIDをENVファイルに記述するだけで、本格的なバックエンド機能が数行のコードで統合されます。デモでは新規ユーザー作成からサインアップ、そしてタスク(ToDo)の追加がエラーなくスムーズに行われる様子が確認できます。特に注目すべきは、ログイン済みのタブと未ログインのタブでデータを同期させるリアルタイム機能の検証です。ごくわずかなコード量で、認証・保存・同期という複雑な処理が完璧に動作しており、複数ページ間でのデータ共有も容易であることが示されています。

Appwriteが選ばれる理由と運用の注意点

開発者がAppwriteを選ぶ最大の理由は「データの所有権」にあり、自分のデータを完全にコントロールできる点にあります。FirebaseやSupabaseのような商用サービスで発生しがちな「隠れたコスト」やシート単位の課金がなく、大幅なコスト削減が見込めることが説明されています。ただし、オープンソースゆえの注意点として、Dockerの基本的な知識が必要であることや、グローバルCDNなどの機能は外部サービスで補う必要がある点も正直に述べられています。データベースはMariaDBベースであり、Postgresを採用するSupabaseとは異なるアーキテクチャであることも技術的な補足として重要です。大規模運用に際しては、適切なモニタリング体制を整えることが推奨されています。

まとめ:Appwriteは誰に向いているのか?

最後に、Appwriteがどのような開発者やチームに最適であるかが総括されています。サービスの急成長に伴う高額請求を回避したいスタートアップや、プライバシーとデータ制御を重視する個人開発者にとって、Appwriteは理想的な選択肢となります。Firebaseは高価すぎ、Supabaseは構成が複雑すぎると感じる人にとって、その中間にある「ちょうど良い」バランスを提供しています。ReactやFlutterといった主要フレームワーク向けのSDKも質が高く、モバイル開発者にとっても強力な武器になることは間違いありません。2026年に向けた有力なツールとして、まずは数分かけて実際に触ってみることを強く勧めて、動画は締めくくられています。

Community Posts

View all posts