SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
Silverlight for Windows Phone Toolkit
                                       伊勢 シン
                 Microsoft MVP for Windows Phone
                             (Sep 2010 – Oct 2011)
本当は怖い
Silverlight for Windows
Phone toolkit
• Windows Phone 7 アプリを作るなら
  必須ともいうべきライブラリ
 – 標準ライブラリに入っていない、
   いろいろなUI部品が収録されている
 – みんな大好き
しかしその実態は・・・
• 何も考えずに使うと謎のバグを撒き散ら
  す!
 – 遅い
 – 消える
 – 落ちる
 – 動かなくなる
 – etc...
• 今回は、夏の夜にぴったり?な、
  February 2011 で起こったお話です。
消えるバインディング
• ListPicker に大量のデータを追加
 – 100個とか入れるとパフォーマンス低下
• 60個くらい入れたところで、開いたり
  閉じたりを繰り返すと、
  突然選択項目が真っ白に!!

• 大量にデータを出す場面では
  ListPicker のような違うもの
  (別ページに ListBox)を使って回避
落ちるトランジション
• ページが切り替わってるときに、
  Windows Phone 7っぽい感じの
  アニメーションをしてくれる。

• トランジション中にBackキーを押すと落ちる。

• トランジション完了のイベントを
  見るようにして、イベントが完了するまでは
  遷移系イベントを発生させないようにする。
動かなくなるスライダ
• フリックとかタップとかのめんどくさい
  計算をうまいことしてくれる
  GestureListener
• しかし、タッチのイベントを
  監視しまくっているせいか、
  ほかのドラッグを使う処理と干渉する
• スライダのつまみが動かなくなる!
GestureListenerその他の問題

• ピボットの上に置くと
  イベントが発生しづらくなる
• MouseLeftButtonイベントを処理している
  ものがあると干渉して落ちる場合がある
August 2011 でいくつか解決
• 今週出たAugust 2011のアップデートで
  いくつかの問題は解決されたみたい。
 – 消えるバインディング
   • 追加されたアニメーションのおかげで
     発現しにくくなった
 – 落ちるトランジション
   • トランジション中はBackキーが
     ブロッキングされるようになってばっちり改善
   • トランジション中に
     NavigationService.Navigateした場合の挙動は未検証
 – 動かなくなるスライダ
   • 今も問題継続中…
まとめ
• Silverlight for Windows Phone Toolkitは
  便利だけど、問題もちょこちょこあるよ。
• 何はともあれ August 2011 への
  アップデートおすすめ
  – Mango対応
  – パフォーマンス向上、バグ修正
• GestureListener はいらない子
  – 紹介した以外にも問題いろいろある
  – 標準のイベントでも簡単にできる

Más contenido relacionado

Más de Shin Ise

すまべんLite@関西#4
すまべんLite@関西#4すまべんLite@関西#4
すまべんLite@関西#4
Shin Ise
 
すまべんLite@関西#3
すまべんLite@関西#3すまべんLite@関西#3
すまべんLite@関西#3
Shin Ise
 
すまべんLite@関西#2
すまべんLite@関西#2すまべんLite@関西#2
すまべんLite@関西#2
Shin Ise
 
すごいHaskell読書会#10
すごいHaskell読書会#10すごいHaskell読書会#10
すごいHaskell読書会#10
Shin Ise
 
音声APIを使ってみる
音声APIを使ってみる音声APIを使ってみる
音声APIを使ってみる
Shin Ise
 
すまべんLite@関西#1
すまべんLite@関西#1すまべんLite@関西#1
すまべんLite@関西#1
Shin Ise
 
Xamarin2.0であそぼう
Xamarin2.0であそぼうXamarin2.0であそぼう
Xamarin2.0であそぼう
Shin Ise
 
CoreBluetoothでつくるBluetooth Low Energyデバイス
CoreBluetoothでつくるBluetooth Low EnergyデバイスCoreBluetoothでつくるBluetooth Low Energyデバイス
CoreBluetoothでつくるBluetooth Low Energyデバイス
Shin Ise
 
すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」
すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」
すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」
Shin Ise
 
MediaLibrary で あそぼう
MediaLibrary で あそぼうMediaLibrary で あそぼう
MediaLibrary で あそぼう
Shin Ise
 
実践 Reactive Extensions
実践 Reactive Extensions実践 Reactive Extensions
実践 Reactive Extensions
Shin Ise
 
Socketプログラム Silverlight for Windows Phoneへの移植のポイント
Socketプログラム Silverlight for Windows Phoneへの移植のポイントSocketプログラム Silverlight for Windows Phoneへの移植のポイント
Socketプログラム Silverlight for Windows Phoneへの移植のポイント
Shin Ise
 
Macで使うWindows Phone 7
Macで使うWindows Phone 7Macで使うWindows Phone 7
Macで使うWindows Phone 7
Shin Ise
 
Galaxy tab で持ち歩くモバイルサーバー
Galaxy tab で持ち歩くモバイルサーバーGalaxy tab で持ち歩くモバイルサーバー
Galaxy tab で持ち歩くモバイルサーバー
Shin Ise
 
ハブインテグレーションでWindows Phone 7の世界に溶け込むアプリを作る
ハブインテグレーションでWindows Phone 7の世界に溶け込むアプリを作るハブインテグレーションでWindows Phone 7の世界に溶け込むアプリを作る
ハブインテグレーションでWindows Phone 7の世界に溶け込むアプリを作る
Shin Ise
 
Windows Phone 7 に向けてクラウドを準備
Windows Phone 7 に向けてクラウドを準備Windows Phone 7 に向けてクラウドを準備
Windows Phone 7 に向けてクラウドを準備
Shin Ise
 
Windows Phone 7 + iTunes
Windows Phone 7 + iTunesWindows Phone 7 + iTunes
Windows Phone 7 + iTunes
Shin Ise
 
C#でiPhone開発とか
C#でiPhone開発とかC#でiPhone開発とか
C#でiPhone開発とか
Shin Ise
 
C#でiPhoneアプリ開発 with MonoTouch
C#でiPhoneアプリ開発 with MonoTouchC#でiPhoneアプリ開発 with MonoTouch
C#でiPhoneアプリ開発 with MonoTouch
Shin Ise
 
Bluetoothでつなごう!
Bluetoothでつなごう!Bluetoothでつなごう!
Bluetoothでつなごう!
Shin Ise
 

Más de Shin Ise (20)

すまべんLite@関西#4
すまべんLite@関西#4すまべんLite@関西#4
すまべんLite@関西#4
 
すまべんLite@関西#3
すまべんLite@関西#3すまべんLite@関西#3
すまべんLite@関西#3
 
すまべんLite@関西#2
すまべんLite@関西#2すまべんLite@関西#2
すまべんLite@関西#2
 
すごいHaskell読書会#10
すごいHaskell読書会#10すごいHaskell読書会#10
すごいHaskell読書会#10
 
音声APIを使ってみる
音声APIを使ってみる音声APIを使ってみる
音声APIを使ってみる
 
すまべんLite@関西#1
すまべんLite@関西#1すまべんLite@関西#1
すまべんLite@関西#1
 
Xamarin2.0であそぼう
Xamarin2.0であそぼうXamarin2.0であそぼう
Xamarin2.0であそぼう
 
CoreBluetoothでつくるBluetooth Low Energyデバイス
CoreBluetoothでつくるBluetooth Low EnergyデバイスCoreBluetoothでつくるBluetooth Low Energyデバイス
CoreBluetoothでつくるBluetooth Low Energyデバイス
 
すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」
すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」
すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」
 
MediaLibrary で あそぼう
MediaLibrary で あそぼうMediaLibrary で あそぼう
MediaLibrary で あそぼう
 
実践 Reactive Extensions
実践 Reactive Extensions実践 Reactive Extensions
実践 Reactive Extensions
 
Socketプログラム Silverlight for Windows Phoneへの移植のポイント
Socketプログラム Silverlight for Windows Phoneへの移植のポイントSocketプログラム Silverlight for Windows Phoneへの移植のポイント
Socketプログラム Silverlight for Windows Phoneへの移植のポイント
 
Macで使うWindows Phone 7
Macで使うWindows Phone 7Macで使うWindows Phone 7
Macで使うWindows Phone 7
 
Galaxy tab で持ち歩くモバイルサーバー
Galaxy tab で持ち歩くモバイルサーバーGalaxy tab で持ち歩くモバイルサーバー
Galaxy tab で持ち歩くモバイルサーバー
 
ハブインテグレーションでWindows Phone 7の世界に溶け込むアプリを作る
ハブインテグレーションでWindows Phone 7の世界に溶け込むアプリを作るハブインテグレーションでWindows Phone 7の世界に溶け込むアプリを作る
ハブインテグレーションでWindows Phone 7の世界に溶け込むアプリを作る
 
Windows Phone 7 に向けてクラウドを準備
Windows Phone 7 に向けてクラウドを準備Windows Phone 7 に向けてクラウドを準備
Windows Phone 7 に向けてクラウドを準備
 
Windows Phone 7 + iTunes
Windows Phone 7 + iTunesWindows Phone 7 + iTunes
Windows Phone 7 + iTunes
 
C#でiPhone開発とか
C#でiPhone開発とかC#でiPhone開発とか
C#でiPhone開発とか
 
C#でiPhoneアプリ開発 with MonoTouch
C#でiPhoneアプリ開発 with MonoTouchC#でiPhoneアプリ開発 with MonoTouch
C#でiPhoneアプリ開発 with MonoTouch
 
Bluetoothでつなごう!
Bluetoothでつなごう!Bluetoothでつなごう!
Bluetoothでつなごう!
 

Último

Último (11)

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 

本当は怖いSilverlight for Windows Phone Toolkit

  • 1. Silverlight for Windows Phone Toolkit 伊勢 シン Microsoft MVP for Windows Phone (Sep 2010 – Oct 2011)
  • 3. Silverlight for Windows Phone toolkit • Windows Phone 7 アプリを作るなら 必須ともいうべきライブラリ – 標準ライブラリに入っていない、 いろいろなUI部品が収録されている – みんな大好き
  • 4. しかしその実態は・・・ • 何も考えずに使うと謎のバグを撒き散ら す! – 遅い – 消える – 落ちる – 動かなくなる – etc... • 今回は、夏の夜にぴったり?な、 February 2011 で起こったお話です。
  • 5. 消えるバインディング • ListPicker に大量のデータを追加 – 100個とか入れるとパフォーマンス低下 • 60個くらい入れたところで、開いたり 閉じたりを繰り返すと、 突然選択項目が真っ白に!! • 大量にデータを出す場面では ListPicker のような違うもの (別ページに ListBox)を使って回避
  • 6. 落ちるトランジション • ページが切り替わってるときに、 Windows Phone 7っぽい感じの アニメーションをしてくれる。 • トランジション中にBackキーを押すと落ちる。 • トランジション完了のイベントを 見るようにして、イベントが完了するまでは 遷移系イベントを発生させないようにする。
  • 7. 動かなくなるスライダ • フリックとかタップとかのめんどくさい 計算をうまいことしてくれる GestureListener • しかし、タッチのイベントを 監視しまくっているせいか、 ほかのドラッグを使う処理と干渉する • スライダのつまみが動かなくなる!
  • 8. GestureListenerその他の問題 • ピボットの上に置くと イベントが発生しづらくなる • MouseLeftButtonイベントを処理している ものがあると干渉して落ちる場合がある
  • 9. August 2011 でいくつか解決 • 今週出たAugust 2011のアップデートで いくつかの問題は解決されたみたい。 – 消えるバインディング • 追加されたアニメーションのおかげで 発現しにくくなった – 落ちるトランジション • トランジション中はBackキーが ブロッキングされるようになってばっちり改善 • トランジション中に NavigationService.Navigateした場合の挙動は未検証 – 動かなくなるスライダ • 今も問題継続中…
  • 10. まとめ • Silverlight for Windows Phone Toolkitは 便利だけど、問題もちょこちょこあるよ。 • 何はともあれ August 2011 への アップデートおすすめ – Mango対応 – パフォーマンス向上、バグ修正 • GestureListener はいらない子 – 紹介した以外にも問題いろいろある – 標準のイベントでも簡単にできる