本稿では、モバイルアプリケーション開発に特化した基盤である、Microsoft Azureモバイルサービスを簡単なサンプルを交えて、紹介していきます。
対象読者
- Microsoft Azureに興味がある方
- Microsoft Azureモバイルサービスに興味がある方
必要な環境
今回のサンプルを作成するために用意、および動作確認を行った環境は、以下のとおりです。
- Microsoft Azureサブスクリプション
- Oracle Java JDK 1.6.0
- Android SDK 22.0.0
- GTK# 2.12.22
- Xamarin Studio 4.2.3
- Xamarin.Android for Visual Studio and Xamarin Studio 4.10.1
なお、本稿で紹介するサンプルは、Microsoft Azure仮想マシンを用いて開発環境を準備しました。利用した仮想マシンイメージは以下のとおりです。
-
Microsoft Azure仮想マシン
- Windows Server 2012
- Microsoft Visual Studio Professional 2013
Microsoft Azureモバイルサービスとは
Microsoft Azureモバイルサービス(以下、モバイルサービスと称します)は、WindowsやWindows Phone 8向けのアプリケーションに留まらず、iOSやAndroidなどマルチプラットフォームに対応したモバイルアプリケーション開発を一元管理するバックエンドサービスです。
モバイルアプリケーションの開発に必要となるデータストア、メッセージング、認証などが、Microsoft Azure側で機能として用意されているため、開発者は各機能を組み合わせてモバイルアプリケーションを開発できます。
モバイルサービスは、現時点で以下の機能から構成されています。
| 機能名 | 概要 |
|---|---|
| データ | アプリケーションが利用するデータのデータストアを提供 |
| API | データに対するCRUD操作を可能にするREST APIを提供 |
| プッシュ通知 |
アプリケーションの更新情報などをプッシュ通知を実現。 現在、Windows Push Notification service(WNS)だけでなく、 Apple Push Notification service(APNS)や Google Cloud Messaging(GCM)にも対応しているため、 iOSやAndroidにもプッシュ通知が可能 |
| 認証 |
Microsoftアカウントだけでなく、FacebookやGoogle、 Microsoft Azure Active DirectoryなどのIdentity Providerによるユーザ認証 |
| 構成 | GitHubを経由してアプリケーションをリリースし、最大3拠点からの監視を提供 |
| ログ | スクリプトのエラー情報やデバッグ出力結果をログとして表示 |
|
スケジューラ (プレビュー) |
オンデマンドもしくは設定間隔で、事前にポータル上から定義したJavaScriptを実行 |
|
スケール (プレビュー) |
トランザクション数に応じて最大ユニット数まで自動スケール |
主要機能については、以下で補足します。
データ機能は、アプリケーションが利用するデータをMicrosoft Azure SQL Databaseに格納します。各サブスクリプションに対して、SQL Databaseは、20MBまで無償で利用できます。必要に応じてMicrosoft Azure StorageサービスのBlob、テーブルなどを利用することもできますが、モバイルサービスのデータストアとしては、SQL Databaseが採用されています。
API機能は、データに対するCRUD操作やユーザによって独自に定義するスクリプトをREST APIを用いて実行できます。独自スクリプトの詳細に関しては、以下のリンク先の情報を参考にしてください。
スケール機能は、以下の3つのレベル(Microsoft Azureポータルサイト上では、「モバイルサービス層」と表現されています)で、区分されています。
- 無償
- 基本
- 標準
どのレベルを選択するかに応じて最大スケールサイズが変わってきます。また、このレベルは、モバイルサービスの利用料とも連動しています。以下に従量課金制プランの場合の料金表を記載します。価格が変更になっている場合もありますので、最新情報は以下のリンク先を確認してください。
| 無料 | 基本 | 標準 | |
|---|---|---|---|
| 料金 |
無料(1ヶ月あたり 最大10個のサービス) |
¥2,550/ユニットあたりの月額 | ¥20,298/ユニットあたりの月額 |
|
API 呼び出し |
500,000回 | 1,500,000回/ユニット | 1,500,000回/ユニット |
|
アクティブな デバイス |
500 | 無制限 | 無制限 |
| スケール | なし | 最大6ユニット | 最大10ユニット |
|
スケジュール されたジョブ |
限定 | 無償 | 無償 |
|
SQL Database |
20MBが含まれ、 追加容量に対して 標準料金が適用 |
20MBが含まれ、 追加容量に対して 標準料金が適用 |
20MBが含まれ、 追加容量に対して 標準料金が適用 |
それでは、モバイルサービスを用いたサンプルアプリケーションを実行してみましょう。
今回は2013年11月に発表されたモバイルサービスのXamarin対応にフォーカスして、ステップバイステップでサンプルアプリケーションを実行してみたいと思います。
そもそもXamarin(「ザマリン」と読みます)とは、C#で、Windows・Windows Phone向けアプリケーションだけではなく、iOSやAndroid向けアプリケーションを開発できるクロスプラットフォーム開発ツールの総称です。Visual StudioやXamarin Studioを用いて開発が可能です。
この記事は参考になりましたか?
- Windows Azureを始めてみよう連載記事一覧
-
- Microsoft Azureでのモバイルアプリ開発、ことはじめ
- Dropbox、GitHubからWindows Azure Webサイトにデプロイしてみる
- Windows Azure Active Directoryことはじめ
- この記事の著者
-
山田 祥寛(ヤマダ ヨシヒロ)
静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
WINGSプロジェクト 安東 沙織(アンドウ サオリ)
<WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書、記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社
この記事は参考になりましたか?
この記事をシェア
