目次
はじめに
ご閲覧ありがとうございます。Advent Calender12日目
本記事はモバイル開発初心者がSQLiteで管理しているデータをクラウド化するまでの記録になります。
ベストプラクティスを指南する記事ではない旨ご承知の上読んで頂けると幸いです
第一回ではクラウドサービスの選定とサーバーサイドのセットアップを行います。
追記
当初はモバイルアプリのDBをSQLiteからクラウドに移行してみる_クラウド構築編という題目
でしたが後編を執筆し、メインの議題がMBaaS導入にシフトしていることに気付き、現タイトルに変更になりました。
実装経緯
※しばらく余談が入ります。興味のない方は本編チャプターへお願いします。
プライベートで愛用しているMiro
テキスト・画像・プレビュー付きリンク・PDF等異なる形式の情報を一覧に集約できるのがとても便利
アイデアノートとして画像の参考資料をベタ貼りしたり、一人シックスハットをするときに視覚的に情報量を測って傾向を分析するのに使っています。
以前は同様の用途にOneNoteを利用していましたが、スマホやIpadでの操作性が悪くPCがメインの作業媒体でした。
なので出先やPCを立ち上げていないときに書きたいことが浮かんだときは、メモアプリに残して後からPCで編集するという二度手間が発生
PCとモバイル端末の使い分けでキッチリ書ける自動校正と雑に使える自由さを兼ね備えたノートアプリを求めていました。
Miroはフレームレスなビジュアルに校正が効きすぎない自由な操作性がモバイル版のタッチ操作と相性がよくアプリ版があると知った直後速攻で乗り換えました。
特に出先でちょっと記録を残したいときに色だけでテキストに属性を持たせることのできる付箋のシステムが良すぎます。
((例 : 赤は緊急度の高いこと,青色はアイデア,黄色は調べること,緑は発見 など
無料プランでも個人用途なら十分すぎるぐらい便利なので皆さんもぜひご活用ください
長々とmiroのステマのようなことを書いてしまいました。
乗り換えの激しい自分が普段遣いしているツールを見返してみると、熾烈な生き残リ競争を勝ち残っているのはMiroを始めとしたマルチプラットフォームに対応したサービスでした。
今の時代どんなサービスでも媒体を問わずシームレスに扱えることは必須条件
時代の波に乗った個人開発の第一歩としてクラウドでのデータ管理で端末間のデータ同期を実践してみようという試みです。
本編チャプター
1.MBaaSとは
2.クラウドサービスの選定
3.mobile backend セットアップ
MBaaSとは
今回のモバイル開発クラウド導入にあたってキーになるのが
MBasS (mobile Backend as a Service)です。
認証やデータベースなどバックエンドの機能をクラウド上のAPIを呼び出して実行するBaaSをモバイル向けに提供しているサービスをMBaasといいます。
代表的なMBaaSのサービス
・AWS Mobile Hub
・Firebase
・Azure App Service – Mobile Apps
サービスのインフラ部分にMBaasを用いることで、バックエンドの開発工数を抑えメインの開発に注力することができます。
またサーバーサイドの設計や運用が不要な点も開発をハードルを大きく下げてくれます。
クラウドサービスの選定
今回はMBaaSのクライアントに mobile backendを選びました。
選定の理由
- 利用期間制限のない無料のプランがある
- 導入のチュートリアルが豊富
- シンプルなインターフェースで個人用途の開発に扱いやすい
- サポートページやドキュメントが日本語
何件かサービスの導入記事や公式のドキュメントを見て、一番導入の難易度が低いと感じたのがmobile backendでした。
セットアップ編で画像を載せますがWebのコントロールパネルがとにかくシンプル
mobile backend 料金表(Expert以上のプランもカスタム可)
プラン | Basic | Expert |
---|---|---|
料金 | 無料 | 55,000円/月 |
APIリクエスト数 | 100万回 ⁄ 月 | 5,000万回 ⁄ 月 |
プッシュ通知配信数 | 100万回 ⁄ 月 | 1,000万回 ⁄ 月 |
基本ストレージ | 5GB | 100GB |
ファイルサイズ制限 | 5MBまで | 100MBまで |
インデックス件数 | 0件 | 3件 |
スクリプトAPIコール数 | 5万回 ⁄ 月 | 100万回 ⁄ 月※超過時従量課金 |
スクリプト累計処理時間 | 25万秒 ⁄ 月 | 50万秒 ⁄ 月※超過時従量課金 |
無料のベーシックプランは支払い方法の登録無しで開始することができ 、無料枠を超過した場合停止します。
プランで区分けされているので、ふと気付いたら多額の請求が来るなんてことがないのも安心です。
mobile backendセットアップ
早速mobile backendのセットアップに移りたいと思います。
メールアドレスを認証 ログイン後一番最初に表示される画面がこちら
So Simple
公式のチュートリアルを見ながら進めましたが担当者が何枚か画像を入れ忘れたのかと思いました。
アプリ名を入力し新規作成を押すとAPIキーが発行されます。
ここまでわずか3ステップ、めちゃくちゃ極論を言えばサーバーサイドはもう動かせる状態です。
完全に知識ゼロでインフラ機能を備えたサーバーの構築が出来てしまいました。
なんとこれだけです
クラウド構築編~完~
裏話をすると最初はMongoDB Realmでの実装を進めていたのですが大苦戦(主に言語の壁)
数日溶かした手前、半信半疑というか半分信じたくない気持ちでやってみるとこの手軽さで驚きました。
ここからは次回のパートで触れるストレージ周りの画面を紹介します。
アプリケーションのダッシュボード
データストア
テーブルはクラスというオブジェクトで管理されます。
mobile backendはNoSQLでデータ管理を行い、アプリケーション側はクエリではなく、NCMBというSDKのオブジェクト操作のメソッドを使ってデータストアにアクセスします。
コントロールパネル上ではUI操作でフィールドの追加/削除/編集/暗号化を行うことができます。
基本的な機能は他のMBaaSに比べると少ないですが、パートナー企業の連携サービスで高度なアクションのUIやアプリ解析・テスト・広告なども実装できるようです。
最後に
mobile backendでは主要機能として会員管理、プッシュ通知、SNS連携位置情報検索等がサポートされています。
mobile backend 主要機能
データベースのクラウド化という趣旨で始めましたが、学び甲斐も遊び甲斐もありそうです。
やりたいことから手段を探すのではなく、できる手段からやりたいことを連想させていけるのはBaaSの強みに感じました。
対応環境も幅広く、クラウドデビューにはもってこいのサービスだと思うので、みなさんもご興味があれば、触れていただきご感想やご知見の伝授を頂けたら嬉しいです。
第二回では、実際にアプリケーションにログイン機能とデータストア連携を実装します。
12/22 Advent Calender22日目に公開予定です。
ご精読ありがとうございました。