かずきのBlog@hatena

すきな言語は C# + XAML の組み合わせ。Azure Functions も好き。最近は Go 言語勉強中。日本マイクロソフトで働いていますが、ここに書いていることは個人的なメモなので会社の公式見解ではありません。

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を使うと使いやすい