HOME > 開発者向けBLOG > Sencha Blog >  Sencha Touch アプリケーションを Windows Azure と 連携する

Technology Note 開発者向けBLOG

Sencha Blog

Sencha Touch アプリケーションを Windows Azure と 連携する

こんにちは、ゼノフィnakamuraです。

この記事は、US Sencha社ブログ Connecting Your Sencha Touch Apps with Windows Azure を翻訳したものです。

SenchaCon 2013年で、弊社のCEOマイケル・ムレイニーがMicrosoftとSenchaの開発者コミュニティを連携し、Sencha TouchのパワーとWindows Azureのクラウドサービスの機能性を組み合わせる、戦略的提携を発表しました。

今、我々は Sencha Touch に Windows Azure 拡張を導入して、Sencha Market から、あるいは次の様に Sencha Cmd からインストールすると使用できます:

sencha package get touch-azure

この記事では、Sencha Touch の Windows Azure拡張を紹介し、Sencha Touchのアプリケーションでの利用法について説明します。

Sencha Touch の Windows Azure拡張に関する詳しい情報と使い始めるための手順はAPIドキュメントとガイドをご覧ください。パッケージには、入門用のサンプルもいくつかそろっています!

Sencha Touch の Windows Azure拡張

Sencha Touch の Windows Azure 拡張を使うと、簡単にSencha Touchアプリケーションを Windows Azureモバイルやストレージサービスに連携できます。次のような項目をシームレスにサポートします:

  • データとカスタムAPIの接続
  • Microsoft, Google, Facebook, Twitter経由でユーザーを認証する
  • iOS, Android, Windows Phoneのプッシュ通知の管理
  • 高度な Table と Blob ストレージ

Sencha TouchとWindows Azureではクラウドに存在するモバイルアプリケーション開発はより簡単になりました!このビデオをご覧ください: Sencha で Windows Azure Mobile Services を使う

さあ始めましょう

Sencha TouchアプリケーションでSencha Touch の Windows Azure拡張パッケージを使うのは簡単です! Sencha Touch の Windows Azure 拡張がパソコンにインストールしたあとの、最初の手順は必要なリソースとして、app.jsonにパッケージを追加することです:

1
2
3
requires : [
  'touch-azure'
]

次に、Ext.application() の requires 配列に Ext.azure.Azureを追加してます。

1
2
3
requires : [
  'Ext.azure.Azure'
]

Azureモバイルサービス

アプリケーションを Windows Azure のモバイルサービスアカウントに連携している場合は、最後の手順としてモバイルサービスの証明書で Ext.Azure を初期化します:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Ext.application({
  requires : [
      'Ext.azure.Azure'
  ],
 
  //...
 
  launch : function() {
      Ext.Azure.init({
          appKey : '...',
          appUrl : '...'
 
          //optional configs for authentication 
          //and push notifications
      });
  }
});

この時点で、Ext.azure.Proxy クラスを使って、モバイルサービスのデータに接続するように選択できます。通常通りプロキシをモデルやストアに付与します:

1
2
3
4
5
6
7
8
Ext.create(‘Ext.data.Store, {
  //…
 
  proxy : {
      type : ‘azure’,
      tableName : ‘mytable’ //from your Azure account
  }
});

Azure データプロキシでは、ストアに url を定義する必要はありません – Ext.Azure は自動的にどこに接続して、データを読み込むかを知っています。Azure プロキシはページング/フィルタリングのパラメータとクロスドメインHTTPヘッダーを正確にフォーマットするため、Azure モバイルサービスのREST APIと通信するのはとても簡単です。

ユーザー認証をする必要があれば、Windows Azure を通して簡単に行えます。Ext.azure.Authentication クラス(とオプションで、Ext.azure.AuthOptions のビュー)はMicrosoft, Google, Facebook, Twitter経由で認証するために必要なoAuthリダイレクトをシームレスに管理します:

Ext.azure.Authentication.login(‘twitter’); //launched oAuth dialogue/redirect

最後に、Windows Azure のパワーを使って様々なモバイルデバイスでプッシュ通知を管理できます。CordovaでパッケージされたSencha Touchアプリケーションを使って、Ext.Azure のコンフィグに pushConfig オブジェクトを追加するだけです:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Ext.application({
  requires : [
      'Ext.azure.Azure'
  ],
 
  //...
 
  launch : function() {
      Ext.Azure.init({
          appKey : '...',
          appUrl : '...',
          pushConfig : {
              ios : true,
              android : ‘...’,
              windowsphone : ‘...’
          }
      });
  }
});

Ext.azure.Push シングルトンはプッシュ通知を受け取るように、あなたの端末を自動的に登録します。プッシュ通知を管理し、送信するためのロジックは Windows Azure のポータル(ユーザーガイドをご覧ください)に存在していますが、あなたのSencha Touchアプリケーションは単に “pushnotification” イベントをリッスンするだけです。そうするとユーザーに対し通知できます。

Azure ストレージサービス

アプリケーションをWindows Azure ストレージサービスアカウントに接続すると、必要に応じて単純にTableとBlobコンポーネントをアプリケーションコード内で生成できます:

1
2
3
4
5
6
7
8
var blobAccount = Ext.create('Ext.azure.storage.Blob', {
  accountName : '...',
  accessKey   : '...'
});
 
blobAccount.getBlob(
  //params here...
);

Sencha Architect を使う

Sencha Touch の Windows Azure拡張は Sencha Architect と完全に互換性があります。我々のインストールガイドに従う必要がありますが、Sencha Architect で Ext.Azure を利用するのはとても簡単です。

まずは、ツールボックスに Sencha Touch の Windows Azure拡張パッケージが使用可能な状態になっているかを確認して下さい:

次に、アプリケーションノードに “azure” という新しいプロパティを生成して下さい。オブジェクトで次のようになっているはずです:

1
2
3
4
5
6
7
azure : {
    appKey : '...',
    appUrl : '...'
 
    //other configs for authentication
    //and push notifications
}

最後の手順は Project Inspector に Ext.azure.Controller をドラッグすることです。このクラスはアプリケーションが起動する時点で Ext.Azure を初期化します:そして Ext.Azure ユーティリティを自由に使えるようになります。

クラウドへ!

我々はMicrosoftとの戦略的提携を楽しみにしています、Sencha Touch の Windows Azure拡張を是非お試し下さい。

Sencha Touch のパワーと Windows Azure のクラウドサービスの力を合わせて、素晴らしいアプリケーションを作成できるでしょう。フォーラムやコメントでそのアプリケーションのことを教えて下さい!

PAGETOP