Your SlideShare is downloading. ×
“なめらか”なメトロスタイルアプリを作るために ~WinRT の非同期性を活用したアプリ開発~
“なめらか”なメトロスタイルアプリを作るために ~WinRT の非同期性を活用したアプリ開発~
“なめらか”なメトロスタイルアプリを作るために ~WinRT の非同期性を活用したアプリ開発~
“なめらか”なメトロスタイルアプリを作るために ~WinRT の非同期性を活用したアプリ開発~
“なめらか”なメトロスタイルアプリを作るために ~WinRT の非同期性を活用したアプリ開発~
“なめらか”なメトロスタイルアプリを作るために ~WinRT の非同期性を活用したアプリ開発~
“なめらか”なメトロスタイルアプリを作るために ~WinRT の非同期性を活用したアプリ開発~
“なめらか”なメトロスタイルアプリを作るために ~WinRT の非同期性を活用したアプリ開発~
“なめらか”なメトロスタイルアプリを作るために ~WinRT の非同期性を活用したアプリ開発~
“なめらか”なメトロスタイルアプリを作るために ~WinRT の非同期性を活用したアプリ開発~
“なめらか”なメトロスタイルアプリを作るために ~WinRT の非同期性を活用したアプリ開発~
“なめらか”なメトロスタイルアプリを作るために ~WinRT の非同期性を活用したアプリ開発~
“なめらか”なメトロスタイルアプリを作るために ~WinRT の非同期性を活用したアプリ開発~
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

“なめらか”なメトロスタイルアプリを作るために ~WinRT の非同期性を活用したアプリ開発~

10,944

Published on

VSUG DAY 2012 Summer のセッション資料です。

VSUG DAY 2012 Summer のセッション資料です。

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
10,944
On Slideshare
0
From Embeds
0
Number of Embeds
20
Actions
Shares
0
Downloads
6
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. VSUG DAY – Summer ( 2012.06.16 )“ なめらか”な    メトロスタイルアプリを        作るために~ WinRT の非同期性を活用したアプリ開発~ 青柳 臣一
  • 2. 自己紹介 Twitter: @ShinichiAoyagi ブログ : http://shinichiaoyagi.blogspot.jp/ 仕事 職場 自宅 ソフトウエア開発 大阪 大阪 WPF 、 Silverlight 、 淀屋橋 吹田 C# 、 VB 、 VSUG DAY - Winter 2012.06.16
  • 3. “ なめらか”• タッチ – マウス以上に遅延に敏感になる• フィードバック – HDD のアクセスランプ• メトロスタイルアプリのライフサイクル – 起動→サスペンド→再起動→… VSUG DAY - Winter 2012.06.16
  • 4. 非同期• WinRT では多くの API が非同期 – 50ms 以上かかる API は基本的に非同期 – 非同期メソッドがある場合は同期版は無し• 非同期メソッドは末尾に “ Async” – ファイル作成 • StorageFolder.CreateFileAsync() – ファイル検索 • StorageFolder.CreateFileQuery() のあと GetFilesAsync() VSUG DAY - Winter 2012.06.16
  • 5. Asynchronous / Await• Asynchronous – 発音記号 eɪ síŋkrənəs – 「エイシンクロナス」 – 日本での発音は「アシンクロナス」が一般的 ?• Await – 発音記号 əwéɪ t – 「アウエイト」• 今日は「アシンクロナス」 VSUG DAY - Winter 2012.06.16
  • 6. サンプル (1) VSUG DAY - Winter 2012.06.16
  • 7. サンプル (2)• async/await を使うと簡単すっきり VSUG DAY - Winter 2012.06.16
  • 8. async / await• 魔法ではない – C# / VB コンパイラががんばってコードを作 っている – 詳細は C# Language Specification 5.0 に記 載(たぶん、きっと) • 今は以下にあり • 「 C# Language Specification for Asynchronous Functions 」 http://www.microsoft.com/en-us/download/details.aspx?id=23753 VSUG DAY - Winter 2012.06.16
  • 9. 自作 Async メソッド• async メソッドの戻り値 – void 、 Task 、 Task<T> のいずれかのみ VSUG DAY - Winter 2012.06.16
  • 10. キャンセル / 進捗• キャンセル – CancellationToken と CancellationTokenSource• 進捗 – IProgress<T> VSUG DAY - Winter 2012.06.16
  • 11. async / await の注意点 (1)• await から下はあくまで非同期 – 見た目にだまされるとまずい – ときにはきちんとロックが必要かも – ローカル変数なら(ほぼ)安心 • けど、魔法みたいになっちゃうことも VSUG DAY - Winter 2012.06.16
  • 12. async / await の注意点 (2)• await 後は必ず UI スレッドに返ってくる – 必要ないときは await XxxAsync() .ConfigureAwait(continueOnCapturedContext:false); await XxxAsync().ConfigureAwait(false); VSUG DAY - Winter 2012.06.16
  • 13. ご清聴ありがとうございました VSUG DAY - Winter 2012.06.16

×