ScottGu's blog translated by Chica @ Wankuma

最初のSilverlight 2

  

昨年の9月にSilverlight 1.0 for Mac と for Windowsを出荷し Linux上でSilverlightを提供する予定であることを告知いたしました。Silverlight 1.0はブラウザ上でリッチメディアを利用できるようにするもので、JavaScriptやAJAXプログラミングモデルをサポートしています。

間もなくSilverlight 2の最初の公開ベータ版をリリースします。これは、Silverlightの主要アップデートで、リッチインターネットアプリケーション(RIA)開発ができるようになります。今回のブログは第1回目の投稿で、今後詳細に行っていく予定です。

クロスプラットフォーム・クロスブラウザの.NET開発

Silverlight 2は.NET Frameworkのクロスプラットフォーム、クロスブラウザ版が含まれており、ブラウザで起動するリッチな.NET開発プラットフォームが利用できます。開発者はSliverlightアプリケーションを全ての.NET言語( VB、C#、JavaScript、IronPython、IronRubyなど)を使用して書くことができます。Visual Studio 2008およびExpression Studioツールサポートを出荷する予定で、これによりSilverlightソリューションを構築する際の開発者・デザイナ間のワークフローが非常に改善されます。

今回のSilverlight 2 ベータ1のリリースではRIAアプリケーション開発を可能にするリッチな機能が提供されます。:

  • WPF UI フレームワーク: Silverlight 2 にはリッチなWPFベースのUIフレームワークがあり、リッチなWebアプリケーションをより簡単に構築することができます。そこには、強力な画像および動画のエンジン、そしてコントロール、レイアウト管理、データバインディング、スタイル、テンプレートのスキンなど、ハイレベルのUI機能に対するリッチなサポートが含まれています。SilverlightのWPF UIフレームワークは通常の.NET FrameworkにあるWPF UIフレームワークと互換性のあるサブセットですので、開発者はリッチなクロスブラウザWebアプリケーションを構築する際も、リッチなデスクトップWindowsアプリケーションを構築する際も、スキル、コントロール、コート、コンテンツを再利用することができます。
  • リッチなコントロール: Silverlight 2 には、リッチなビルドインコントロールが一通りあるので、開発者やデザイナは簡単にアプリケーションを開発することができます。今回のベータ1リリースには、コントロール(TextBox, CheckBox, RadioButtonなど)、ビルドインのレイアウト管理パネル(StackPanel, Grid, Panelなど)、共有機能コントロール(Slider, ScrollViewer, Calendar, DatePickerなど)、データ操作コントロール(DataGrid, ListBoxなど)からコアの部分が含まれてます。ビルドインコントロールはリッチなコントロールのテンプレートモデルがサポートされており、開発者やデザイナは非常に洗練されたソリューションを構築するために共同で作業することができます。
  • リッチなネットワークサポート: Silverlight 2にはリッチなネットワークサポートがあります。REST, WS*/SOAP, POX, RSS, 標準の HTTP サービスを呼び出すサポートがすぐに使用できます。これはクロスドメインネットワークアクセス(SilverlightのクライアントがWeb上のリソースからのリソースやデータに直接アクセスすることを可能にします。)をサポートしています。ベータ1にはビルドインのソケットネットワークサポートもあります。

  • リッチなベースクラスライブラリ: Silverlight 2にはリッチな .NET ベースクラスライブラリ(コレクション、IO、ジェネリック、スレッド、グローバライゼーション、XML、ローカルストレージなど)があります。これにはリッチなAPIが含まれており、.NET コードとHTML DOM/JavaSciptとの統合が可能です。またLINQやLINQ to XMLライブラリのサポート(簡単な変換やデータのクエリが可能)、およびローカルデータのキャッシュやストレージのサポートも含まれています。Silverlightの.NET APIは通常の.NET Frameworkの互換性のあるサブセットです。

Silverlight 2 は起動させるためにコンピュータに .NET Frameworkをインストールする必要はありません。Silverlightのセットアップには、バニラ Mac OSXまたはWindows上で上記の機能全て(および間もなくお話しするものも)を有効にするのに必要なもの全てが含まれています。

Silverlight 2のベータ1リリースのサイズは4.3MBで、インストールには4-10秒かかります。一度Silverlight 2がインストールされるとWeb上にあるリッチなSilverlightアプリケーションをブラウザ(IE、FireFox、Safariなど)に応じて自動的に起動することができます。

Silverlight 2 の利用: 簡単なDiggクライアントの構築

Silverlight2に素早く親しんで頂くためには、Silverlightアプリケーションを構築するのがいいのでは思いました。順番にチュートリアルを書くことで、それぞれ(コントロール、レイアウト管理、ネットワーク、データバインディング、スタイル、ユーザコントロール、テンプレートなど)の異なるプログラミング概念を深くご説明できればと思います。また、ブラウザ外のアプリケーションとの統合方法およびWPFと通常の.NET Frameworkを使用してデスクトップアプリケーションにする方法をご紹介したチュートリアル投稿も追加しました。

以下は今回構築したSilverlightアプリケーションのスクリーンショットです。これは人気の Digg.com サイトへの検索フロントエンドで、入力 に応じてDiggトピックを検索することができます。

更新: Diggアプリケーションの完成版ソースコードをここからダウンロードして頂けます。

アプリケーションのUIはすべてSilverlightのWPFフレームワークを使用して構築されています。アプリケーションはSilverlightのネットワークスタックとクロスドメインアクセスサポートを使用して Digg REST APIを直接検索し、LINQおよびLINQ to XMLを使用してUIにデータバインドしたDiggStoryオブジェクトへの戻りデータを検索および変換します。 :

アプリケーションはマスター・詳細データ統合モデルをサポートしており、ユーザは検索一覧から物語を選択することができ、そこから詳細を簡単に確認することができます。ユーザはDiggの記事に直接詳細フォームからジャンプしたり、それを閉じて別の詳細が見たい物語を選択することができます。 :

アプリケーション全体は全部で35行のC#コードと75行のXAMLページ・ユーザコントロールタグで実装されています。これはSilverlightにビルドインされているコントロールとライブラリのみを使用しています。

Silverlight のチュートリアル

以下にまとめた8つのチュートリアルからこのDiggアプリケーションの構築方法をご参照頂けます。 :

チュートリアルは順番にご覧頂くようになっており、手順通りに行うとDiggアプリケーションが構築できます。(VS 2008で ファイル->新規プロジェクト から開始します。)各プログラミング概念をご説明するために各チュートリアルを使用するように心がけました。

もしWPFを以前にご利用の方には、お話しているUI概念はすでにご存じのものだと思います。もしWPFをご利用のない方には、チュートリアルはその中にある基礎的なプログラミング概念の概略を上手く提供させて頂けてるのではないかと思います。これによりベータ1が出た際にVS 2008でSilverlight2アプリケーションの構築が開始できる基礎的な必要知識をご提供できていれば幸いです。

ベータがダウンロードできるようになりましたら詳細を投稿していくつもりです。また、ベータ1が出荷されましたら、Diggアプリケーションの完成版を(VS 2008でご利用頂けるコードとプロジェクトファイルとともに)私のサイトにアップします。

Hope this helps,

Scott

ScottGu's blog translated by Chica @ Wankuma 

※本翻訳に関しまして、Scottさんにはご了承頂いております。