Silverlightを囲む会 in東京 #2に参加してきた

昨日Silverlightを囲む会 in東京 #2に参加してきました。豪華なスピーカ陣がそろったいとても楽しく、かつためになる話しをいっぱい聞けました。

IIJさまの提供で今でもセッションの様子を見ることができます。高画質なSilverlightスムースストリーミングが下記のアドレスで公開されています。

以下、セッションのメモ

「Silverliht SmoothStreamingにIIJが取り組む理由」IIJ岡庭さん

  • Webで一般的なFlashを使った動画配信は独自プロトコルを使っている。
  • SmoothStreamingはHttpベースで配信できるのが良いところ。

「改めて勉強しよう、Silverlightのメディア機能の最新情報」マイクロソフト 大西彰さん(おにあく3)

  • Silverlight1〜4までの歴史
  • クライアントPGもサーバでの処理の概要は知っておくべき
  • Silverlight標準のMediaElement クラスの紹介
    • MediaElementクラスは最盛期では80人くらいが開発にかかわったらしい
  • CodePlexのSMFPlayerの紹介
  • 端末のスクリーンの様子を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で実装する方法を発表

「非同期なんて、もう何も怖くない」Microsoft MVP for C# 岩永信之さん(++C++; 管理人)

C#の非同期処理の記述法の進化の歴史とC#5.0で実現される非同期機能を用いたパターンを紹介。

  • 0.5秒固まったら「使いにくい」。3秒固まったら「バグだ」。10秒固まったら「コンピュータが壊れた」。
    • 名言
  • UIスレッドで重い処理、ファイルアクセス、サーバへの通史など時間がかかる処理をしてはいけない。
  • 上記の処理を同期処理で書きたがるのは、非同期は同期処理に比べてコードが複雑になるから。
  • C#における非同期処理はAPMEAPと進化した。次はTAP。
  • APMはひたすら書くのが面倒。
  • EAPVisual Studioの支援を受けられるため、書くのが楽に。
  • しかし、処理の順番がばらばらになってしまう。
  • C#5.0では「await」キーワードが導入される。
  • 言語で使いやすさをサポートされてきたとはいえ、非同期はライブラリで隠蔽しておいたほうがよい。
  • ライブラリのパターンは2種類あれば大体足りる。
  • 非同期コマンド対とキャッシュの2パターン。

WCF + Silverlightによる双方向通信」Microsoft MVP for Client App Dev .NETラボ 高尾哲朗さん

ThinkITで連載している内容をデモを交えて紹介

「LightSwitch Beta2」Neriさん

日本語版が出たばかりのLightSwitch Beta2の概要を紹介

  • データとコントロールとをバインドを設定する画面でUIビューアがないのが痛い
  • LightSwitchで作成したアプリをデバッグ実行中に画面の編集ができる。
  • カスタムコントロールもLisghtSwitchアプリに組み込める。

Silverlightの事例紹介」荻原さん

Silverlight+Azureのアプリ開発時のノウハウを紹介。

  • http://www.microsoft.com/japan/showcase/adss.mspx
  • 体育の先生にジャージを販売するときの支援アプリ
  • ジャージの販売の90%が4月に集中したため、サーバにAzureを採用。
  • Blobに画像を入れてみたらレスポンスが悪かった → 1000個くらいの画像を、XAPに入れちゃえ。
  • クライアントから頂いた要件がもやっとしたものだったので大変だった。
  • ブラシなどに名前を付けて共有すると楽。
  • SL3はメモリリークしやすかった。
  • 「萩」原ではなく「荻」原

JavaプログラマSilverlightを使ってみた」t_tanakaさん

サーバサイドにJavaをクライアントにSilverlightを使ったときアプリを作った時のノウハウを紹介。

  • MVVMとEclipseプラグインは構造が似ている。
  • JSONを公開するRestfulサービスをJavaで作成
  • EclipseとVisualStudioを同時に使うことになった。
  • JavaSilverlightでURLエンコード時の16進数表記が異なることにはまる。
  • DateTimeの扱いも異なるのでSilverlihgtで変換ロジックを作成した。

次回の囲む会

今回初めてSilvelightを囲む会に参加させていただいたのですが、あっという間に時間がすぎてしまうくらい楽しかったです。次回は7月にあるとかないとかいう話しが出ていますが、次回もまた参加したいなぁ、と思いました。