Windows Azureモバイルサービスで始めるスマホアプリ開発

第1回 Windows Azureモバイルサービスの基礎

この記事を読むのに必要な時間:およそ 2 分

Windows Azureモバイルサービスは,その名のとおりモバイルアプリ開発のためのサービスで,Windows,Android,iOS,HTML(Java Script),XamarinおよびSencha Touch用のSDKが用意されており,マルチプラットフォームの開発を容易に行うことが可能です。

なぜWindows Azureモバイルサービスが必要か?

モバイルアプリ開発には主に3つの問題があり,Windows Azureモバイルサービスはそのソリューションです。

モバイルアプリのサービスリリース短期化の問題

昨今のモバイルアプリ開発は従来の開発よりも早いサービスリリースが求められます。さらにモバイルアプリ開発ではクライアントソフト開発に加えて,サーバサイド開発もほぼ必須要件となります。

Windows Azureモバイルサービスならば,サーバサイド開発がほぼ不要になるので,クライアントソフト開発に注力でき,サービスリリースまでの時間が大幅に短縮できます。

開発時間を短縮できる

開発時間を短縮できる

サーバ運用コストの問題

サーバサイド開発にオンプレミスでサーバを用意する場合,サーバ規模をあらかじめ予測する必要があります。さらにサーバを用意するイニシャルコストと,予測した規模に達するまでのランニングコストの両方がかかります。Windows Azureモバイルサービスならば,サーバ規模の拡大・縮小は都度見直しが可能なので予測は不要です。イニシャルコストも無料で,ランニングコストも一定枠まで無料で使用することができます。

マルチプラットフォーム開発の問題

クライアント開発もWindows,Android,iOSのような複数のプラットフォームを同時に開発するケースが増えてきており,それぞれのプラットフォームごとにサーバにアクセスするコードを書くのは非常に大変です。Windows Azureモバイルサービスならば,各プラットフォームにSDKを用意しており,統一されたクラウドへのアクセス方法を提供しています。また,マルチプラットフォーム開発環境であるXamarin,およびSencha Touch,PhoneGap向けのSDKも用意されており,クライアントコードを一つに集約することも可能です。

MBaaSの台頭

Windows Azureモバイルサービスのような,モバイルアプリのバックエンドとして動作するサービスを「MBaaS(Mobile Backend as a Service)」と呼びます。

MBaaSは,Windows Azureモバイルサービスのほかにも,ParseKinveyKiiNIFTY Cloud mobile backendがあります。

Windows Azureモバイルサービスの優位性

Windows AzureモバイルサービスをほかのMBaaSと比較した場合,次の利点があります。

サーバサイドにてカスタムAPIを作成することが可能

いくつかのMBaaSはサーバに用意されたAPIしか使用できませんが,Windows Azureモバイルサービスは自分でカスタムAPIを作成することが可能です。カスタムAPIはNode.jsまたは.NET Frameworkで記述が可能です。

Windows Azureの様々なリソースと連携が可能

カスタムAPIだけで実現出来ない要件があった場合,Windows Azureの様々なリソースと連携が可能です。例えば,電子メールを送信したい場合はストアからSend Gridを選択し,毎月25,000通の無料電子メールを利用することが可能です。

さらに例を挙げると,要件上IaaSが必要になりWindows Azure仮想マシンを立ち上げた場合,Windows Azure上の同一ネットワークにあるので,ほかのサービスよりもレイテンシが優位になります。

ロックイン問題の回避

いくつかのMBaaSは独自データベースに格納されるため,別なサービスへの移行が難しい場合があります。Windows Azureモバイルサービスは,Windows Azure SQL データベースをデータストアに利用しているため,別なサービスに移行する場合はWindows Azure SQL データベースの機能を利用してエクスポートすることが可能です。

Windows Azureモバイルサービスについて

機能一覧

Windows Azureモバイルサービスには次の機能があり,一般的なモバイルアプリケーションを作成する時に必要な機能は標準でそろっています。

Windows Azureモバイルサービス

Windows Azureモバイルサービス

アーキテクチャについて

Windows Azure モバイルサービスのバックエンドはNode.jsまたは.NET Frameworkのどちらかが選択可能です。

データストアに利用するWindows Azure SQL データベースが必須となっています。

Twitter,Facebook,Google,MicrosoftアカウントとID連携が可能です。

アーキテクチャ

アーキテクチャ

料金について

Windows Azure モバイルサービスは無料枠があり,API呼び出し500,000回,送信データ転送 5GB以内まで使用可能です。

バックエンドで使用するWindows Azure SQL データベースは別途課金が発生しますが,最初の12ヵ月間は20MBまで無料で使用可能です。

料金の詳細についてはモバイル サービスの料金詳細をご確認ください。

著者プロフィール

山本誠樹(やまもとまさき)

ブログ:http://nnasaki.hatenablog.com
Twitter:@nnasaki
Facebook:https://www.facebook.com/nnasaki
Github:https://github.com/nnasaki

コメント

コメントの記入