つかさラボのBlog@hatena

技術系ブログのはず

Monacaとクラウドデータベースを連携してみよう!オンラインセミナーの感想

クラウドデータベースを使ってみよう!

f:id:tsukasa-labz:20180317150600p:plain

ニフクラとは

f:id:tsukasa-labz:20180217153020p:plain

ニフクラとは、VMwareを基盤とした国産のパブリッククラウドサービス。
6,000件以上※のお客様のITインフラやデジタルビジネスを支えています。
サーバーの追加・削除やスペック変更は、すべてWeb経由でオンデマンドに行うことが可能です。
※2017年10月末時点での件数となります。

公式サイトより引用

mBaaSとは

mBaaS(mobile backend as a Service)とは、スマートフォンアプリでよく利用される汎用的な機能をクラウドから提供するサービスです。
クラウド上に用意された機能をAPIで呼び出すだけで利用できるので、サーバー開発・運用不要でよりリッチなバックエンド機能をアプリに実装することができ、工数削減によるコストカット・スピードアップに貢献します。

公式サイトより引用

セミナー概要

問い合わせフォームをイメージしたサンプルアプリを通して、クラウドデータベースへの保存と検索の方法を学んでいきます

f:id:tsukasa-labz:20180317160451p:plain

セミナーテキストより引用

今回利用するツール

Monaca
ニフクラ mobile backend(mBaaS)

《アプリ側》Monaca のすごいところ

  • 無料で使える!
  • iOS / Android 同時に開発可能!
  • いつでもどこでも、ブラウザで開発OK!
  • mBaaSのSDK導入がクリックだけで簡単に!

《サーバー側》mBaaS のすごいところ

  • 無料で使える!
  • バックエンドの開発・運用は一切不要!
  • コントロールパネルからクラウドの状況をパッと確認できる!

受講した感想

1時間の無料オンラインセミナーということで、アプリのテンプレートをインポートし進行して行きました。
この辺りはアシアル社主催の他のセミナーと同様ですね。

参考
やったこと
  • Monacaのアカウント作成(他のセミナー受講時に取得済み)
  • ニフクラ mobile backendのアカウント作成
  • Monacaでプロジェクトのインポート
  • ニフクラ mobile backendでアプリの新規作成
  • MonacaでmBaaS JS SDKのインポート
  • Monacaでニフクラ mobile backendのAPIキーを設定
総括

アプリを作るというより、サンプルプロジェクトを使ったニフクラ mobile backendの紹介をされている感じでした。
ニフクラ mobile backendを使った、問い合わせアプリは個人的にはとても興味深いものでした。
Android/iOS向けアプリを同時に作成でき、サーバサイドもRuby on Rails等を使用せず作れてしまうというのは凄い時代ですね。
マーケットへの公開は当然、費用がかかるもののサーバサイドを含めたアプリ作成が無料かつ簡単にできるというのは大変有り難い!

ニフクラ mobile backendが使用しているMongoDBの制約により、曖昧検索が出来ないなどの制約はあるようですが無料ですので試してみる価値有りだと思います。

下記はアプリから、問い合わせ内容をクラウドデータベースに保存する処理の抜粋です。
クラウドデータベース側ではテーブルの定義等をせず、下記のコードを実行するだけで自動的にテーブルが作成され、驚きました。
検索や更新、削除も同様に簡単に行えるため、アプリを作りたい欲求がますます高まってきました。

/** ニフクラ mobile backend 連携処理 **/

// APIキー
var applicationKey = 'API_KEY';
var clientKey = 'CLIENT_KEY';

// SDK初期化
var ncmb = new NCMB(applicationKey, clientKey);

mb = {
    /***** demo1:保存 *****/
    saveData: function(data) { 
        // 保存先クラスの作成
        var Inquiry = ncmb.DataStore('Inquiry'); 
        // インスタンスの生成
        var inquiry = new Inquiry();  
        // データの設定と保存
        inquiry.set('name', data[0])
                .set('emailAddress', data[1])
                .set('age', data[2])
                .set('prefecture', data[3])
                .set('title', data[4])
                .set('contents', data[5])
                .save()
                .then(function(results){
                    // 保存成功
                    ons.notification.alert('問い合わせを受け付けました');
                    console.log('保存成功');
                })
                .catch(function(error){
                    //保存失敗
                    ons.notification.alert('問い合わせの受付に失敗したしました');
                    console.log('保存失敗:' + error);
                });
    },
};
その他

ニフクラ mobile backendには下記のような機能もあるようですので、今後も活用できるよう勉強していきたいと思います。

  • 会員管理
  • プッシュ通知
  • 位置情報検索