本連載では、スマートフォンとクラウドコンピューティングの技術を組み合わせた際に、アプリ開発を効率化できるToolkitやSDKを取り上げていきます。スマートフォンとしてiPhone、Android、Windows Phoneの3つ、クラウドとしてはWindows Azure(以後、Azure)、Amazon Web Services(以後、AWS)などを取り上げ、連載ごとにそれぞれの組み合わせを1つ取り上げ、クラウドベンダから提供されているツールを利用した開発スタイルを紹介していきます。
第1回はWindows Azure Toolkit for iOS(以下、iOS Toolkit)を紹介しますが、その前に、スマートフォンとクラウドを組み合わせたアプリ開発の筆者の考えるスタイル一覧を紹介しておきたいと思います。
スマートフォンとしてiPhone、Android、Windows Phone、クラウドとしてはAzure、Amazon Web Servicesを採用する場合の開発スタイルの組み合わせは下記のようになります。
表 スマホ×クラウド開発スタイル | ||||||||||||||||||||||||
|
さらに、ここにクライアント開発技術としてAdobe AIR 3(のNative Extension)が登場することにより、「特に、iOSとAndroid向けのアプリ開発が劇的に変化する」と筆者は考えています。画面の開発はAIR 3が担当、デバイスのリソースやクラウドへのToolkit/SDKを経由したアクセスなどはObjective-CやJavaが担当するという開発スタイルが可能になります(Windows PhoneはSilverlight内でToolkitを叩くので、分離開発する必要なく同等のアーキテクチャになります)。
画面開発はAIR 3やSilverlightを使い、高い生産性で非常にリッチなものを開発、ネイティブリソースを処理する部分はプラットフォームごとの言語で開発、WebRoleやAmazon EC2へはRESTなどでAIR 3から直接アクセス、AzureストレージやAmazon S3などにはToolkitやSDKを通じてアクセスするというスタイルです。このような流れでのサンプルも機会があれば、紹介したいと考えています。
スマートフォン×クラウド開発連載の第1回となる本稿では、iPhoneとAzureをつなぐiOS Toolkitに関して取り上げます。
iOS ToolkitはAzure向けの開発ツールの1つで、iOS向けアプリ、特にiPhone/iPadアプリとAzureを組み合わせたアプリを開発する際に、iOSからAzureの機能を簡単に利用できるようにしてくれるツールです。
本記事執筆段階ではiOS Toolkitの最新バージョンは2011年7月26日にリリースされた1.2.0です。iOS Toolkit 1.2.0で利用可能なAzureの機能は以下になります。
iOS ToolkitはAzureに対して2種類の方法でアクセスできます。
後者のプロキシサーバはiOS Toolkitでは「Cloud Ready Packages for Devices」と呼ばれていて、あらかじめパッケージされたAzureアプリ(CloudReadyPackageForDevices.cspkg)と設定ファイル(ServiceConfiguration.cscfg)が提供されています(以後、「for Devices」を省略)。このCloud Ready Packagesは以下の4通りが提供されています。
ここでのMembershipはユーザー認証をACSではなく、ユーザーIDとパスワードで行うバージョンです。Cloud Ready PackageのプロキシサーバにユーザーIDとパスワードを投げて認証します。
このプロキシサーバはWP Toolkitで提供されているものと同等でAzureへの認証をプロキシサーバが行うので、Azureのアクセスキーをクライアントアプリに埋め込んだり、プロキシサーバを自作する必要はありません。
また、前者のiOSから直接Azureにアクセスする場合は、ACSを使った認証を現在利用できません。
iOS Toolkitの構成は以下です。
これらのライブラリやサンプルはGitHubで管理されています。いつも筆者はSilverlightやWindows Phone関連ライブラリをCodePlexで落とすので、新鮮でした。
次ページでは、iOS Toolkitのサンプルアプリを動かす準備をします。
Copyright © ITmedia, Inc. All Rights Reserved.