- 更新日: 2020年11月01日
- 公開日: 2015年09月15日
アプリ開発を強力サポート!BaaSの基礎とおすすめサービス10選
ユーザーログインにチャット機能、そしてプッシュ通知に...あ〜データベースも... とアプリケーション機能を考えているあなた、それ開発予定ですか?
BaaS というサービスはご存知でしょうか? BaaSを利用すると「ログイン機能」「チャット機能」「通知機能」などの開発が省けます。必要なのは API でアクセスして処理するだけ。全くもってフロント部分に開発時間を裂くことができます。
またデータベースのスケールも BaaS なら調整可能なので、データベースについてのストレスも軽減されるでしょう。 アプリ開発を検討されている発注主の方、またプロジェクトマネージャーの方、BaaSの基礎、知っておきたいですね。
<< 本稿でご紹介させて頂くBaaSサービスリスト >>
- NIFTY Cloud mobile backend
- Firebase
- AWS Amplify
- Back4App
- Parse
- Backendless
- Progress Kinvey
- Game Sparks
- Microsoft Azure PlayFab
- CloudKit
BaaSは、「Blockchain as a Service」の略語でもありますが、本稿ではデータベースに関する BaaS をお伝えさせて頂きます。
アプリ開発を強力サポート!BaaSの基礎とおすすめサービス10選
BaaSとは
BaaS(Mobile Backend as a service)は、データベースやよくあるバックエンド処理(ログインなど)を手軽に扱えるようにしたアプリ開発者向けのサービス。例えばデータベース、BaaSなしの場合自前でデータベースを用意し、アプリ規模のレベルに応じた設計、メンテナンスを行う必要があり、時間がかかったりバックエンドに関する技術が必要でした。 そしてまた近年は、スマホアプリとWebアプリ両方のデータ統合が必要とされ、多くのサービスでデータ管理(データベース)に関するストレスが浮上。
こうした問題や経済的負担を軽減しようと開発されたサービスが BaaSになります。 BaaSプロバイダーは、API や SDK を使って、フロント部分とクラウドベースのデータベースを橋渡しし、開発者がなるべくユーザーと接するフロント部分に注力できるようにサービスを提供。 そしてBaaSはデータ管理に加えて、そのデータを使ってプッシュ通知やファイル保存機能、それからAI機能を使った解析や予測、アプリの統計データなど様々なサービスを提供してくれます。
本来はバックエンド開発が必要なプッシュ通知やユーザー認証も BaaS の API を使って簡単に機能を実装できるメリットもありますね。
BaaSでできること
- データベース
- プッシュ通知
- ユーザー認証
- AIによる予測
- Google Cloud Functionとの連携(Firebase)
- SNSとの連携
- SNS の構築(PlayFab)
- GPSサービスとの連携
- ユーザー分析
- A/Bテスト
BaaSのメリット・デメリット
メリット
- アプリ開発初心者でも本格的なアプリ開発に挑戦できる
- アプリのバックエンド開発のスピードアップ(4分の1に()*))
- アプリのバックエンドに関する知識がなくてもバックエンド機能利用可能
- データベース(ユーザーなど)の管理が簡単
デメリット
- 経済的負担
- BaaSサービス会社にバックエンドは依存する(Parse以外)
BaaSの利用手順
- アプリの準備
- BaaS提供会社の選定、登録
- 提携先BaaSのSDKをダウンロード、セットアップ
- 提携先のBaaSサイトのダッシュボードを開く
- プッシュ通知など利用するサービスを選択
- BaaS提供会社が紹介しているコードを開発中アプリに追記
- BaaS管理画面で確認
BaaS提供会社の選定方法
BaaS、初めてという方も少なくないと思います。一般的な選定ポイントは以下のように。
- アプリの目的にあったサービスが提供されているか
- アプリ開発環境との相性
- 情報量
- システムの安定性
- 金額
- サポート言語
- 機能数
海外のBaaSを含めると 20程サービスを提供している会社がありますが、どれも特色があります。自分のアプリに必要なものは、データベース+〇〇という部分を明確にし選定すると良さそう。
また Firebase や AWS などは BaaS の機能が豊富なので、予定していなかったアプリ機能の機会を得ることも。またMicrosoft が提供している PlayFab は、Xboxネットワーク認証済みプレーヤーが使用すると、無料などユーザー環境も視野に検討すると効率が良さそうですね。
アプリ開発初心者向けBaaSリスト
NIFTY Cloud mobile backend
国内唯一の本格的 BaaS のニフクラ mobile backend 。導入実績も豊富で運営基盤も富士通系とあって、安心感も絶大です。ユーザー認証やプッシュ通知機能を備えていますので、会員系のアプリ開発には◎かもしれないですね。
Firebase
世界的に有名な Google系の BaaS、 Firebase。私も Android アプリ開発の際に使ったことがありますが、Google 特有の見慣れたドキュメントでわかりやすく、利用者も多いのでとっつきやすく、安心感があります。そして個人開発者には嬉しい充実の無料枠、また無料範囲を超えても従量課金なので月額必要を抑えることが可能。リアルタイム・データベースや Cloud Function との連携、画像タグ付機能など Google らしいサービスが充実していますね。
AWS Amplify
こちらは AWS から展開されている BaaS で、Android や iOS 以外の Vue.js や React との接続も可能。フロントエンドはそこそこできるけどバックエンドは❌、という方にはピッタリなサービスかもしれません。
AWS特有のクセはあるものの、チュートリアルも充実していますので安心して検討できるサービスでしょう。機能的にはストレージ以外に、プッシュ通知や分析、予測、認証など基本的なことは処理可能となっています。
Back4App
アメリカ・カリフォルニアに本社を置く Back4App は、Node.js や Parse Server、 Mongo DB などのオープンソースを基盤とした BaaS を提供。データベースにSNS認証、プッシュ通知といった基本的な機能に加えて、リアルタイムデータ処理なども実行可能。
Parse
Parseは 2011年にスタートしたのち 2013年に Facebook に買収、そして 2017年にサービスは閉鎖されて、その後は オープンソースとして維持されています。通常 BaaS というとプロバイダーの信用や稼働状況に依存するのですが、この Parse を利用すれば自分の責任の範囲内で BaaS を運用・利用することができます。
技術力はそこそこある、他のサービスにあまり依存したくない、という場合にはいいかもしれませんね。
Backendless
Backendless は 2013年から BaaS を提供しており、他の BaaS とは異なるサービスも積極的に展開。例えばプログラミング不要でアプリのフロント部分を作成し、そのフロントに合わせてブロック・プログラミングで各ボタンや入力に対する処理を実行。バックエンドの開発のみならずフロント部分の開発も大低減したユニークな BaaS です。 参考動画がたくさん YouTube にアップされていますので、プログラミングやデータのことがあまり分からなくても、わかりやすいです。
Progress Kinvey
こちらはナスダックに上場している Progress Software 社が運用する BaaS で、堅固な印象。実用例をみてもアプリケーションへの応用だけでなく、 IoT や ヘルスケア など多くの社会基盤に利用されています。その分料金は少しお高めですが、中大規模を想定して BaaS を検討という場合は、面白いかもしれませんね。
CloudKit
image:developer.apple.com/
こちらは本来の BaaS とは趣旨が異なるかもしれませんが、無料でガッツリデータを活用できるサービスなのでご紹介。 CloudKit は Apple社が提供しているサービスで、 Apple関連のアプリ開発を行う場合は必見かもしれません。
iCloud を介してデータを送受信し、使用できる無料枠はアクティブユーザーに応じて拡張。10万のアクティブユーザーがいれば、 25TBのストレージに 250GB のデータベースが無料なので維持費を大幅に節約することが可能。 興味ある方は Safari で CloudKit Dashbord を開き、アプリID をセットしてみてください。
Microsoft Azure PlayFab
こちらはマイクロソフト社が提供しているゲーム用の BaaS で、「マルチプレイヤー」「クロスネットワーク」といったゲームならではのバックエンドを支えてくれます。有名な MINECRAFT にも使用されている技術ですね。
Game Sparks
img: Game Sparks Blog
先ほどの Microsoft Azure PlayFab に比べると簡素に感じるゲーム用の BaaS ですが、これを使って開発したものを見ると「なんかすごいな」と思ってしまいます。 上図の Animal Super Squad では Androidに iOS、 Nintendo Switch に XBox とマルチプラットフォームでの展開に成功。「どうやったらこんな風にマルチプラットフォームで展開できるんだろう」と興味湧きますよね。
\Webサイト担当者としてのスキルが身に付く!!/
まとめ
アプリ開発について考える時、BaaSを知らなかったら「ログイン機能の実装」「ユーザー管理」「データベースはどうしようか」と考えるところですが、BaaS を知っていれば、コレ BaaS に丸投げできそうですよね。
またランサーズなどの案件を見ていますと、多くの案件でデータ管理に Google Sheet を活用するケースがあります。でも Google Sheet をベースにすると行数に上限があったり、レスポンスが遅かったりで少しストレスになりますよね。そんな時も BaaS を活用すれば、データをスケーラブルに管理でき、レスポンス速度にも期待できます。
BaaS、うまく活用すると生活や仕事を楽にしてくれるサービスかもしれませんね。
- この記事を書いた人
- オシママサラ