コード記述の手間を削減してくれるモバイル/ウェブアプリケーション開発プラットフォームと言えば、Firebaseの名を最初に挙げる人も多いでしょう。Firebaseには便利な機能が多数揃っているものの、オープンソースではありません。これは、アプリケーション開発の管理がほとんど行えないことを意味します。

Firebaseに代わる豊富な機能と設定を備えた選択肢は他にもあり、例えば、高度なサーバーの設定や、複数のデータベースの使用、容易なアプリケーションの拡張など、Firebaseにはない機能も利用することができます。

この記事では、Firebaseの懸念点と他のサービスの強みについてご説明した後、おすすめ代替サービスを7種類ご紹介していきます。

アプリ開発でFirebaseを利用する上での懸念点

Firebaseは、アプリやゲームの構築と拡大を支援する開発プラットフォーム。Googleが提供しているサービスで、Duolingo、Wattpad、Trivago、The New York Timesなどの有名企業が利用しています。

Firebase
Firebase

Firebaseは、オンボーディング体験のパーソナライズ、ユーザーエンゲージメントの向上、新機能の追加などに有用です。しかし、多くのデメリットがあることから、必ずしも開発プラットフォームとしてベストな選択肢とは言えません。

1. ベンダーロックイン

ベンダーロックインがあると、アプリケーションのソースコードをほぼ、あるいは全く管理することができなくなります。これは、開発者にとって厄介なだけでなく、新興企業に資金提供するベンチャーキャピタルやエンジェル投資家にも敬遠されます。

また、Firebaseはクローズドソースのプラットフォームであることから、スケーラビリティに制限が出る可能性があります。柔軟性を求める場合には、オープンソースのフレームワークを利用するのが得策です。

2. 費用

小規模なアプリケーションであればFirebaseの無料プランで事足りますが、アプリが成長すると、サーバー費用が急に高額になる可能性があり、運用を続けることが難しくなるかもしれません。

Firebaseの料金プランは固定価格ではなく、アプリケーションのサーバーリソースに応じて課金されます。使用量の上限を設定することができないため、気がついた時には利用料が高額に…ということもあり得ます。

3. サーバー

FirebaseはGoogle提供のプラットフォーム。したがって、使用サーバーはGoogle Cloud Platformになります。これは、専用インスタンスでアプリケーションを実行したり、サーバー設定を変更したりすることができないことを意味し、複雑なアプリケーションを開発する場合には、理想的とは言えません。

4. データベース

Firebaseは、クローズドソースのNoSQLデータベースを採用しています。クローズドソースの場合、クエリやインデックスの機能に制限があり、SQLデータベースであれば簡単に行えるような、データの移行や特定の作業を行うことが困難になります。

加えて、アクティブユーザーを獲得するための操作や、ドキュメント更新のバッチ操作も実行できません。この点において、Firebaseは他の代替サービスと比較して、効率性と直感性に劣っていると言えます。

Firebaseに代わるサービスの強み

Firebaseは人気のあるサービスですが、使い勝手や柔軟性に欠けるのがデメリットです。以下、Firebaseに代わるサービスの有用性を見てみます。

  • サーバーの選択─Firebaseの場合、使用サーバーはGoogle Cloud Platformに制限されます。オープンソースのプラットフォームであれば、アプリを任意のクラウドソリューションにデプロイすることができます。
  • 柔軟性─多くのFirebase代替サービスでは、べンダーロックインなしでコードを一元管理することができます。
  • 継続的な改善─オープンソースのプラットフォームであれば、セキュリティの基準を満たしているかどうかが定期的に確認されます。また、バグ修正などの改善も頻繁に行われます。
  • ユーザー体験─先にも触れましたが、Firebaseはコード記述やアプリ開発の操作性と効率性に劣ります。オープンソースのサービスに移行すると、コードの編集にかかる手間が削減されるのが一般的です。
  • 入手しやすさ─オープンソースのサービスは、無料でダウンロードでき、一般公開されています。
  • 拡張性─オープンソースの代替プラットフォームを使用すると、より高い柔軟性を実現でき、アプリケーション拡張のサポートも充実しています。

また、アプリケーションを開発する際には、ローカル環境を活用することをお勧めします。本番環境に影響を与えることなく、変更をテストすることができます。おすすめはDevKinstaです。

DevKinsta
DevKinsta

Kinstaのローカル開発ツール「DevKinsta」は、低フットプリントを特徴とし、本番環境に近いパフォーマンスを発揮するDockerを採用しています。豊富なデータベース機能を活用し、テーマ、プラグイン、ウェブサイトをローカル環境で開発することができます。さらに、テストを行い、準備が整ったら、アプリケーションを本番環境にそのまま簡単に反映可能です(Kinstaを利用している場合)。

Firebaseに代わるおすすめのサービス7選

Firebaseに代わるサービスを検討しておきたい理由が分かったところで、ここからは、アプリ開発に役立つ優れた選択肢をご紹介します。

1. Kinsta

Kinsta
Kinsta

アプリケーションの開発に、一流の開発環境を。KinstaのPaaS製品、アプリケーションホスティングは、現在5万5,000人以上の開発者やデジタル起業家に利用されています。

Kinstaは、5大陸に全21箇所のデーターセンターを持ち、Googleのプレミアムティアネットワークと最速のC2マシンを採用。CTO、エンジニア、開発者など、すべてのユーザーに、テスト済みで信頼性と拡張性に優れたインフラストラクチャを提供しています。

PHPNode.js、Ruby、Java、Python、GOScalaといった主要フレームワークをサポート。ビルトタイプは2種類から選択でき、コンテナイメージを自動的に選択してセットアップするか、または独自のDockerfileを使用することができます。

Kinstaオリジナルのコントロールパネル「MyKinsta」で、デプロイメント、ランタイム、ビルドタイム、および帯域幅の使用状況をいつでも追跡することができます。

次世代のウェブアプリケーション向けに構築された使用しやすいプラットフォームです。セットアップは、GitHubのアカウントを接続して、リポジトリを選択するだけ。アプリケーションを自動または手動でデプロイし、ビルド、スケール、プロセスを個別に実行することができます。

機能

  • ワンクリックで利用できる24時間年中無休のライブチャットサポート
  • Google C2 マシンとプレミアムティアネットワークであらゆるウェブアプリのスケーリングを実現
  • Cloudflare統合による高性能ファイアウォール、DDoS対策、SSL証明書
  • 独自SSL証明書のサポートで、ドメインへのルーティングが簡単
  • GitHubから直接デプロイ
  • GKE(Google Kubernetes Engine)でマシン間の分散を管理し、アプリケーションの実行を最大限効率化
  • PHP、Node.js、Ruby、Java、Python、GO、Scala対応

価格

Kinistaのアプリケーションホスティングは、リソースベースの料金プランです。予算に応じてアプリケーションを構築・実行し、使用した分だけ料金を支払うことができます。価格設定はシンプルで、透明性が高く、計画的に利用することができます。

2. Parse

Parse
Parse

Parseは、オープンソースかつ無料で利用できるため、予算内でアプリケーションを開発するのに適した人気フレームワークです。実装も簡単で操作性も高く、どのクラウド上でも使用できます。また、Node.NETを使用してローカル環境でアプリのテストと開発を行うことも可能。

ダウンロードして自分のサーバーで実行できるため、セルフホスティングも可能です。開発者専用のコミュニティは、プロの開発者に助けを求めたり、トラブルシューティングしたりするのに有用です。

機能

  • MongoDBまたはPostgreSQLデータベースを使用(FirebaseではNoSQLデータベースのみ)
  • ソーシャルログインとメール通知によるシンプルなログイン認証(サードパーティの経由なし)
  • 最小限の手間でエンドツーエンドのGraphQL APIを構築可能

価格

無料

3. Kuzzle

Kuzzle
Kuzzle

Kuzzleは、TTM(Time to Market:製品が企画されてから市場でリリースされるまでの時間)を改善してくれることで知られており、最大40%向上を謳っています。拡張性に富んだサーバーで、急成長が見込まれるアプリ開発に適しています。マルチプロトコルAPI、管理ツール、ジオフェンシング、高速検索などの機能が利用できます。

さらに、あらゆるクラウドサービス、LinuxやDockerのインフラ、IoTハードウェアなど、オンプレミスでもイントラネットでも拡張可能。一人ひとりのユーザーに合わせたサービスを提供する柔軟なソリューションです。

機能

  • クエリのサブスクリプションとリアルタイム通知
  • リアルタイムのPub/Subエンジンによる優れたユーザーインターフェース
  • 2ノード以上のクラスターで構成し、高可用性かつスケーラブルなデプロイメントを実現(クラスターモード)

価格

バックエンドは無料でダウンロード可能です。Kuzzleのマネージドプラットフォームを利用するには、サブスクリプション型のプランの購入(月額80ドル〜)が必要です。

4. Back4App

Back4App
Back4App

Back4Appは、Parseがベースとなったプラットフォームで、Firebaseに代わる「ローコード」製品として知られています。インターフェースは、スプレッドシートのように構成されており、直感的で使いやすいのが特徴です。

Firebaseとは違って複数のデータベースを使用することができ、ベンダーロックインの心配もありません。データの同期や更新を効率的に行うことができる機能が豊富に組み込まれています。さらに、24時間年中無休のサポート、CDN、高速なパフォーマンスを実現する内蔵のキャッシュ機能など、フルマネージドのサービスを利用できます。

機能

  • すべてのデータベース操作にGraphQLとRest APIを使用
  • リアルタイムに同期を実行し、最新データをユーザーに配信できるライブクエリ機能
  • リレーショナルデータベース採用で、リレーショナルデータへのクエリ、ジオクエリの実行、関数の集計が容易

価格

月間2万5,000件のリクエスト、250MBのデータ、1GBのファイルストレージまでは無料で利用できます。有料プランは月額25ドルから。

5. Supabase

Supabase
Supabase

Supabaseは、「Firebaseに代わるオープンソースの選択肢」を名乗っています。機能性とスケーラビリティを考慮してPostgreSQLを採用。リレーショナルデータベースに依存したプラットフォームです。複雑なクエリやテキスト検索も実行することができ、.sqlファイルを使って簡単にデータをインポートできます。

さらに、ローカルマシン、クラウド、Dockerコンテナといった選択肢から選んで、柔軟にアプリケーションを運用可能です。

機能

  • Google、Apple、Facebookなどのサードパーティ認証サービスと統合(SAMLなどのエンタープライズログインにも対応)
  • リアルタイムのデータベースリスナー
  • JavaScriptライブラリとAPIを利用

価格

500MBのデータベース、1GBのファイルストレージ、プロジェクト2件まで無料で利用できます。有料プランは月額25ドルからです。

6. AWS Amplify

AWS Amplify
AWS Amplify

AWS Amplifyは、Amazonが提供するクラウドプラットフォームサービスです。さまざまな機能を一括、または個別に利用することができます。Amplify Authでセキュアな認証方法を素早く設定でき、AWSの認証機能を使ってアプリのユーザー制限も可能。

AWS Amplifyは、特に人工知能/機械学習向けです。または、オンボーディング、リアルタイムでの共同作業、ターゲットを絞ったプッシュ通知などの開発にも適しています。他にはない特徴として、デザインをコードに変換してくれる(design-to-code)Figmaとの統合で、フロントエンドのUIをグラフィカルに構築できることも挙げられます。

特徴

  • JavaScriptVueNext.js、Angular、モバイルアプリ用には、iOS、Flutter、Android、React Nativeなどのフレームワークをサポート
  • 175以上のサービスを利用してアプリを拡張し、ユースケースの作成、DevOpsの実践、ユーザーの獲得を支援
  • 新規または既存のAWSバックエンドにアプリを接続

価格

月間1,000分のビルド時間と5GBのストレージを無料で利用できます。無料プランの有効期限は1年で、それ以降は使用量に応じて支払う従量課金制の有料プランに切り替わります。

7. Backendless

Backendless
Backendless

Backendlessは、視覚的にアプリを構築することができるプラットフォームです。コードの記述は不要。使いやすいフロントエンドビルダーで、バックエンドロジックを構築し、簡単にアプリの開発・管理が行えます。

また、クラウド、自己ホスティング、専用サーバーなど、サーバーの選択肢が多数用意されています。さらに、Backendlessは柔軟性が非常に高く、3種類のクラウドコード(クラウドコードタイマー、APIイベントハンドラー、APIサービス)を利用して、バックエンドソリューションを柔軟に編集することができます。

機能

  • 管理と操作が簡単で拡張可能なAPI
  • SQLとNoSQLのいいとこ取りをした動的なデータベース
  • プラットフォーム間でSQL駆動の条件付きメッセージ送信

価格

Backendless Missionに参加、またはBlackendless Marketplaceでアクセス権を購入すると、無料プランを利用することができます。有料プランは月額25ドルから利用可能です。

まとめ

Firebaseは、アプリケーション開発/実行を支援するサービスとしてその名を確立していますが、いくつかの欠点も。クローズドソースであるため、ソースコードを完全には管理できず、サーバーの選択にも制限があります。

したがって、より柔軟な管理が可能になる、他のサービスを検討してみるのも一つの手です。例えば、Backendlessでは、3種類のサーバー(専用サーバーを含む)を利用することができます。Supabaseでは、SQLデータベースを利用でき、複雑なクエリやテキスト検索も実行可能です。

DevKinstaは、アプリケーションの構築、テスト、デプロイを支援する無料のローカル開発ツールです。ウェブサイト、プラグイン、テーマなどの開発に有用なローカル環境を利用することができます。さらに、オープンソースのデータベース採用で、世界各地にあるデータセンターの中から好きな場所を選択してデプロイ可能。Kinstaの高速で安全かつスケーラブルなアプリケーションホスティングを利用してみませんか?初月は20ドル分を無料でご利用いただけます。

Salman Ravoof

Salman Ravoof is a self-taught web developer, writer, creator, and a huge admirer of Free and Open Source Software (FOSS). Besides tech, he's excited by science, philosophy, photography, arts, cats, and food. Learn more about him on his website, and connect with Salman on Twitter.