鈴木章太郎

Silverlight2によるRich Interactive Application開発 アプリケーションモデル (1)

2008-08-10 22:01:06

出張が長期にわたっていたため、ちょっと更新の間隔が空いてしまいました。シアトルには11日間いましたが、毎日20度前後で快適でした。日本に帰ってきてから、この猛暑にあらためてびっくりです。

さて本日は、アプリケーションモデルについて、簡単に記しておきたいと思います。

インストールとインスタンス化

インストールについては、 一度でOKです。自動更新が有効にでき、ブラウザのリスタートは不要です。 そしてフルカスタマイズが可能です。インスタンス化については、 OBJECT TAG をSilverlight.jsから使うことにより、 インストールを簡単にカスタマイズすることが可能です。 Internet Explorerの場合には、このカスタマイズによるインストールエクスペリエンス向上のためのWhite Paperが、こちらに、すでに公開されています。FireFox、Safari、等に関しても、同様のWhitepaperが続いて出てくる予定ですので、しばらくお待ちください。

サーバーサイドの要件

Silverlightそれ自体はWebブラウザのプラグインです。すなわち、クライアントのテクノロジーですので、サーバーサイドの要件は特にありませんが、MIMEタイプの設定が必要な場合があります。


Extension 

MIME type 

.xap 

Application/x-silverlight-app 

.xaml* 

application/xaml+xml 

*XAMLは、Splash Screen(次回解説します)の場合や、Silverlight1.0の場合に必要となります。

アプリケーションパッケージ

これはいわゆる.XAP(ザップ)ファイルと呼ばれます。形式的には、.ZIP形式になっています。これがクライアントのBinにダウンロードされます。

ソースコードとXAML、そしてリソースとしてのメディアファイルが、コンパイルされることによって、.dllとなり、これと、たとえば他のビジネスロジックや、コンテンツとしてのメディア、そして、マニフェストファイル等をパッケージにして、.XAPファイルが生成されます。

この.XAPファイルの中身を確認したい場合には、プロジェクトをコンパイルして出来上がった.XAPファイルがClientBinにありますので、それをコピーして、拡張子を.ZIPにRenameすれば開けます。お試しください。

アプリケーションライフサイクル

ここで強調しておきたいのは、Silverlight アプリケーションは、Stateful model であるということです。Silverlight アプリケーションは、Webアプリケーションというよりは、Windowsの“Client” アプリケーションに近いものと言えるでしょう。 
いったん、.XAP ファイルがダウンロードされると、全てのオブジェクトがメモリ上にロードされます。(必ずしも全てのアプリケーションにあるわけではありませんが、Application Classがあればその中の、StartupとExitに注目してみてください)

このStateful Modelであることから得られるベネフィットとしては:
1.パフォーマンスの向上

2.Isolated Strage等を使ったオフラインの状態での稼働の可能性

3.より少ないラウンドトリッピング

等が挙げられるでしょう。

次回は、この続きから書いていきたいと思います。それではまた(^^)

※マイクロソフト社員のコミュニティ参加について

※このエントリは ブロガーにより投稿されたものです。朝日インタラクティブ および ZDNet Japan編集部の見解・意向を示すものではありません。
  • 新着記事
  • 特集
  • ブログ