アプリを高速に開発するための選択肢としてmBaaSを選ぶことが増えています。そんな中、選択肢としてはSaaS型のサービスを使うというのと、オープンソースのmBaaSを採用するケースもあるかと思います。ケースバイケースで選ぶべきでしょう。
今回はそんなオープンソース・ソフトウェアのmBaaSをまとめて紹介します。外部にデータを預けられない、オンプレミスでやらなければならないなどといった事情がある場合は参考にしてください。
- Deployd
- LoopBack
- LiveOak - The Open Source Mobile Services Platform
- personium.io | Open source BaaS for flexible data sharing.
- Helios An Extensible Open-Source Mobile Backend Framework
- The open source backend for your mobile app | BAASBOX
- hood.ie
- Apache Usergrid (incubating) — the BaaS not made for Hipsters
- DreamFactory | Open Source REST API Backend
- さいごに
Deployd
node.jsで開発されています。そのためデータを作成した、更新したといったタイミングのコールバックもJavaScriptでサーバ側に定義することができます。データストアと認証機能が提供されています。
LoopBack
LoopBackもnode.jsで開発されています。Android、iOS、AngularJS向けにSDKが提供されています。ファイル管理、プッシュ通知、認証といった機能はアドオンで提供されています。
LiveOak - The Open Source Mobile Services Platform
RedHat社が開発しているmBaaSで、Javaで開発されています。プッシュ通知機能の他、シングルサインオンであったり、IDMといった機能が備わっています。企業の自社向けアプリ開発などに向いていそうです。
personium.io | Open source BaaS for flexible data sharing.
まだできたばかりのようでSDKなどは揃っていません。JavaScriptとJava用クライアントのみあります。基本的にはREST APIをコールする形になるようです。個人のデータを集約するというのが目標のようです。
Helios An Extensible Open-Source Mobile Backend Framework
Rubyで作られたバックエンド機能で、既存のRuby on RailsやSinatraプロジェクトに組み合わせることもできます。プッシュ通知、アプリ内課金、Passbook、Newsstand、アクセス解析など特にiOS向けに親和性高い機能が数多く揃っています。
The open source backend for your mobile app | BAASBOX
Java製のmBaaSになります。iOS/Android/JavaScript向けにSDKを提供しています。管理画面、ユーザ管理、コンテンツ管理、ファイル管理、ソーシャル、データベース、プッシュ通知、サーバサイドコードといった機能があります。
hood.ie
iOSまたはWeb向けに開発されているmBaaSです。ただしiOS向けのSDKはないようです。システムはnode.jsで開発されています。データストアと認証、タスクを登録/実行すると言った機能があります。
Apache Usergrid (incubating) — the BaaS not made for Hipsters
Javaで開発されています。SDKの数が多く、iOS/Android/JavaScript/node.js/Ruby/PHP/Java/.Net/Perlに対応しています。ユーザ管理、データストア、ファイルストアが主な機能になります。
DreamFactory | Open Source REST API Backend
node.jsで開発されています。SDKはiOS、Androidの他、Titanium、Windows 8、Cordova/PhoneGap、jQuery、AngularJSにも提供されています。データストアが主な機能ですが、管理画面はLDAPやActive Directory、SSOにも対応するなどエンタープライズを見込んだ作りになっています。
さいごに
オンプレミスでの需要を考えられているため、Javaまたは拡張性という意味においてJavaScript(node.js)で開発されていることが多いようです。HeliosはRubyで開発されている変わり種と言えます。
こうしたオープンソース版mBaaSを選ぶメリットとしては無償かつ自分たちのサーバに設置できるというのが挙げられます。また、内部までコードを読み込めば自分たちで拡張することもできるでしょうが、それはそうそう簡単ではありません。カスタマイズは今後のアップデートも考えると止めておくのがいいでしょう。プラグインでの機能拡張に対応したものを選ぶべきです。
またオープンソース版mBaaSはインストールは手軽ですが、実際の運用となれば考えるべき部分が数多くあります。そのためだいたい1ヶ月くらいは導入から運用までにかかると見るべきです。またサーバ費用もかかりますので、そうした毎月のコストも考える必要があります。
オンプレしか無理で、かつ開発工数も限られる場合はオープンソースmBaaSは良い選択肢になるのではないでしょうか。
そうではなく、クラウドかつ無償からはじめたいという時にはぜひニフクラ mobile backendを採用してください!