昨日Silverlightを囲む会 in東京 #2に参加してきました。豪華なスピーカ陣がそろったいとても楽しく、かつためになる話しをいっぱい聞けました。
IIJさまの提供で今でもセッションの様子を見ることができます。高画質なSilverlightスムースストリーミングが下記のアドレスで公開されています。
以下、セッションのメモ
「改めて勉強しよう、Silverlightのメディア機能の最新情報」マイクロソフト 大西彰さん(おにあく3)
- Silverlight1〜4までの歴史
- クライアントPGもサーバでの処理の概要は知っておくべき
- Silverlight標準のMediaElement クラスの紹介
- MediaElementクラスは最盛期では80人くらいが開発にかかわったらしい
- CodePlexのSMFPlayerの紹介
- Microsoft Media Platform: Player Framework - Home
- 世界中で使われてもまれているので結構ちゃんとした作りになっているらしい。
- 端末のスクリーンの様子をPCのディスプレイに表示できる特殊なWindowsPhone7機を持ってきていた
- 日本に数台しかないらしい
- WindowsPhone7はUIがヌルヌル動く。早く日本でも発売してほしい!
- 1台のPCで、動画の撮影、エンコーディング、SmoothStreamingの配信、ブラウザで再生するというデモを行った
- 結構簡単にできちゃうように見えた。
- でも、さすがに1台のPCではスペックがつらそうだったw
「実際、デザイナーってBlendをどう使ってるの?」Coddledeggさん
業務でExpression Blendを使ってコントロールのStyleを作成した際にたまったノウハウをTipsとして発表。
- Blendのフォントサイズの単位のデフォルトがピクセルだけど、XAMLはポイントというミスマッチがあるので、Blendの設定でデフォルトを変えるべき
- 個人的には、これが一番のヒットしたTips
- Blendではサーバプロジェクトのポート指定ができないので、Blendで作業した後、VisualStudioでビルド&実行して確認することもある。
- 現状ではUIデザイナのPCにもVisual Studioのインストールが必須というわけですね。次期Blendで改良してほしい。
「Blendで作るWindows Phone7アプリケーション」 Microsoft MVP for Expression Blend 後藤雄介さん
WP7の概要、モバイル端末のUIを考える上で重要な点などをわかりやすく解説。
- WP7のUIの考え方は、狭い画面に収めるのではなく、広い画面を覗き見る。
- 人間の指は思った以上に大きい。ボタンなどのタッチ領域は大きめに。
- 移動や遷移を楽しく、わくわくするような変化に。
- 1画面に詰め込もうとせず、ステップを踏ませる。
- 質疑応答で使っているフォント名を聞かれるほど、セッションで使ったパワーポイントのフォントが好評
「UIデザインパターンをSilverlightでやってみたpart1」Microsoft MVP for Client App Dev 猪股健太郎さん
ソシオメディアさんの「UIデザインパターン」の中からピックアップして、Silverlightで実装する方法を発表
- ソシオメディア | UIデザインパターン
- UIデザインを考える上で先人の知恵を活用したい
- 使いやすいUIを作る上で、良く使われているUIパターンを活用することは重要。
- しかし、UIパターンを使うべきではないかを良く検討すること
- パターンの乱用良くない。
- Silverlight標準SDK,CodePlexのSilverlight Tool kit・Menu and Context Menuなど既存のコンポーネントをなるべく活用すること
「非同期なんて、もう何も怖くない」Microsoft MVP for C# 岩永信之さん(++C++; 管理人)
C#の非同期処理の記述法の進化の歴史とC#5.0で実現される非同期機能を用いたパターンを紹介。
- 0.5秒固まったら「使いにくい」。3秒固まったら「バグだ」。10秒固まったら「コンピュータが壊れた」。
- 名言
- UIスレッドで重い処理、ファイルアクセス、サーバへの通史など時間がかかる処理をしてはいけない。
- 上記の処理を同期処理で書きたがるのは、非同期は同期処理に比べてコードが複雑になるから。
- C#における非同期処理はAPM → EAPと進化した。次はTAP。
- APMはひたすら書くのが面倒。
- EAPはVisual Studioの支援を受けられるため、書くのが楽に。
- しかし、処理の順番がばらばらになってしまう。
- C#5.0では「await」キーワードが導入される。
- 言語で使いやすさをサポートされてきたとはいえ、非同期はライブラリで隠蔽しておいたほうがよい。
- ライブラリのパターンは2種類あれば大体足りる。
- 非同期コマンド対とキャッシュの2パターン。
「WCF + Silverlightによる双方向通信」Microsoft MVP for Client App Dev .NETラボ 高尾哲朗さん
ThinkITで連載している内容をデモを交えて紹介
- Webの限界を超えるリアルタイムWeb 記事一覧 | Think IT(シンクイット)
- コメットとは違って、WCFのPolling Duplexはセッションを張り続けない点が優れている。
- エンドポイントをサーバもクライアントも持っているためである。
「LightSwitch Beta2」Neriさん
日本語版が出たばかりのLightSwitch Beta2の概要を紹介
「Silverlightの事例紹介」荻原さん
Silverlight+Azureのアプリ開発時のノウハウを紹介。
- http://www.microsoft.com/japan/showcase/adss.mspx
- 体育の先生にジャージを販売するときの支援アプリ
- ジャージの販売の90%が4月に集中したため、サーバにAzureを採用。
- Blobに画像を入れてみたらレスポンスが悪かった → 1000個くらいの画像を、XAPに入れちゃえ。
- クライアントから頂いた要件がもやっとしたものだったので大変だった。
- ブラシなどに名前を付けて共有すると楽。
- SL3はメモリリークしやすかった。
- 「萩」原ではなく「荻」原
「JavaプログラマがSilverlightを使ってみた」t_tanakaさん
サーバサイドにJavaをクライアントにSilverlightを使ったときアプリを作った時のノウハウを紹介。
次回の囲む会
今回初めてSilvelightを囲む会に参加させていただいたのですが、あっという間に時間がすぎてしまうくらい楽しかったです。次回は7月にあるとかないとかいう話しが出ていますが、次回もまた参加したいなぁ、と思いました。