kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

codeseek & C#ユーザー会でのBUILD振り返り

いくつか聞いていましたが、やはりみんなであーだこーだしゃべっていると自身も整理できていいですね。
今日みんなで持ち寄ったWindows 8インストール済みマシン(全部実機インストール)。
Twitpic - Share photos and videos on Twitter
マルチタッチでもマシンによってはタッチリリースイベントを返さないものもありました。スレートで動いているの見ましたけど、AMD Fusionでもかなり快適に動いています。Atomは見るの忘れましたが…つらいでしょうか?でもこの程度と言ってはあれですが、この程度のスペックの実機でしかもチューニングがあまりできていない(はずの)Developer Previewでこれだけ動くってすごいです。
ただ、やっぱりタッチ前提のOSなので、マウスつなぐと今は慣れもあって、操作性が悪いと感じるかもしれません。とくに10何年しみついた右クリック。Metroアプリケーションのメニューが出てしまうので、マインドチェンジまで相当かかるかもしれません。
さて、勉強会では公開されているppt見ながらいろいろと。

  • Windows 8に含まれるDev11(Visual Studio vNext)ではコンソールアプリケーションのテンプレートなくて悲しい。いや、WinRTのコンソールアプリとか作りたいので。
  • WinRTはCOMベース。ただしCOMっぽいところは(あまり)見えない。COMのThreading modelは気にしなくていいみたいなことスライドで書いているけど、やっぱり気にしたほうがいいよね。
  • Metroアプリケーションの配布方法(Windows Phoneでいうところのサイドローディングを許すかみたいな話)まだわからないけど、インストールまでちゃんとOSが面倒見てくれるのはうれしい。コンシューマーでmsiベースだとどうしても一定確率でmsiのデータベースが壊れてインストールできないという話が出てくる。
  • async(非同期)機能いろいろ。JavaScriptでの非同期読みづらい。C#のasyncで例外が発生したとき、try〜catchで例外補足してくれる範囲に注意しよう(補足:コメント欄参照のこと。.NET4のTaskクラス使ったときの話。C# 5.0のasync構文では問題ないはず)
  • アプリケーションインスタンスを複数起動する場合、最初の一つがMTAで起動して、各インスタンスがSTAで起動される。スライドで説明している図を見ると、まんま.NETのAppDomainでplug-in作るときみたいな感じ。
  • JavaScriptでWinRT操作している例もあったけど、サンプルだからということはわかるんだけど、やっぱりキモイ。innerHtmlでデータから画面構築されるとね…jQueryみたいなのと併用してやらないといけないよねやっぱり。
  • 今日ぶくましたけど、.NET 4.5はSide by Sideではなく、リプレース(元ネタ:Compatibility of .NET Framework 4.5 - .NET Blog - Site Home - MSDN Blogs)。GC(とくにServer GC)/JIT/nGenが結構変わる。

もうちょっとあった気がするけど、とりあえずこれだけ。