かずきのBlog@hatena

日本マイクロソフトに勤めています。XAML + C#の組み合わせをメインに、たまにASP.NETやJavaなどの.NET系以外のことも書いています。掲載内容は個人の見解であり、所属する企業を代表するものではありません。

Infragistics Developer Days 7に行ってきた

セミナー参加してきたので、セミナーのメモ。
箇条書き部分がプレゼン資料の内容や、スピーカーの方が話した内容を要約したものです。
箇条書きではないところは、個人的な感想です。

序盤頑張ってメモってたけど途中で力尽きてしまいました。
標準の.NET Framework 4のDataGridは、あまりいけていないので、NetAdvantageみたいなサードパーティ製品を使うのが必須かなぁと思いました。

Silverlight4最新情報のご紹介

マイクロソフトの大西さんのセッションです。

Agenda
  • Silverlightの進化
  • MIX10の発表内容と関連セッション
  • Silverlight4の新機能
  • 質疑応答
Silverlightの進化
  • 初代はJavaScript
  • 日本語費対応
  • 入力コントロールはない
  • 動画再生が主
  • HTMLと連携して使われてた
  • Silverlight2
    • .NETのサブセット
  • Silverlight3
  • Silverlight1からの振り返り
    • Silverlight1
    • Silverlight2
      • DeepZoom
    • Silverlight3
      • OutOfBrowser

Silverlight1の頃に開発してた人たちって、正直凄いと思った。
そして、リリースが凄いペースだと思った

MIX10の概要
  • 普及率60%
  • SL4 RC公開
  • SL4 Tools for VS2010RC
  • Expression Blend 4 Beta
  • Windows Phone 7のSilverlight公開
  • 日本のSLの普及率は72.61%

明日正式なSilverlight4が出るんだよなぁ。楽しみだ。

MIX10のセッション

お勧めのセッションをピックアップしてた。

Silverlight4のリリース
  • 明日16日リリース
  • 開発ツールはRC2

開発ツールは正式版じゃないんだ・・・。ちょっとおあずけ状態

Silverlight4新機能テーマ
  • Ready for Business 業務で使えうr!
  • メディア
  • 豊かな体験
  • 業務アプリケーション
    • 見た目にわかりにくい拡張
    • 当たり前のことが当たり前に
  • ブラウザー外実行
    • ログインユーザの権限で動化すことができる
新機能:メディア
  • より高品質なビデオとオーディオのサポート
  • WebCamのサポート
  • マイクのサポート
  • マルチキャストの動画配信
    • 大域の節約
  • DeepZoomのハードウェアアクセラレーション
  • セカンダリディスプレイに対するフルスクリーン
メディア系のデモ
  • マイクやカメラへのアクセス時には対話が伴う
  • カメラの映像に対してピクセルシェーダーとかかけれる
  • Silverlight AR Toolkit
  • 紙に画像を重ねてた(リアルタイムで)
新機能:豊かな体験

ここらへん、本当に普通にできてほしかったことがやっとできるって雰囲気

新機能:業務アプリケーション
  • 印刷
    • Bitmapベースの印刷
    • Silverlightの画面をBitmap化して印字
  • BIDIサポート(右から左に流れる言語)
  • タイ語などのサポート
  • RichTextBoxコントロール
  • IMEの入力モードのサポート、変換中のイベント機能
  • etc...
デモ:業務アプリケーション
  • RichTextBoxのデモ
  • RichTextBoxで右クリックするとコンテキストメニューが出る
  • クリップボードのサポートがあるのでコピペできる(対話が伴う)
  • TichTextBoxにSilverlightのコントロールの追加が出来る
  • RichTextBoxをそのまま印字
  • RichTextの内容はXAMLとして取得できる
通信機能
  • UDPサポート
  • 認証のサポート
    • HttpWebRequest
データ
  • IDataErrorInfo
  • etc...
WCF RIA Services
  • N層アプリを簡単に作れる
WCF RIA Servicesのデモ
  • Silverlight Business Applicationのテンプレートがある
  • Entity FrameworkとWCF RIA Servicesでデータ読み取りアプリを作る
    • Metadataの生成は、やっときましょう 重要。
    • ODataも対応
    • PagingもRADで(1ページに何行の指定だけプロパティウィンドウで)
    • コーディングせずにデータ表示+ページングが出来る

Silverlight Business Applicationって色々余計なものが追加されてて個人的には好きじゃない。
勉強用にはいいかもしれない。

ブラウザ外実行(Sandboxモード)
  • Windowing API
    • サイズの変更・取得・etc...
  • トースト
  • ブラウザコントロール
    • ブラウザ外実行のみサポート
    • Silverlight内部でFlashを
ブラウザ外実行(Trustedモード)
  • COM Automationのサポート
  • ローカルファイルへのアクセス(ユーザプロファイル内)
  • ポリシー不要のクロスドメインアクセス
  • OpenFileDialogからのフルパス取得
  • フルスクリーンモードでほとんどのキーボードサポート
  • セキュリティ制限なしのSocket通信
  • etc...
COM Automationが使えるという意味
  • Officeと連携
  • WMI
  • ADO
  • センサー&ロケーションAPI
  • etc...
Expression Blend4の主要な新機能
  • VS2010の相互運用
  • MVVMプロジェクトテンプレート
  • ビヘイビアー
  • etc...
まとめ
  • 業務で使えます!
  • メディアはもちろん
  • MSは基本的なツール

時間切れでセッションが終わってしまった・・・。
先日うけたMIX10のレポートセミナーと同じ内容だったので、おさらいてきな感じでした。
最後のサードパーティ製のコンポーネント使うといいよという話があったのが、Infragisticsさんのセミナーっぽいなと思った。

VS2010リッチクライアント開発ことはじめ

あげん打
  • 開発環境最新ニュース!
  • WPFとWindows Form
  • インフラ時スティック素がお手伝いできること
  • まとめ
開発環境最新ニュース
  • VS210リリース!
    • 4/13(日本時間)にリリース
      • VS2010 Ready Day開催された
VS2010進機能の一部
  • スタートページカスタマイズ
    • WPFベースなのでカスタマイズできる
  • マルチターゲット
  • オンラインテンプレート
  • 柔軟なフォントサイズ
  • インテリセンス強化
  • XAMLデザインサポート

痛IDEみたいなのが出来るようになるとは思ってなかった。
XAMLのデザイナは良くできてるので、そろそろWindows Formから乗り換えてもいいのかもしれないと考え中

新機能のデモ
  • 痛IDEのでも
  • マルチターゲット
  • .NET 2.0を選んでWindows Formを選ぶと今までどおりの開発が出来る
  • コードのフォントサイズがぬるぬる変えることができる
  • 今までは前方一致だけだったけど、後方一致とかもサポートしてる
中間まとめ
  • 新・統合開発環境
    • WPFベースのIDE
  • 多くの新機能
    • かゆいところに手が届く
    • 開発生産性の向上に貢献
プラットフォーム別に見る
Windows Form編
  • .NET 2.0サポートなのでそのままサポート
    • 新規開発、以前のVSからのアップグレード
  • 上位バージョンの機能を使用している場合もある
    • ex. Excel2007形式対応 UltraGridExcelExporter(.NET 3.0の機能を使ってる)
ただし
  • 2011/04/12
  • セキュリティ更新に限定
  • デザイン変更や新機能は追加されない
WPF
  • 大規模開発に展開できる初のPWF Ready IDE!!
  • 進化したXAMLデザインサポート
  • 以前はデザイナがしょぼしょぼ・・・
  • VS2010からちゃんとサポート
  • データウィンドウによるバインディングサポートの拡充

拡張マークアップ構文のインテリセンスサポート

UXとは?
  • 価値がある
    • 役立つ
    • 使いやすい
    • 求められる
    • 人に優しい
    • 信頼できる
    • 探しやすい
WPFとUX
  • フレームワークにUXの構成要素を実現する機能が含まれてる
    • 柔軟なレイアウト
    • XAMLによる表示要素のカスタマイズ
    • 状態に合わせたUIの変化
    • etc...
"今"移行する理由とは?

これは知りたい。

  • エンドユーザーからのUXに対する要求
    • Windows 7があたりまえ
      • だからWindows7で出来るものは、出来るよね
  • リッチクライアントの利点
  • UX向上に最適なプラットフォーム
  • 競合他社との差異化
  • パフォーマンス向上
  • 将来にわたる保守性
    • 1年後には新機能が追加されないものを使うのか、これからのものを使うのか
お客様事例

WPF適用事例ご紹介

事例の概要
  • 組み込み聞きの製造販売されてるお客様
    • VB6をVB.NETへの移行の検証
  • 要望
    • レスポンス、ユーザインターフェースは同じで(重要)
VB6からVB.NET
  • Windows Form
    • 見た目にてる
    • 移行ツールがある
    • ノウハウがある
  • 検討の結果
    • コントロールの機能差などによる修正が必要
    • 機能の網羅・ユーザインタフェースへの影響なし!
    • 大量コンポーネントがあるときに表示が遅い!!
      • Windows Formのほうが大分遅い
      • 約50倍 50ms -> 2500ms
      • プラットフォームの違いによる問題で解決不可能!
  • 移行の断念
  • .NETを採用しつつ性能問題を解決する方法はなにかないのか?
  • WPFの適用を検討
  • WPFとVB6の性能差
    • ほとんど同じ
  • ただし・・・
    • MDIがない
      • NetAdvantageのxamDockManagerを検討
  • WPFへの移行を決断
    • 短期間でサンプル作成が出来た
    • 日本法人によるサポートの安心感
まとめ
  • VBで揮発されたアプリケーションの限界
    • 開発差ポーtおの終了
    • 新しい機能を追加するとき、VBの標準機能に限界を感じる
  • 長期利用を考えるシステムはWPFをおすすめしたい
    • Windows Formsの標準コントロールは、既存のアプリケーションの移行に有効
    • WPFの標準コントロールは、アプリケーションに性能・表現力を付加できる
    • 足りない部分はNetAdvantageで
  • WPFの強みを生かした、新しい価値を考える
    • ユーザーエクスペリエンス
      • 最適なコストで導入する手段はNetAdvantage

最後が宣伝っぽかった。
確かに今後を見据えると、WPFのほうがいいなぁと感じた。Silverlightも要件によっては考えていいのかもしれない。

NetAdvantage WPF とは

WPFコンポーネントスイート

  • 業務アプリの開発を念頭に開発
    • sy期リリースよりDataGridを提供
  • 継続的に機能拡張・新コントロール追加

確かにDataGridはサードパーティ製品を使っておくほうが素敵だと思う。WPF標準のDataGridはReadOnlyで使うくらいが丁度いいと思ってる。

多彩なコントロール

xamDockManager

  • xamChart
  • xamDataGrid
  • xamDataCards(new!!)
  • xamTilesControl(new!!)
  • などなど25種類のコンポーネントを提供
仮想化による高パフォーマンスの実現
  • 実際に表示するのに必要な要素だけ作成
  • とても早い・メモリ使用量が少ない
Demo NetAdvantage WPFを用いたダッシュボードアプリケーション

NetAdvantageを色々使ったデモでした。
やっぱ、かっこいい。

Infragisticsがお手伝いできること

色々サポートもしてることはわかりました。

まとめ
  • VS2010で開発生産性向上
  • UIという観点からのXAMLプラットフォーム
    • 将来性
  • Infragisticsのサポートもあります

UXのツクリカタ -WPFにどのように取り組むか-

WPFの適用先は?
  • ビジネスアプリケーションへ!
ビジネスアプリケーションの特性は?
  • 働き者
  • 長いライフサイクル
  • 共同作業による開発
シンプルな最初の質問
  • なぜWindos Formを使わずにWPFを使うのですか?
    • WPFを使う積極的な理由はなに?
    • 理由が無い限りはWPFを使わなければならないと考えないほうがいい
    • でも、WPFは魅力的
WPFの魅力

とはいいつつまだBlend4は正式版は先になりそう。
データを表現するツールとしてはWPFは再考だと思ってる。

  • XPの古めのマシンの場合は・・・
    • WPFだときついかも(性能的に)
    • Silverlightのほうがいいかも
UXとMSテクノロジーを取り巻く環境:ハイプ曲線
  • 今は安定期の入り口
    • これから使ってmお大丈夫かな・・・
      • (MSはバージョン3から使えうr的な)
      • WPF(3.0 → 3.5 → 4.0)
  • ROI:投資対効果
増やすことよりも減らすことを考える
  • NOW
    • 増やす
      • リッチ
      • 魅力的なビジュアルデザイン
      • かっこいい etc...
    • 減らす
      • 無駄な動き
      • etc...
忠誠心を勝ち取り、維持せよ
  • GREAT!! → It's OK → NO! → ×
  • GREAT! → GREAT! → GREAT! → ○

このスライドメモとるの難しいので放棄気味・・・。

高度なUX維持のために情報システム部門が必要なもの
  • ビルディングブロックセット
    • 組み合わせれる部品
  • インストラクションガイド
  • 実行可能なサンプル
  • レゴを例にして
    • 部品化されていれば子供でも高度なものが作れる
ビジネスアプリケーションの要素:M-V-VMの場合
  • View:見た目
  • ViewModel:ViewのためのModel
  • Model:アプリケーションが扱うデータと手続き

おなじみMVVMパターン。結構綺麗に作るのは難しいと思うけど、やってる人たちはどうやってるんだろうか気になるところ。

ビジネスアプリケーションの要素:View
  • アセット
  • スタイル
  • インタラクション
    • 改札の扉?はいいインタラクション
  • 冷え費ビア
  • レイアウト
    • お弁当の仕切りがあるから同じお弁当が作れる
    • アプリも同じように領域を定義してるといい
  • UIコントロール
    • 見た目と機能の分離が出来ているのが素敵

前に書いたクリックできるラベルというのもUIで見た目と機能が分離できるという素敵な例だと自分でも思う。
WPFコンポーネントは、見た目で選ぶんじゃなくて機能で選んで、見た目は差し替えればいいと思う。

まとめ
  • WPFのいいところを認識して、最大限に活用することを意識しよう
  • アプリケーションのライフサイクルに注目して、維持可能なフローを提供しよう
  • WPFを用いた素晴らしいアプリケーションで、ユーザーの忠誠心を獲得し、維持しよう

製品とサービスのご紹介

技術的な内容ではないので、メモ力尽きました・・・。
なのでメモが薄いです。

  • Quince
    • UXパターン集
      • UXに名前をつけてパターン集として整理
    • 無償のコミュニティサイト

SilverlightTwitterを作ってみよう!

  • Silverlightの波ニノレ!
    • Silverlightかなり波がきてる
    • DevDays6の今後のSilverlight開発の予定は約50%
    • DevDays7の登録時アンケートでは58%
  • Silverlightの可能性
    • Silverlight4登場
    • アウトオブブラウザーの強化
      • 幅広い業務アプリで開発が!?
  • インフラジスティックスのSilverlight戦略
  • 業務用
  • データ視覚化
  • VS2010とSL4対応
    • VS2010
      • NetAdvantage 2009 Vol2以降でサポート
  • SL4
    • サービスリリースにてSL4版のご提供(2010 vol1リリースと同時)
SL4 + NetAdvantage 2010.1
  • ペルソナ
    • ヘビーユーザー
    • ライトユーザー

多分会社の身内をペルソナにしてるっぽい

データ表示コントロール
  • xamWebGrid
    • パフォーマンスが標準よりいいDataGrid
  • xamWebTree
  • xamWebTileView
    • 情報の視認性が高い

Twitterクライアントのデモのときにつぶやきが一番上に出た!!
DataGridコントロールは、さくさく動いてた印象。
メニュー関連のコントロールもいっぱいある。
MDIライクな画面の作成コントロールもある。
圧縮や、コントロールの状態を永続化する機能もある
Excelも出せる
ドラッグアンドドロップもサポートしてる

大量のアイコン(3000個)を表示して操作するときはFlexよりSilverlightのほうが性能がよかった。
コンポーネントはInfragisticsのNetAdvantageを使うと使いやすい