Yuta Watanabe's Blog

開発周りと、その他諸々

Microsoft Azure Mobile Services の JavaScript/.NET バックエンド 選択による違い

こんにちは。

マイクロソフトの渡辺です。

Backend as a Service としての Microsoft Azure Mobile Services 。前回の「 Microsoft Azure Mobile Services を JavaScript および .NET バックエンドで作成してみる 」に続き、今回はこの2つのバックエンド選択による違いについて、概要を見ていきたいと思います。

JavaScript バックエンド と .NET バックエンドのモバイルサービスの違い

それではさっそく、JavaScript バックエンド、.NET バックエンド 各々のモバイルサービスを選択し、中身を見てみましょう。

まず、こちらが JavaScript バックエンド のモバイルサービスのトップページ。

f:id:yuwata:20140820132351p:plain

そして次に、こちらが .NET バックエンドのモバイルサービスのトップページ。

f:id:yuwata:20140820132338p:plain

いくつか違いがあることにお気づきでしょうか?

プラットフォームの選択

画面の中央に接続するアプリケーションの、プラットフォーム選択、としていくつかのプラットフォーム/フレームワーク名が並んでいます。

Windows ストア/Windows Phone 8/iOS/Android/Xamarin は共通です。

JavaScript バックエンドでは上記に加え、PhoneGapHTML/JavaScript そしてこの画面には表示されていませんが、Sencha および Appcelerator ( Titanium ) 向けにもクライアント SDK/ドキュメントが提供されています。

.NET バックエンドでは、PhoneGap および HTML/JavaScript は表示されていないように、PhoneGap や HTML/JavaScript アプリ向けの クライアントSDK/ドキュメントは提供されていません。

※ただし、厳密に"利用できない"というわけではありません。クライアントサイドの SDK を利用しなくても、.NET バックエンド/JavaScript バックエンドそれぞれで提供されている REST API を通じて接続することはできます

提供されている SDK/ドキュメントの一覧はこちらをご覧ください。

バックエンドサービスの実装

続いて、バックエンドサービスの実装の流れについて見てみましょう。クイックスタートとして、各プラットフォーム既存のアプリケーションに、作成したモバイルサービスを接続する流れが表示されています。

下図は、iOS アプリにJavaScript バックエンドのモバイルサービスを接続する流れの画面です。

f:id:yuwata:20140820132355p:plain

そして、下図は同様に iOS アプリにモバイルサービスを接続する流れですが、こちらは .NET バックエンドの場合の画面。

f:id:yuwata:20140820132343p:plain

実は、Windows Azure Mobile Services は、Visual Studio から サービスの作成や各種実装、設定を行うことができます。

特に、.NET Backend の場合、開発環境は基本的に Visual Studio です。モバイルサービスを Visual Studio から作成/実装/ビルド/デバッグ、その後クラウド上に発行という流れでサービスの構築が進みます。そのため、クイックスタートの最初のステップとして、プロジェクトのダウンロードが挙げられているわけです。

f:id:yuwata:20140821085024p:plain

 一方 JavaScript バックエンドの場合、Visual Studio からだけでなく、ブラウザ上の管理ポータルから直接コードを書くことも可能です。そのため、管理画面のタブには、データおよび API があり、ここからテーブルの定義やカスタム API のコードを書くことができます。  

f:id:yuwata:20140821085034p:plain

JavaScript バックエンド特有の設定

JavaScript バックエンドでモバイルサービスを構築する際は、下記2つの設定を、管理画面上から行います。

1つは、クロス オリジン リソース共有 ( CORS ) の設定です。ブラウザがアプリを読み込んだドメイン以外から ( この場合、モバイルサービスから )、データ/スクリプトを取得するために必要です。localhost がデフォルトで許可されていますが、ステージング環境、本番環境用のホストを適宜追加しましょう。

f:id:yuwata:20140820132405p:plain

 そして、もう1つは、プッシュ通知におけるエンドポイントの登録です。プッシュ通知は、Microsoft Azure の通知ハブを利用して送信されますが、モバイルサービスと統合されています。これにより、モバイルサービスを利用するクライアント ( アプリ ) から、直接プッシュ通知を登録できるようになりました。こちらをの機能を利用するために、エンドポイントの設定を行います。ちなみに、.NET バックエンドの場合は、プロジェクト内の WebApiConfig.cs で設定します。

f:id:yuwata:20140820132347p:plain

前回の「Microsoft Azure Mobile Services を JavaScript および .NET バックエンドで作成してみる」に続き、今回は、モバイルサービスの JavaScript バックエンド/.NET バックエンドにより違いについて、概要をご紹介しました。もちろん、個別機能の実装・設定方法は、それぞれ JavaScript バックエンドおよび .NET バックエンドで違いがあります。次回以降の記事では、それらの点について見ていきたいと思います。