FJCT_ニフクラ mobile backend(mBaaS)お役立ちブログ

スマホアプリ開発にニフクラ mobile backend(mBaaS)。アプリ開発に役立つ情報をおとどけ!

NCMBの移行先候補Parse Platformとは

NCMBのクロージングに伴って、アプリのバックエンド移行先を検討する必要が出ています。その開発については申し訳ない限りなのですが、そのために必要な情報は適宜お届けしていきます。

この記事では、移行先の候補であるParse Platformについて、その概要を紹介します。

Parse Platformの特徴

オープンソース

Parse Platformはオープンソース・ソフトウェアとして提供されています。そのため、誰でも無償で利用が可能です。

parse-community/parse-server: Parse Server for Node.js / Express

Node.jsで作られている

Parse PlatformはNode.js製で、npmコマンドでインストールできます。単体で動かすこともできますが、Node.jsのWebアプリケーションサーバーであるExpressと組み合わせて利用されることが多いです。

APIサーバーとダッシュボードは別ソフトウェア

Parse Serverが提供するのはAPIサーバーのみです。ブラウザでグラフィカルにデータ操作を行う際には、別途Parse Dashboardというソフトウェアを利用します。

Parse Platformの歴史

Parse Platformは元々、Parse.comという企業が提供するクラウドサービスでした。Parse.comはMeta社(旧Facebook)に買収され、買収後にクロージングが発表されました。そのクロージングと同時にオープンソース化も発表されています。

Parse.comが2017年01月28日で終了へ - FJCT_ニフクラ mobile backend(mBaaS)お役立ちブログ

オープンソース化されたあとも、コミュニティベースでSDKやAPIサーバーの開発が継続されており、GraphQLの実装やPubSub、Swiftなどの新しいプログラミング言語向けのSDK提供が行われています。オープンソース化したあとも活発な開発が行われています。

NCMBとの比較

歴史的にNCMBはParse.comにインスパイアされてはじまったサービスになります。データベースやファイルストレージ、プッシュ通知など似た機能が多数あります。また、SDKの実装も似ています。

クラウドデータベース

Parse Platformは元々MongoDBのみをサポートしており、その時代にはスキーマーレスなデータベースでした。現在はPostgreSQLをサポートしたのに伴い、スキーマー定義が必須になっています。

スキーマー定義が必須なので、カラムごとに型を指定する必要があります。配列やファイル、リレーション、位置情報、ポリゴンなどさまざまな形式があります。また、必須チェックやデフォルト値も指定できます。

ファイルストレージ

NCMB、Parse Platformともにファイルストレージが用意されています。Parse Platformの場合、誰がアップロードできるのか(認証ユーザーのみ、誰でもなど)の指定ができます。

また、Parse Platformはストレージのアダプターが用意されており、Amazon S3やGoogle Cloud Storage、MongoDB、ローカルなどが指定できます。

なお、NCMBはファイルストレージとして単体で利用できましたが、Parse Serverの場合はファイルストレージに保存したあと、データストアのオブジェクトに紐付ける必要があります。

認証

NCMB、Parse Platformともに認証機能が用意されています。ユーザーIDやメールアドレスを用いた認証の他、Facebook/X/Google/Appleなどのソーシャルログインが利用できます。

Parse Platformはさらに多くの認証プロバイダーをサポートしています。たとえばInstagram、LDAP、LINE、LinkedIn、WeChatなどのソーシャルプロバイダーが利用できます。

プッシュ通知

NCMB、Parse Platformともにプッシュ通知が利用できます。これはAPNSとFCMなので変わりません。

スクリプト(FaaS)

サーバーサイドでのコード実行機能については、NCMBがNode.jsとRubyをサポートしており、Parse PlatformはNode.jsのみ利用できます。

Parse Platformだけの機能

NCMBにはなく、Parse Platformにて提供される機能には以下があります。

  • リアルタイム通知
  • トリガー
  • Webhook
  • キャッシュ
  • ライブクエリー
  • マスターキー/リードオンリーマスターキー
  • コンフィグ
  • 全文検索
  • アナリティクス

運用時のTips

マルチテナント

Parse Platformはデフォルトでは、1アプリのみ管理できます。複数のアプリ(開発用、ステージング用など含め)を管理する場合、以下のライブラリを利用するようです。

管理画面

Parse PlatformはAPIのみを提供し、管理画面がありません。管理画面を使う場合にはParse Dashboardを利用します。

Parse Dashboardはクラウドに置く必要がありません。ローカルやLAN内に配置し、インターネット側にあるParse Platformにアクセスできます。

ローカライズ

現状、Parse Dashboardは多言語対応していません。こちらの記事ではローカライズを行う方法が解説されています。

ホスティング

前述の通り、Parse Platformはオープンソース・ソフトウェアであり自分でサーバーを立てる必要があります。

Parse Platformの構築方法は別記事で解説しますが、海外では幾つかのホスティング事業者があります。

例: Back4App - Low-code backend to build modern apps

まとめ

Parse PlatformはNCMBと設計思想が似ているので、移行にかかる工数が大きくなりすぎないのが利点です。

NCMBとしては今後、移行に伴う情報を積極的に発信していきます。皆さんには大変ご迷惑をおかけしますが、移行のご検討をお願い申し上げます。

Parse Platform