Ext JS などの HTML5 アプリのデプロイと管理
こんにちは、ゼノフィnakamuraです。
先週行われたウェビナー (Webinar) では、開発者や企業内の IT プロフェッショナルが取り組む、アプリケーション開発、デプロイ、管理、そしてセキュリティに関するSencha Space 1.2 のチャレンジについて扱いました。
私たちは、Sencha Space を使い、最新版リリースの機能をデモンストレーションしました。その機能とは、我々のプラットフォーム内でのデスクトップアプリケーションへの統合されたサポートです。その他にもアプリ開発で取り組む以下のような課題についてもふれました。
- マルチデバイス、クロスプラットフォームで効率良くアプリケーションを開発する
- アプリケーションを正しいユーザーに、正しいデバイスに、正しいタイミングで届ける
- エンドツーエンドで繊細なアプリケーションデータを守る
- アプリケーションのライフサイクルの中でアプリケーションとのそのデータを維持する
- 企業のアプリケーションをコンシューマー向けの App ストアでリリースすること
Sencha Space デスクトップクライアント内でデプロイされ、セキュアに実行されている ExtJS 5 アプリケーション
私たちは、現在のアプリケーション管理やデプロイ技術は部分的な解決でしかなく、アプリ開発や開発ワークフローに不要なコストや複雑性を発生させているだけであることを説明しました。例えば、PhoneGap や Cordova などのネイティブパッケージャーはモバイルに限定されており、管理機能やセキュリティ機能は提供していません。つまりそれらの追加のタスクはアプリケーションのチームに委ねられるということです。
同じように、企業のモバイルを管理するベンダーはモバイルに限定されたデバイスや管理法しか提供しません。彼らはデスクトップアプリケーションの管理、デプロイ、セキュリティ問題は解決しません。モバイルデバイスの管理は単体のアプリやデータではなく、デバイスレベルに焦点を当てているため、それを適用する過程は非常に大雑把なものであり、元々それが必要とされていた初歩的な理由:BYOD (私的デバイスの利用) に適していません。多くの従業員はプライバシーを気にするためにも自分のスマホやタブレットを自社のIT の専門家に制御させることを嫌がります。また、企業を越えた範囲でのBYOD、例えばアプリのアクセス権をパートナー、契約者、コンサルに提供する場合などを考えた場合、その企業に雇われているわけでない人が自分のデバイスにモバイルデバイス管理を認めることは、なかなか考えられません (正規に雇われた社員に比べて) 。
こういった業者はアプリケーションの管理機能も提供しています。しかし、これもモバイルデバイスに限定されたものであり、ポリシーが守られるようにきめ細かく設定されています。こういった管理機能は二つのアプローチを使って行われています。ラッピングとネイティブ SDK です。いずれのアプローチも開発者がアプリケーションをリビルドしなければ価値を持ちません。最悪の場合、これらの解決法は開発者がアプリケーションの所有権管理やセキュリティフックをソースコードに挿入するために書き直さなければなりません。
コンシューマーブラウザはスマホ、タブレット、デスクトップに対応していますが、管理、セキュリティ、そして OS / ハードウェア機能の API へのアクセスは提供していません。
Sencha Space はこういった課題を全て解決するために、デスクトップ、タブレット、スマホで HTML5 アプリケーションのために管理されたランタイム環境を提供しています。このアプローチは以下のような利点があります。
- ネイティブパッケージや、プラットフォームごとの複数のマルチコードベース、App ストアへのデプロイの必要性がなくなる
- デスクトップ、タブレット、スマホで動作するマルチデバイスアプリケーションの、開発、デプロイ、管理を単一の方法で、で提供できます
- 一貫していてモダンなハイパフォーマンス HTML5 ランタイム環境と SDK のおかげで、多くの対応デバイスで実行できるリッチセキュアなアプリケーションを、より簡単に開発できます。
ウェビナーに参加できなかった方は録画された記録をご覧ください。Sencha Space が組織の開発、デプロイ、アプリとユーザーの管理ができることをデモンストレーションしただけでなく、Ext JS 5 を使ってアプリケーションを作る方法も示しました。それはタブレットとデスクトップに対応したアプリで、Sencha Space を使えば、アプリケーションへのタブレットやデスクトップからのアクセスを認めたり制限することが、ネット経由で簡単にできます。
Sencha Space では、アプリケーションを追加し、ユーザーにデプロイするまでが一瞬です。
Sent Space は完全なユーザーな名簿を提供します (彼らのメンバーシップや端末を含めたもの) 。それにより管理者がユーザーやデバイス毎のレベルでアクセスを制限することが可能です。
単一のコードベースを使い、ネイティブパッケージや App ストアでのデプロイを使わないことで、Space は瞬間的に貴方のアプリケーションを必要としているエンドユーザーに、推奨されたデバイスに届けることができます。それに加え、データを守るセキュアなランタイム環境を提供することで、事業を強化し、全ての端末で一貫したアクセスポリシーを持つことができます。
Sencha Space を使って、Windows デスクトップと iPad で実行されている一つの Ext JS 5 アプリケーション。
また、Sencha Space 1.2 で登場した新しい API についても紹介し、それらがいかに開発者が「リッチで複雑なアプリケーション」を開発する手助けをできるかを示しました。 Sencha API については自分の手でその素晴らしさを確かめて欲しいと思っております。
また、Space がiOS と Android 両方のリモートデバッグをより簡単にし、開発者を助けられることを見ることができます。これはクライアントアプリケーションのデバッグバージョンを使ったもので、それにより実行しているアプリケーションをリアルタイムで監視させることができます。開発者の生産性を高めるこういった機能については Space のドキュメントをご覧ください。
Sencha Space は非常に強力なリモートデバッグ機能を提供することで、開発者が素早くアプリのトラブルを解決できます。
また、観覧者からの質問にもいくつか答えましたが、答えきれなかったものについてここで触れたいと思います。
Q: How does Space facilitate offline applications? Q:Sencha Space ではオフラインアプリケーションを容易にする機能はありますか?
A: Space は HTML5 アプリのキャッシュメカニズムに対応し、強力な暗号化を使って端末上に大容量の機密データを保存できる、リッチな API を提供しています。将来的に製品が拡張されれば Space のオフラインでの使用ケースへの柔軟性も拡張されるでしょう。
Q: Space 管理コンソールではアプリケーションを特定のプラットフォームや端末に制限することができますか?デスクトップで実行できるアプリケーションが必ずしもモバイル端末で動くとは限りません (その逆も) 。
A: Space は現在実行時にプラットフォームやデバイスのタイプによって除外をするというポリシーはありません。しかし、Space はデバイスの種類や OS を特定するための API を用意はしております。つまり、開発者はサポートしていない端末はフィルターアウトするコードを足すことはできます。この分野の拡張についてはご期待ください。
Q: Space はどのようにアプリケーションの開発、アップグレードのプロセスを管理しますか?あるアプリのバージョンを QA にデプロイした後、それを製品版に移動することは可能ですか?
A: はい。今日では、Sencha Space 内ではアプリケーションの別々のバージョンをデプロイでき、それらを特定のユーザーにリンクすることができます (あなたの場合QAチーム) 。テストプロセスが完了し次第、そのバージョンのアプリを製品ユーザーにデプロイすることができます。アプリケーションバージョ二ングやデプロイに関するアップデートについても、ご期待ください。
Q: Sencha Space はアプリのデータにアクセスできますか?例えば、もし管理者が、組織のデータをデバイスから消去した場合、Space はデータをサーバーに送り返すことは可能ですか?
A: いいえ。アプリケーションは明示的にローカルデータをシンクロしてサーバーに送り返すことができます。しかし、Sencha セキュアストレージは、認証されたユーザーが有効なセッション内にアクセスし、PINを入力できなければ機密データを端末から復元できない仕様になっています。今後のリリースのためにもセキュアデータのシンクメカニズムに関してはリサーチをしています。
Q: Space は FeedHenry などの MBaaS と比べてどうでしょうか?
A: Space は MBasS ソリューションではありません。管理された、セキュアな HTML5 環境でありクライアントサイド SDK です。クラウドストレージとの同期、アプリのサーバーサイド API 管理、ソーシャルメディアへの統合などのバックエンド機能は提供していません。それに加え、Space はデスクトップに対応し、モバイル / デスクトップ間の橋渡しも行います。Space ユーザー管理統合と、プッシュ通知 API はよりリッチでセキュアなクライアントサイドのユーザー体験を可能にします。
Q: アプリで Space を使うとコンシューマーブラウザ やネイティブパッケージャーが使えなくなりますか?
A: いいえ。アプリが Space で実行されているのか、他の場所で実行されているのかが簡単にわかり、さらにそこで適切なアクションを起こす API を提供しています。
ウェビナーの録画記録 を見て、新機能について知ってください。また、Sencha Spaceの新しい機能については今後のウェビナーでも発表していくのでご期待ください。