Silverlight5新機能早めぐり田中 孝佳(@tanaka_733)
自己紹介Twitter: @tanaka_733お仕事  – 最近お仕事ではSilverlight触ってないです     趣味でWP7開発はしてますが  – PaaSの開発をしています (Azureじゃないよ)  – Javaに加えて N...
今日のセッションは・・・以前ブログに書いた記事 – Silverlight 5 新機能のまとめ – http://techblog.hilife-jp.info/2012/01/silverlight-   5.htmlこれをもとに、 新機...
サンプルアプリを公開してます アプリはこちら  – http://apps.hilife-jp.info/Silverlight5Samples/  – 動画が重いので、TrickPlayサンプルは除いています  – Webサーバーはngin...
お仕事に使うのなら知っておくべき情報Silverlight5のライフサイクル
Silverlight5のライフサイクルSilverlightはツール  – 個別のタスクもしくは限定されたタスクを補    助するユーティリティーまたは機能メジャーバージョンのツールは最低限、 サポート終了の 12 ヶ月前に告知Silv...
Silverlight5のライフサイクル以下のうちどちらか早い方 – 2021 年 12 月 10 日 – 次期バージョン(IE10?)のブラウザのサポート   ライフサイクル終了ブラウザごとのサポート対応は、 ブラウザの進化に合わせて更新
Silverlight5のサポートブラウザ Windows   – 1.6GHz以上のCPUかつ512MB以上のRAM   – Win7 SP1 or Server 2008 R2 SP1は     64bitブラウザに対応   – IE7~...
メディアサポートはSilverlightの強みの1つメディアサポートの改善
低レイテンシなオーディオの再生効果音が使いやすくなりました今まで – MediaElementのみ – 起動に時間がかかるこれから – Microsoft.Xna.Framework.Audio.SoundEffect   クラスを使えばOK
サンプル SoundEffectView.xaml 音声ファイルのビルドアクションは「リソース」で SoundEffectInstanceをusing節でくくってはだめ
再生速度の変更MediaElementで速度が変更できます – いわゆるTrickPlayPlayBackRate プロパティで変更 – ドキュメント上、値の制限はなし変更するとRateChangedイベントが発生サンプル – Tric...
その他H.264形式メディアのH/Wデコーディング – H.264形式でプロテクトされていないメディアの   デコーディングに関して、   パフォーマンスが改善しましたDRM KeyのローテーティングとLive TVの再 生 – DRM K...
テキストの配置の自由度が増しましたテキストサポートの改善
テキストのトラッキングとレディング文字間隔の調整  – CharacterSpacing プロパティ行間の調整  – LineHeight および LineStackingStrategy プロパ    ティhttp://techblog...
RichTextBlock とオーバーフロー読み取り専用のリッチテキストのための RichTextBlock コントロールRichTextBlockに収まらないコンテンツを RichTextBlockOverflow で表示http://...
サンプルOverFlowView.xamlこういう配置が可能になります
そのほかOpenType と Pixel Snapped  – Textテキストをより鮮明にします外字の表示  – 外字の表示がより安定的に可能に  – 参考記事    「お名前を正しく表示できるSilverlight」印刷  – ベク...
Silverlight5の肝となる新機能次世代ビジネスアプリケーションの構築
PivotViewerPivotViewerがSDKに入りました大量のデータを可視化使い方はちょっとめんどい・・・  – それに見合うだけの価値あり参考記事  – http://tonychampion.net/blog/index.p...
PivotViewerのサンプルPivotViewer.xaml
ダブルクリックの検出SL4まではダブルクリックイベントが ありませんでした。。。実現する場合はアプリ側で対応 – Clickイベントで直前のイベントの   ソースと時刻を保持しておいて比較SL5では、MouseButtonEventArg...
ダブルクリックのサンプルDoubleClickView.xamlイベントハンドラではなく、 コマンドっぽく使いたい場合は・・・
CustomTriggerを作ってみましょうサンプル – Triggers/ClickTrigger.xamlブログ記事 – http://techblog.hilife-jp.info/2011/09/silverlight-   5-3...
ItemsControl テキスト検索ListboxとComboBox において、 キーをタイプすることで頭出し検索を 可能にします。 – TextPath 添付プロパティで、  検索に使用するプロパティを指定可能参考記事 – Silver...
サンプルItemSearchView.xaml                       ViewModelの                       Description プロパティを                       検...
ダイアログの初期値OpenFileDialog を開くときの 初期ディレクトリを指定 – InitialDirectory プロパティを使用SaveFileDialog を開くときの既定のファイル 名を指定 – DefaultFileNam...
WPFに近づいたDataBindingDataBinding関連
の前にDataBindingのおさらい            Binding    依存関係                      プロパティ   プロパティ   View               DataJavaFX(Swingに代...
依存関係プロパティの役割とは?他のデータに基づいてプロパティの値を 計算する方法を提供すること他のデータって? – ユーザー設定などの外部プロパティ – ResourceやStyleなどのテンプレート – 他のコントロールのプロパティ – ...
SilverlightにおけるBindingのモードOneTime  – Binding時にDataのプロパティで    依存関係プロパティを更新OneWay  – OneTimeに加え、    Dataのプロパティの変更時に    依存関...
SilverlightにおけるBindingのモード          Binding時にReflectionでデータ取得  依存関係    INotifyPropertyChangedを実装し、   プロパティ  プロパティ   OneWay...
DataBindingのデバッグXAML でバインディングにブレークポイ ントを設定して、 データ バインディングをデバッグ
DataContextChanged イベントFrameworkElement.DataContextChanged イベントで、 DataContextが変更された通知を 受けることができます
Ancestor RelativeSource Binding親コントロールのプロパティをBindingする ことができますListBoxのItemにCheckBoxを入れて 選択状態とCheckを連動させる場合などに有 用サンプル   ...
UpdateSourceTrigger 列挙体の追加今までのTextBox  – BindingされたTextの変更は、    TextBoxのフォーカスを抜けたとき  – リアルタイムValidationをしたい場合などは    面倒Up...
そのほかの機能追加暗黙的なDataTemplateStyleでSetter.Value プロパティが 使用可能にカスタムマークアップ拡張 – IMarkupExtension(Of T) インターフェイスを   使用して、   カスタムマ...
3Dが使えるようになりました…が、はまりどころがグラフィックの改善
3Dグラフィックスハードウェア アクセラレーションが適用さ れた 3-D グラフィックを使用する機能を導入XNA Games Studio 4.0 グラフィックス ライ ブラリのコアを導入 –   レンダー ターゲット –   XNA ビル...
開発するには・・・さおさんのブログが入り口にいいかと – http://blog.livedoor.jp/haruka_sao/archives/51   953482.htmlが、Express ユーザーは要注意! – そのままだとできま...
Expressユーザーが開発するにはサンプルプロジェクトを元にします – Silverligh5 Toolkit をインストール – 下記のフォルダのzipを解凍   C:Program Files (x86)Microsoft    SD...
起動するにはURLをファイルパス (file://)ではなく、 http:// で開くようにすること – aspx か html をデバッグ起動の対象に指定最初の起動時は失敗する。 – 動かした状態で、 – 右クリック > Silverli...
ここから先は時間があれば・・・
セキュリティ上の制約が緩和されます信頼されたアプリケーションにおける機能の追加
複数Windowのサポート信頼されたブラウザー外実行アプリケー ションで、複数Windowを表示可能非モーダルのダイアログ ボックスなどが 作成できます
ブラウザ内における完全な信頼いままでブラウザ外実行でしか 使えなかったいくつかの機能が ブラウザ内でも使えるWebBrowserNotificationWindow
制限されないファイルシステムへのアクセスSystem.IOが使えますファイルシステムのどの場所でも アクセス可能
ネイティブ統合P/Invokeのサポート
パフォーマンスもあがりましたSilverlight5 のパフォーマンス改善
パフォーマンス改善一覧 ネットワークのバック グラウンド スレッドを使  用することによって、ネットワークの待機時間が  削減されます。 これは、クライアントの HTTP  Web 要求を使用するシナリオで有用です。 ユーザー コントロール...
120331 silverlight5新機能早めぐり
120331 silverlight5新機能早めぐり
Upcoming SlideShare
Loading in …5
×

120331 silverlight5新機能早めぐり

2,569 views
2,429 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,569
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
5
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

120331 silverlight5新機能早めぐり

  1. 1. Silverlight5新機能早めぐり田中 孝佳(@tanaka_733)
  2. 2. 自己紹介Twitter: @tanaka_733お仕事 – 最近お仕事ではSilverlight触ってないです 趣味でWP7開発はしてますが – PaaSの開発をしています (Azureじゃないよ) – Javaに加えて Node.js や Ruby 始めましたブログやってます(最近テーマがカオスw) – 銀の光と碧い空 – http://techblog.hilife-jp.info/
  3. 3. 今日のセッションは・・・以前ブログに書いた記事 – Silverlight 5 新機能のまとめ – http://techblog.hilife-jp.info/2012/01/silverlight- 5.htmlこれをもとに、 新機能をおさらいしようという セッションです
  4. 4. サンプルアプリを公開してます アプリはこちら – http://apps.hilife-jp.info/Silverlight5Samples/ – 動画が重いので、TrickPlayサンプルは除いています – Webサーバーはnginxを使ってます GitHubに公開中 – https://github.com/tanaka-takayoshi/Silverlight5Samples – 動画・音声コンテンツは除いています – Pull Request歓迎 – CodePlexの使い方がわかったら移すかも Gitめんどい、という方はこちらのzipを – http://dl.dropbox.com/u/2842933/Silverlight5Samples.zip
  5. 5. お仕事に使うのなら知っておくべき情報Silverlight5のライフサイクル
  6. 6. Silverlight5のライフサイクルSilverlightはツール – 個別のタスクもしくは限定されたタスクを補 助するユーティリティーまたは機能メジャーバージョンのツールは最低限、 サポート終了の 12 ヶ月前に告知Silverlight ランタイムと Silverlight SDK の 最新版に対するアップグレードを提供 – 下位互換性がある – 脆弱性対策・パフォーマンス改善を行う
  7. 7. Silverlight5のライフサイクル以下のうちどちらか早い方 – 2021 年 12 月 10 日 – 次期バージョン(IE10?)のブラウザのサポート ライフサイクル終了ブラウザごとのサポート対応は、 ブラウザの進化に合わせて更新
  8. 8. Silverlight5のサポートブラウザ Windows – 1.6GHz以上のCPUかつ512MB以上のRAM – Win7 SP1 or Server 2008 R2 SP1は 64bitブラウザに対応 – IE7~9 – FireFox3.6+ – Chrome12+ Mac – 1.83GHz以上のCPUかつ512MB以上のRAM – FireFox3.6+ – Safari4+ http://www.microsoft.com/getsilverlight/locale/en- us/html/installation-win-SL5.html
  9. 9. メディアサポートはSilverlightの強みの1つメディアサポートの改善
  10. 10. 低レイテンシなオーディオの再生効果音が使いやすくなりました今まで – MediaElementのみ – 起動に時間がかかるこれから – Microsoft.Xna.Framework.Audio.SoundEffect クラスを使えばOK
  11. 11. サンプル SoundEffectView.xaml 音声ファイルのビルドアクションは「リソース」で SoundEffectInstanceをusing節でくくってはだめ
  12. 12. 再生速度の変更MediaElementで速度が変更できます – いわゆるTrickPlayPlayBackRate プロパティで変更 – ドキュメント上、値の制限はなし変更するとRateChangedイベントが発生サンプル – TricPlayView.xaml
  13. 13. その他H.264形式メディアのH/Wデコーディング – H.264形式でプロテクトされていないメディアの デコーディングに関して、 パフォーマンスが改善しましたDRM KeyのローテーティングとLive TVの再 生 – DRM Keyのローテーティングを可能にし、 Live TVの再生を可能にしました。アプリケーションによるメディアの制限 – DRM配信+クライアント側のX509認証によっ て、 指定したアプリケーションだけが再生可能な メディアを配信できる。
  14. 14. テキストの配置の自由度が増しましたテキストサポートの改善
  15. 15. テキストのトラッキングとレディング文字間隔の調整 – CharacterSpacing プロパティ行間の調整 – LineHeight および LineStackingStrategy プロパ ティhttp://techblog.hilife-jp.info/2011/09/silverlight- 5-6-advancements-in-text.htmlサンプル – TextSpacing.xaml
  16. 16. RichTextBlock とオーバーフロー読み取り専用のリッチテキストのための RichTextBlock コントロールRichTextBlockに収まらないコンテンツを RichTextBlockOverflow で表示http://techblog.hilife- jp.info/2011/09/silverlight-5-6- advancements-in-text.html
  17. 17. サンプルOverFlowView.xamlこういう配置が可能になります
  18. 18. そのほかOpenType と Pixel Snapped – Textテキストをより鮮明にします外字の表示 – 外字の表示がより安定的に可能に – 参考記事 「お名前を正しく表示できるSilverlight」印刷 – ベクター印刷が可能に
  19. 19. Silverlight5の肝となる新機能次世代ビジネスアプリケーションの構築
  20. 20. PivotViewerPivotViewerがSDKに入りました大量のデータを可視化使い方はちょっとめんどい・・・ – それに見合うだけの価値あり参考記事 – http://tonychampion.net/blog/index.php/series/ pivotviewer-basics/ – ※英語です
  21. 21. PivotViewerのサンプルPivotViewer.xaml
  22. 22. ダブルクリックの検出SL4まではダブルクリックイベントが ありませんでした。。。実現する場合はアプリ側で対応 – Clickイベントで直前のイベントの ソースと時刻を保持しておいて比較SL5では、MouseButtonEventArgs に ClickCountプロパティが追加 – MouseLeftButtonDown でチェック
  23. 23. ダブルクリックのサンプルDoubleClickView.xamlイベントハンドラではなく、 コマンドっぽく使いたい場合は・・・
  24. 24. CustomTriggerを作ってみましょうサンプル – Triggers/ClickTrigger.xamlブログ記事 – http://techblog.hilife-jp.info/2011/09/silverlight- 5-3-clickcount.htmlRx版 – http://techblog.hilife-jp.info/2011/09/custom- clicktrigger.html
  25. 25. ItemsControl テキスト検索ListboxとComboBox において、 キーをタイプすることで頭出し検索を 可能にします。 – TextPath 添付プロパティで、 検索に使用するプロパティを指定可能参考記事 – Silverlight 5 の新機能その8 コンボボックスの キー入力移動とSaveFileDialogのデフォルト 値
  26. 26. サンプルItemSearchView.xaml ViewModelの Description プロパティを 検索キーに指定 ViewModel
  27. 27. ダイアログの初期値OpenFileDialog を開くときの 初期ディレクトリを指定 – InitialDirectory プロパティを使用SaveFileDialog を開くときの既定のファイル 名を指定 – DefaultFileName プロパティを使用ブログ記事 – Silverlight 5 の新機能その8 コンボボックスの キー入力移動とSaveFileDialogのデフォルト値
  28. 28. WPFに近づいたDataBindingDataBinding関連
  29. 29. の前にDataBindingのおさらい Binding 依存関係 プロパティ プロパティ View DataJavaFX(Swingに代わる次世代JavaUI) やknockout.js にも採用されている概念
  30. 30. 依存関係プロパティの役割とは?他のデータに基づいてプロパティの値を 計算する方法を提供すること他のデータって? – ユーザー設定などの外部プロパティ – ResourceやStyleなどのテンプレート – 他のコントロールのプロパティ – そして、DataBinding対象のクラス
  31. 31. SilverlightにおけるBindingのモードOneTime – Binding時にDataのプロパティで 依存関係プロパティを更新OneWay – OneTimeに加え、 Dataのプロパティの変更時に 依存関係プロパティを更新TwoWay – OneWayに加え、 依存関係プロパティの変更時に Dataのプロパティを更新
  32. 32. SilverlightにおけるBindingのモード Binding時にReflectionでデータ取得 依存関係 INotifyPropertyChangedを実装し、 プロパティ プロパティ OneWayもしくはTwoWayならば、 プロパティの変更通知を受け取る TwoWay時はView側の変更で Dataのプロパティを Reflectionにより変更 View Data
  33. 33. DataBindingのデバッグXAML でバインディングにブレークポイ ントを設定して、 データ バインディングをデバッグ
  34. 34. DataContextChanged イベントFrameworkElement.DataContextChanged イベントで、 DataContextが変更された通知を 受けることができます
  35. 35. Ancestor RelativeSource Binding親コントロールのプロパティをBindingする ことができますListBoxのItemにCheckBoxを入れて 選択状態とCheckを連動させる場合などに有 用サンプル – AncestorBindingView.xamlブログ記事 – Silverlight 5 の新機能その2 「Ancestor RelativeSource Binding」
  36. 36. UpdateSourceTrigger 列挙体の追加今までのTextBox – BindingされたTextの変更は、 TextBoxのフォーカスを抜けたとき – リアルタイムValidationをしたい場合などは 面倒UpdateSourceTrigger にPropertyChanged が追加サンプル – TextUpdateView.xaml
  37. 37. そのほかの機能追加暗黙的なDataTemplateStyleでSetter.Value プロパティが 使用可能にカスタムマークアップ拡張 – IMarkupExtension(Of T) インターフェイスを 使用して、 カスタムマークアップ拡張を作れます
  38. 38. 3Dが使えるようになりました…が、はまりどころがグラフィックの改善
  39. 39. 3Dグラフィックスハードウェア アクセラレーションが適用さ れた 3-D グラフィックを使用する機能を導入XNA Games Studio 4.0 グラフィックス ライ ブラリのコアを導入 – レンダー ターゲット – XNA ビルトイン エフェクト – 深度/ステンシル バッファー – マルチ サンプル アンチエイリアシングのサー フェイス構成設定DrawingSurfaceコントロールで描画
  40. 40. 開発するには・・・さおさんのブログが入り口にいいかと – http://blog.livedoor.jp/haruka_sao/archives/51 953482.htmlが、Express ユーザーは要注意! – そのままだとできません – テンプレートが出てこない・・・ – Contentの読み込みが鬼門おすすめしませんが、以下の手順で
  41. 41. Expressユーザーが開発するにはサンプルプロジェクトを元にします – Silverligh5 Toolkit をインストール – 下記のフォルダのzipを解凍 C:Program Files (x86)Microsoft SDKsSilverlightv5.0Toolkitdec11Source – 適当に選んでVWD Expresで開く – Contentプロジェクトは開かない VC# Express か テキストエディタで。。。
  42. 42. 起動するにはURLをファイルパス (file://)ではなく、 http:// で開くようにすること – aspx か html をデバッグ起動の対象に指定最初の起動時は失敗する。 – 動かした状態で、 – 右クリック > Silverlight を選択 – アクセス許可 タブ – 該当URLの 「3Dグラフィックス: …」 を許可に設定
  43. 43. ここから先は時間があれば・・・
  44. 44. セキュリティ上の制約が緩和されます信頼されたアプリケーションにおける機能の追加
  45. 45. 複数Windowのサポート信頼されたブラウザー外実行アプリケー ションで、複数Windowを表示可能非モーダルのダイアログ ボックスなどが 作成できます
  46. 46. ブラウザ内における完全な信頼いままでブラウザ外実行でしか 使えなかったいくつかの機能が ブラウザ内でも使えるWebBrowserNotificationWindow
  47. 47. 制限されないファイルシステムへのアクセスSystem.IOが使えますファイルシステムのどの場所でも アクセス可能
  48. 48. ネイティブ統合P/Invokeのサポート
  49. 49. パフォーマンスもあがりましたSilverlight5 のパフォーマンス改善
  50. 50. パフォーマンス改善一覧 ネットワークのバック グラウンド スレッドを使 用することによって、ネットワークの待機時間が 削減されます。 これは、クライアントの HTTP Web 要求を使用するシナリオで有用です。 ユーザー コントロールとリソース ディクショナ リの XAML パーサーの改善。 64 ビットのブラウザーのサポート。 ハードウェアのデコードと H.264 メディアの保護 されていないコンテンツでの表示のパフォーマン スが向上します。 Silverlight アプリケーションの起動時間を改善す るためのマルチコア JIT のサポート。

×