740 likes | 1.26k Views
Silverlight 入門. 福井コンピュータ株式会社 小島 富治雄. 2008/01/25 「 Ajax & AIR & Silverlight 入門」セミナー. 自己紹介. お話する内容. Silverlight とは何か ? Silverlight を使う 10 の理由 二つの Silverlight Silverlight の構成 Silverlight プログラミング Silverlight の今後 資料. Silverlight とは何か ?. Demo. 野村證券 バーチャル店舗
E N D
Silverlight入門 福井コンピュータ株式会社 小島 富治雄 2008/01/25 「Ajax&AIR&Silverlight入門」セミナー
お話する内容 • Silverlight とは何か? • Silverlight を使う10の理由 • 二つの Silverlight • Silverlight の構成 • Silverlight プログラミング • Silverlight の今後 • 資料
Demo • 野村證券 バーチャル店舗 • http://www.nomura-branch.jp/silverlight/index.html • GyaO Mac対応 • http://www.gyao.jp/gaga/ • Silverlight VirtualEarth Viewer • http://silverlight.net/samples/1.1/virtualearthviewer/
最近の話題 • Microsoftの「Silverlight」、北京オリンピックの中継に大々的に採用される • http://jp.techcrunch.com/archives/microsoft-silverlight-gets-a-high-profile-win-2008-bejing-olympics/ • Microsoft Updateで1月22日からSilverlightの配信を開始 • http://internet.watch.impress.co.jp/cda/news/2008/01/21/18173.html
Silverlight とは何か? • 旧称 WPF/E • WPF / Everywhere • Webブラウザのプラグイン • Microsoft .NET技術が基盤 • RIA (Rich Interactive Application) を提供
WPF? • Windows Presentation Foundation の略 • .NET 技術のうちのひとつ • XAML(eXtensible Application Markup Language)が特徴 • =XMLベースのアプリケーション画面記述用言語
WPF のデモ • 電子カルテ デモ • 旭山動物園 • http://www.asahiyamazoo-aict.jp/asahiyamazoo.xbap
.NET アプリケーション 例1 ファット クライアント
.NET アプリケーション 例 2 シン クライアント
ファット クライアント改善案 • WPF • UI を更にリッチに • Click Once • 配布/保守を楽に • SQL Server Compact • オフラインに強く
シン クライアントの改善案 • ASP.NET AJAX • 標準技術を使ってよりリッチなUI • Silverlight • マルチ プラットフォームなままで更にリッチに
マイクロソフトのリッチ クライアント技術 XHTML/CSS クロス プラットフォーム サーバー、クライアントを問わない クライアントの Webブラウザに プラグイン Silverlight サーバーに .NET ASP.NET AJAX クライアントに .NET ASP.NET Windows フォーム WPF 表現力
Silverlight を使う理由 1/10 • マイクロソフトが本気 (マジ)
Silverlight を使う理由 2/10 • 奇麗な動画 • PC と Macintosh 上での WMV ファイル等の再生をサポート
Silverlight を使う理由 3/10 • ベクターベースのグラフィック
Silverlight を使う理由 4/10 • 簡単にアニメーション
Silverlight を使う理由 5/10 • マークアップ(XAML)をコードと分離 • デザイナと開発者のコラボレーション • 色々と分離
Silverlight を使う理由 6/10 • クライアントとサーバーの環境を問わない • Windows と Macintosh に対応 • Linux向けには「Moonlight」という名前でリリース予定
Silverlight を使う理由 7/10 • 主要な Webブラウザに対応 • IE、FireFox、Safari • ダウンロードサイズも1.2Mbytes以下と軽量
Silverlight を使う理由 8/10 • WPF との互換性 • サブセット • WPFアプリケーションへのスケールアップの容易性 • .NET 技術 • 「Mac で.NETネイティブコードが動く!」
Silverlight を使う理由 9/10 • HTML や ASP.NET との親和性
Silverlight を使う理由 10/10 • わくわく感のある新技術 • C# 3.0/Visual Basic .NET 9.0 • LINQ (Language Integrated Query : 統合言語クエリ) • XAML (eXtensible Application Markup Language) • XMLベースのアプリケーション画面記述用言語 • LL (Lightweight Language: 軽量で動的な言語) • Python、Ruby、JavaScript
Silverlight を使う理由 10/10(続き) • 新たな選択肢 • 開発の選択肢 • ユーザーに新たな選択肢を示せる • マルチ パラダイムが身近に • 宣言型プログラミング • ⇔ 手続き型プログラミング • DSL (Domain Specific Language:ドメイン特化言語)
Silverlight を使う理由 10/10(続き) • 楽しさ重要
余談…新たな技術に出会ったときの気持ち • 「なんだか良く判らんなー」 • → この技術の意図はこういうことか! • 「これをまた覚えなきゃならんのか…」 • これで書きたかったように書ける!
Silverlight 1.0 • リリース済み • XHTML+CSS • JavaScript • XAML
Silverlight 2.0 • 現在 1.1― α版 • 1.0 (XHTML+CSS、JavaScript、XAML) • CLR (Common Language Runtime) • .NETのコード • C# や Visual Basic .NET 等で開発 • DLR (Dynamic Language Runtime) • 動的言語 (軽量言語) • Python、JScript、Ruby (α版)
1.0 のアーキテクチャ Silverlight プラグイン HTML Webサーバ JavaScript レンダリング XAML ASP.NET レンダリング ファイル メソッド呼び出し イベント
2.0 のアーキテクチャ イベント/ メソッド呼び出し .NETネイディブ コード (C#/VB.NET による) DLR (Python/Jscript/Ruby) Silverlight プラグイン HTML Webサーバ イベント/ メソッド呼び出し レンダリング JavaScript XAML ASP.NET イベント/ メソッド呼び出し ファイル レンダリング メソッド呼び出し イベント
Silverlight 動作環境 • OS • Windows XP SP2 • Windows Vista • Mac OSX • Linux対応は、Moonlight • http://www.mono-project.com/Moonlight • Linux版Silverlight「Moonlight」のアルファ版はほぼ完成――開発責任者が明らかに • http://www.computerworld.jp/news/sw/68389.html
Silverlight 動作環境 • ブラウザ • Internet Explorer 6~ • FireFox 1.5~ • Safari
Silverlight 開発環境 • ミニマム • メモ帳 • Web サーバー (Apache か何か)
Silverlight 開発環境 • マキシマム • Visual Studio 2008 + Silverlight Extension • Microsoft Expression Blend 2 (α版) • IIS
Demo • http://www2.shos.info/silverlight/helloworld/hello.html • http://www2.shos.info/silverlight/HelloSilverlight/hellosilverlight.html • http://www2.shos.info/silverlight/mediaplayer/mediaplayer.html • http://www2.shos.info/silverlight/lifegame/lifegame.html • http://www2.shos.info/silverlight/HelloPython/TestPage.html
Hello World! <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Silverlight Hello World</title> <script type="text/xaml" id="xaml"> <?xml version="1.0" ?> <Canvas xmlns="http://schemas.microsoft.com/client/2007"> <TextBlock Text="Hello World!" /> </Canvas> </script> </head> <body> <object type="application/x-silverlight"> <param name="source" value="#xaml" /> </object> </body> </html> XAML Silverlightコントロール
Demo: Hello World! • ミニマム開発 • テキスト エディタ
Demo: Hello hello.html Webサーバ ファイル
Demo: HelloSilverlight Silverlight プラグイン HelloSilverlight.xaml hellosilverlight.html + hellosilverlight.html.js, Silverlight.js Webサーバ hellosilverlight.js レンダリング ファイル メソッド呼び出し イベント
Demo: MediaPlayer(1) Silverlight プラグイン Webサーバ MediaPlayer.xaml mediaplayer.html+ mediaplayer.html.js, Silverlight.js レンダリング ファイル
Silverlight 開発環境 • マキシマム開発 for Silverlight2.0 • Visual Studio 2008 + Silverlight Extension • Microsoft Expression Blend 2 (α版) • IIS (ASP.NET用)