登場記念!
  Windows 7登場記念!
           登場記念
           時代の
 「Windows 7時代の
           時代
アプリエーションUI技術
アプリエーション 技術は技術は
どう選択していくか?」
  選択していくか
どう選択していくか?」
    @ Bar VSUG
OS 技術の進化はUIの進化
過去を振り返ってみましょう
MS-DOS
CUI = キャラクターユーザー
     インターフェース
こんな画面
アプリケーション例1
アプリケーション例2
当時の状況
• 黒い画面にシンプルな描画
• すべてキーボードで操作できるインター
  フェース
• アプリケーション間のデータ交換はテキス
  トファイルで
• 開発現場: C や BASIC, 独自ライブラリ
開発環境
UI的には。。。
• 開発者が思い描く最良のUIを独自に開発
  メニュー表示: [ESC] キー? [/] キー ?
16 Bit Windows
GUI の導入 !!
こんな画面
アプリケーション例
アプリケーション例
当時の状況
• (狭いながらも)ウィンドウ表示が可能
• 擬似マルチタスク
• Windowsアプリケーション作成をお作法に則った
  UI開発
 – GDI ・ コモンコントロールなど
 – WinG
• キーボードとマウスを利用(ただし、右クリックは
  未定義)
• アプリケーション間のデータ交換はクリップボー
  ドを経由したり、DDEやOLEで
• 開発現場: C や BASIC、 Visual Basic !!
開発環境
32 Bit Windows
Windows 95 / 98 / 2000 /
       XP !!
こんな画面
アプリケーション例
アプリケーション例
当時(Windows 95)の状況
• インターネット人気と同期
• 現在のWindowsのUIの原型
 – GDI32 , DirectX3
• 様々なすぐれた機能
 – Plug&Play、 ネットワーク対応、ロングファ
   イルネーム、ドライバ32ビット化、
   FAT32(OSR2)
• 開発現場
 – Visual Studio 97 / Visual Studio 6.0
当時(Windows XP)の状況
• NTカーネルを搭載した初のコンシューマ
  Windows
• 完全マルチタスク
• 安定性向上
• GDI+, DirectX7
• 開発現場:Visual Studio .NET 2002
開発環境
Virtualization
Windows 7
こんな画面



 省略
アプリケーション例




   省略
アプリケーション例



   省略
Windows Vista / 7
• 32ビットから64ビット環境へ
• UIの進化
 – Aero, DirectX9 ,
   Windows Presentation Foundation
• 開発現場
 – Visual Studio 2008 → Visual Studio 2010
 – .NET Frameworkが標準開発プラットフォーム
   に
Windows Presentation Foundation
• 様々な技術を一本化
 – ドキュメント・ベース
 – ピクセル・ベース
 – ベクタ・ベース
• GPUのパフォーマンスを活用
• オブジェクトに対しての共通のハンドリ
  ング方法
今の UI 選択
• Web か? クライアントアプリケーション
  か?



• HTMLか? RIA か?



• WinFormか?Officeクライアントか?WPF
  か?
(主に)インターネット向け
       クライアント向け技術

Web ブラウザー (X)HTML + CSS +
/携帯電話
Web ブラウザー (X)HTML + CSS + JavaScript
             + httpXMLRequest(AJAX)
Media Center MCML

RIA          Silverlight
(主に)イントラネット向け
     クライアント向け技術
  (インターネット技術に加えて)
Windows          Windows Form
                 MFC
                 Office system
                 WPF
Game             DirectX11

Windows Mobile   WinForm (.NET Compact
                 Framework)
RIA              Silverlight
PC向けプレゼンテーション テクノロジの選択


          ASP.NET   ASP.NET
           (HTML)    AJAX           Silverlight


                                                                Windows
                              Windows      Microsoft           Presentation
                               Forms        Office             Foundation


                                                  MFC


                    DHTML                                                     Direct3D11
開発生産性




                                                       Win32




        ユーザーインターフェイスの
        ユーザーインターフェイスの
            リッチさ
             リッチさ
UI 技術の選択方法
状況に応じた使いやすい技術
状況
      を
    選択する
  技術を先に選択しない!!
状況を考える(例)

  牛肉の場合
どちらがお好み?




           41
考慮すべきこと(例)

• 利用端末のOS・種類   • 定型業務・非定型業
• 利用端末のハード       務
  ウェア          • キータイプの量
• 利用頻度         • タイプする文字の種
• 設置場所           類
• ネットワーク環境     • 利用者のPC成熟度
• 操作方法         • 非期型・非同期型
               • …などなど
最適な技術を選択してくださ
      い
 開発は、 Visual Studio で。
Ⓒ 2008 Microsoft Corporation. All rights reserved.
※                     Microsoft, Visual Studio, Visual Studio ロゴ, Access, BizTalk, Excel, Groove, InfoPath, OneNote, Outlook, PowerPoint, SharePoint, SQL Server, Visio, Visual Basic, Visual C++, Visual C#,
Visual SourceSafe, Visual Web Developer, Windows, Windows Live, Windows Server, Windows Vista は米国 Microsoft Corporation の米国およびその他の国における登録商標または商標です。
※                     その他、記載されている会社名および製品名は、各社の商標または登録商標です。
※                     本書は、情報提供を目的としており、製品内容および価格について、予告なく変更する場合があります。
追記
Opinion 1




WinForm vs WPF
Opinion 2




WPF vs Silverlight
Opinion 3




HTMLの使い方
Opinion 4




WinForm vs HTML + AJAX ?

Bar Vsug04 Masami Suzuki Windows7 UI