ハトネコエ Web がくしゅうちょう

プログラミングやサーバー・Web制作、チームマネジメントなど得た技術のまとめ

Firebase の対抗馬?! Back4App を使ってみたよ!

1. Back4App との出会い

2022/11/28 から Heroku の無料枠が廃止されるニュースを見ながら、
「そういえば最近は似たものでどういうものがあるんだろう?」と思って、
「Heroku Alternative」でググってみました。

調べていくと、

などがありましたが、今回気になったのは、
その検索ワードで一番上に出てくる「Back4App」。

「Heroku Alternative」の検索結果は Back4App が書いているブログが一番トップ

この記事では、
Herokuの代替プラットフォームベスト10という記事タイトルのわりに、
Herokuの代替と言えるような、アプリケーションサーバーとDBサーバーがセットで提供されるようなPaaSはあまり紹介されていない印象です。

出典: https://blog.back4app.com/ja/%E5%B9%B4heroku%E3%81%AE%E4%BB%A3%E6%9B%BF%E3%83%97%E3%83%A9%E3%83%83%E3%83%88%E3%83%9B%E3%83%BC%E3%83%A0%E3%83%99%E3%82%B9%E3%83%8810/

まあ、それはともかく!

Back4App を知らなかったので、
これはどんなサービスなのか調べてみました。

2. ライバルは Firebase

彼らのTwitterアカウント の固定ツイートがこれです。

Anyone else tired of #firebase unpredictable pricing as soon as your app starts to grow?!?! This is how they do it 👉https://www.youtube.com/watch?v=rr7Z270h1zQ

日本語に訳すと、

アプリが成長していくと想定外な価格になっていく Firebase にうんざりしていません?!
これが奴らのやり方です 👉 https://www.youtube.com/watch?v=rr7Z270h1zQ

なかなか攻めていますね?!?!

実際、データベースがあったり、ジョブがあったり、
プッシュ通知を送れたりなど、Firebase と同じような機能があるように、
このツイートを見る前から感じていました。

Back4App のデータベース

謎にブロックチェーンの機能もあります……(笑)

3. Back4App は Parse のホスティングサービス

Back4App をかんたんに言うと、実はこれ
Parse Serverホスティングサービスです!

その Parse とはなにかと言いますと、Parse Inc. が作り上げた、
モバイルアプリ開発のためのプラットフォームです。

Parse Inc. は2011年に設立され、2013年に8500万ドルで Facebook(現在のMeta)社に買収され、
2017年にサービス終了した会社です。(参考: Parse, Inc. - Wikipedia

そこが、サービス終了前の2016年2月に自社のサービスをオープンソースとして公開した*1のが Parse Server で、
それを管理するダッシュボードとして2016年3月にリリースされた*2のが、 Parse Dashboard なのです。

ブロックチェーン機能なんかは Parse のドキュメントを見た限りなさそうでしたので、
Back4App は、Parse Server をベースに拡張をおこなったホスティングサービスと言えるでしょう。

それゆえ、一部の機能は、Back4App のドキュメントに書かれていない代わりに、
Parse Platform のドキュメントに書いてあったりします。
これから Back4App をさわる方は、このことを覚えておくといいでしょう。

4. 実際にさわってみた

少しだけですが実際にさわってみました。

トップページはこんな感じで、
GoogleGitHub のアカウントで一瞬で会員登録して始められます。

Googleログイン、GitHubログイン、メールアドレス&パスワードログインに対応

最初は React で挑戦してみたのですが、
Parse の JavaScript SDK にバグがあって save や first メソッドが機能しなかった(現在は修正済み)ので、
Flutter で挑戦してみることにしました。

👆 データベースのテーブル(ParseではClassと言う)の一覧取得とデータ挿入をおこなうもの

👆 Google OAuth ログインで、Parse の User, Session テーブル(Class)の作成をおこなうもの

特にGoogleログインについてはドキュメントが少なくて苦労しました。

5. さわってみての感想

Firebase に比べると情報がやや少ないですが、
ドキュメントはわりと充実していると思いました。
Back4App のドキュメントを見るべきか Parse のドキュメントを見るべきかわからない部分があるのが、やや不親切です。

データベースはとても見やすいです。
Webページ上でそのままデータを確認できます。

Firebase も最近になってデータベースが見やすくなりましたが、
Back4App のデータベースは、カラムの追加・データの追加・フィルターなどが直感的におこなえ、この点は Firebase よりとても優れています。

各データへのアクセス制限についても、Firebase は複雑なルールの記述が必要なのですが、
Back4App は Web UI や API などで簡潔に設定できます。
結果的に よりセキュアに作りやすいのは Back4App かな と思いました。

Back4AppのデータベースのUI。フィルター機能などもある

Firebaseのデータベースは、1個1個クリックしないと情報が見られず不便だった

2022年10月に搭載された『クエリビルダー』で、ようやく一覧で見られるようになった

6. 親切なサポート

Back4App のことについてツイートしたら、
「わからないことがあったら気軽に聞いてみてくれ」と、カスタマーサクセスエンジニアの方からリプライが届きました。

試しにACL(アクセスコントロール)の挙動についてわからないことがあったので聞いたら、
なんと40分後にわかりやすい回答が返ってきて、これにはとても驚きました!

てっきり「ありがとう、それについてはサポートに連絡してくれ! 👉 https://..../support」のような返信がされるだろうと思っていたから、
大変驚きました。こういう対応をしてもらえると、サービスへの好感度が上がりますね!

7. 料金がネックか

料金については Firebase の方が優れていると思います。
Back4App の無料プランでは、リクエスト数が月に25,000回までと決まっています。
作りにもよりますが、公開したウェブアプリケーション
データベースの読み出し・書き込みが月に25,000回で済むことはなかなかないと思います。

1日800回程度ですからね。
Firebase の Firestore の無料枠は『書き込み 2 万件/日』『読み取り 5 万件/日』ですから、
逆にこちらはそうそう超えません。
Firebase を本番運用したことある人ならわかると思いますが、Firebase を個人で使って無料枠を超えることはあまりありません。

ここがあるので、個人的にはやはり Firebase を選んでしまうかなあ……というのが思うところです。

Parse Server を自分でホスティングするというのも、なかなかアリな選択肢かもしれませんね!
GraphQL サーバーを Web UI で管理できるところが便利そうです。

基礎から学ぶ Flutter

基礎から学ぶ Flutter

Amazon