HOME > 開発者向けBLOG > Ext JS >  Sencha.io Support in Sencha Cmd

Technology Note 開発者向けBLOG

Ext JS

Sencha.io Support in Sencha Cmd

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

この記事は、US Sencha社ブログ Sencha.io Support in Sencha Cmd を翻訳したものです。

まえがき

sencha.io Sencha.ioは開発者がアプリケーションをビルドし実行するのを助けるAPIを提供すバックエンド・アズ・ア・サービスです。 モバイルアプリケーションフレームワークであるSencha Touchを通して提供されるサービスを使ってWebアプリケーションをビルドすることができます。 Sencha Cmdは Sencha Touchでアプリケーションをビルドするときに使う、 非常に多くの機能にアクセスできるコマンドラインツールです。 バージョン3.1ではSencha.ioをサポートします。

このアーティクルでは、アプリケーションの生成からクラウドにデプロイまでを通して、Sencha Cmdで使えるSencha.io機能にスポットをあてます。

はじめよう — Sencha.ioでWebアプリケーションをホスティングする

システムを使い始めるには、Sencha ID(Sencha forumのIDと同じ)が必要です。 持っていない場合は、 登録ページ に行って取得します。 また、最新バージョンのSencha Cmd(バージョン3.1以降)が必要です。 Sencha Cmdの公式 ダウンロードページ からそれぞれのOSプラットフォームのSencha Cmdのコピーを取得できます。

Sencha.io SDKとSencha Touchを使ったアプリケーション開発の方法ついての情報は Sencha.ioダッシュボード をご覧ください。 そこにはダウンロードやアプリケーションでSDKを活用する方法についてのサンプルがあります

Sencha Cmd and Sencha.io
The Sencha.io Dashboard

Sencha.ioのダッシュボードではアプリケーションをクラウドホスティングやアプリケーションのサービスを生成し管理したりできます。 ダッシュボードのインターフェースではSencha.ioプラットフォームで利用可能な機能が公開されていますが、反復するタスクなどの開発者のワークフローによっては、コマンドラインツールの方が適している場合があります。 このようなワークフローをサポートするために、Sencha CmdにSencha.ioサポートを追加し、Sencha.ioダッシュボードで利用可能なものと同じ機能の多くが実行できるようにしました。 Sencha Cmdの使い方に関する概要説明は、 introduction guide を参照してください。

アプリケーションを作ることから始めましょう、アプリケーションはあとで更新や設定できます。 次の手順では、インストールしたSencha Cmdを使って、コマンドラインウィンドウで実行します。

Sencha Cmd and Sencha.io

このサンプルでは非凡なTesty McTestersonというテストユーザーがtestAppというアプリケーションを生せいています。 Sencha.ioサービスからは、ごらんのようにサービスリクエストが成功し、ユニークなAppIdとAppSecretがこのアプリケーションで使うために生成されたというレスポンスが返されました。 これらの値はSencha.ioサービスを使ってアプリケーションを識別するために、クライアントフレームワークSDKで使われるので、あとで使うために記録しておきましょう。 後になってこれらの情報が必要になったら、Sencha.ioのダッシュボードかSencha.io list-appsコマンドを使って取得できます。

Sencha Cmd and Sencha.io

アプリケーションがSencha.io上にデプロイされたら、そのアプリは自動的にSenchafy(Sencha.ioのホスティングサービス)上にアロケートされ、ユニークなSenchafyサブドメインURLでインターネットから使えるようになります。 前のサンプルからわかるように、list-appsコマンドの出力にはAppIdとAppSecretだけでなく、このアプリケーション用のユニークなSenchafyのURLも含まれます。 さらに、アプリで使うCNAMEを登録しSencha.ioダッシュボードを通して自動的に割り当てることができます。

これで、アプリにクラウドホスティングが割り当てられました。 アプリケーションのバージョンを生成しクラウドにアップロードできます。 ここで、テスト開発者は、app.zipという名前のzipファイルにアップロードしたい 小さなアプリを準備し、アプリのバージョン1.0としてSencha Cmdを使ってアップロードします。

Sencha Cmd and Sencha.io

アプリケーションをクラウドにうまくアップロードできたとしても、SenchafyのURLからアクセスできるようにするためにはその後でデプロイしなければなりません。 デプロイメントサービスによりシステムの中にアプリケーションの複数のバージョンを保持でき、適切なアプリのバージョンをデプロイすることで、それらを適合するものに切り替えることができます。 では、いまアップロードしたバージョン1.0のアプリを次のコマンドを実行してデプロイしましょう。

Sencha Cmd and Sencha.io

これでテストアプリは Senchafy URL からアクセスできるようになり、クラウド上にパブリッシュされました。 アプリケーションが解凍されちゃんとデプロイされたかどうかを確認するために、Sencha.io io-fsコマンドを使って、リモートアプリケーションのファイルシステムを問い合わせたり更新したりできます。 app.zipの中のindex.htmlファイルがリモートのクラウドファイルシステムに適切に配置されているかを確かめるには、すべての有効なファイルをリストできます。

Sencha Cmd and Sencha.io

上記の結果でzipファイルに入っていたindex.htmlファイルはうまくアップロードされ、現在デプロイされているアプリケーションのバージョンに追加されたことが確認できます。 現在デプロイされているアプリのバージョンの内容を更新したい場合は、Sencha.io rmputコマンドで既存のファイルを削除ししたり、新しいものをリモートファイルシステムに追加したりできます。

Sencha Cmd and Sencha.io
The Todo List Application Hosted on Senchafy

Sencha.ioでの認証の設定

Sencha.ioのキーとなる機能の一つがユーザーと認証モデルです。 Usersは アプリケーション独自のユーザー名(Emailアドレス)とパスワードあるいは、FacebookやTwitterのアカウントのどちらでもシステムにログインできます。 どちらのタイプのログインがアプリケーションで有効であるかは、アプリケーションの 認証グループ設定 によって設定することができます。 このコンセプトの本当によい例はSenchaブログのSencha.ioのTodoアプリサンプルで見ることができます。 Sencha.ioの現在のバージョンで動くようにアップデートし前のセクションの テストアプリケーション としてホストしました。

Sencha.ioの認証グループとUserモデルを使うには、まず認証グループを生成します。 テスト開発者はここで彼の会社で働いている人のグループ(Workers)を作ります。

Sencha Cmd and Sencha.io

authグループが生成されると、デフォルトで、Sencha.ioベースの認証を使って有効になります(例:アプリケーション独自のユーザー名/Emailとパスワード)。 Sencha Cmdを使っていま生成したWorkers認証グループと、前に生成したテストアプリとを関連づけることができます。

Sencha Cmd and Sencha.io

これで、アプリケーションのログインメカニズムを指定できました。 たとえば、testAppにFacebook認証を有効にしたい場合は、そのようにSencha Cmdから指示してやればいいのです。

Sencha Cmd and Sencha.io

開発者は上記のコマンドのようにしてFacebook用にアプリケーションキーと秘密の値を提供する必要があり、そうするとauthグループは更新されます。 これで、これと関連づけられたWorkers認証グループを持つアプリケーションは、Facebookログインを受け入れ、 クライアントフレームワークのコントローラーでビルドされたアプリはそのUIをこの新しい認証グループ設定にあわせて自動的に調整します。

まとめ

Sencha Cmdは幅広いタスクを実行でき、そこにはSencha.ioでのアプリケーションの設定やホスティングを管理することも含まれます。 Sencha.ioプラットフォームが成長しさらにサービスや設定オプションが追加されたら、Sencha Cmdに同等の機能を追加し続けます。 それにより開発者はワークフローと効率的なテストを自動化することができます。 手順を効率的にするCmdインテグレーションに対するアイデアがあれば知りたいので、 Sencha.ioフォーラム でのディスカッションに参加してください。

PAGETOP