Firebase の対抗馬?! Back4App を使ってみたよ!
1. Back4App との出会い
2022/11/28 から Heroku の無料枠が廃止されるニュースを見ながら、
「そういえば最近は似たものでどういうものがあるんだろう?」と思って、
「Heroku Alternative」でググってみました。
調べていくと、
- https://render.com
- https://qoddi.com
- https://vercel.com : Node.js系
- https://www.cyclic.sh : Node.js系
- https://appliku.com : Django
- https://fly.io : Rails
などがありましたが、今回気になったのは、
その検索ワードで一番上に出てくる「Back4App」。
この記事では、
Herokuの代替プラットフォームベスト10という記事タイトルのわりに、
Herokuの代替と言えるような、アプリケーションサーバーとDBサーバーがセットで提供されるようなPaaSはあまり紹介されていない印象です。
まあ、それはともかく!
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://t.co/Tm0gmAaYPS
— Back4app (@back4app) 2022年10月23日
-------#lowcode #backend #appdevelopment #backenddevelopment #programming #developers #devops #dev #programmer pic.twitter.com/zeaWCNP4r0
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 と同じような機能があるように、
このツイートを見る前から感じていました。
謎にブロックチェーンの機能もあります……(笑)
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. 実際にさわってみた
少しだけですが実際にさわってみました。
トップページはこんな感じで、
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 かな と思いました。
6. 親切なサポート
Back4App のことについてツイートしたら、
「わからないことがあったら気軽に聞いてみてくれ」と、カスタマーサクセスエンジニアの方からリプライが届きました。
試しにACL(アクセスコントロール)の挙動についてわからないことがあったので聞いたら、
なんと40分後にわかりやすい回答が返ってきて、これにはとても驚きました!
てっきり「ありがとう、それについてはサポートに連絡してくれ! 👉 https://..../support」のような返信がされるだろうと思っていたから、
大変驚きました。こういう対応をしてもらえると、サービスへの好感度が上がりますね!
7. 料金がネックか
料金については Firebase の方が優れていると思います。
Back4App の無料プランでは、リクエスト数が月に25,000回までと決まっています。
作りにもよりますが、公開したウェブアプリケーションの
データベースの読み出し・書き込みが月に25,000回で済むことはなかなかないと思います。
1日800回程度ですからね。
Firebase の Firestore の無料枠は『書き込み 2 万件/日』『読み取り 5 万件/日』ですから、
逆にこちらはそうそう超えません。
Firebase を本番運用したことある人ならわかると思いますが、Firebase を個人で使って無料枠を超えることはあまりありません。
- Back4App の料金: https://www.back4app.com/pricing
- Firebase の料金: https://firebase.google.com/pricing
ここがあるので、個人的にはやはり Firebase を選んでしまうかなあ……というのが思うところです。
Parse Server を自分でホスティングするというのも、なかなかアリな選択肢かもしれませんね!
GraphQL サーバーを Web UI で管理できるところが便利そうです。