デスクトップアプリ開発者が
押さえておくべき
Windows 8 時代の変革

C-4                 八巻 雄哉
                    グレープシティ株式会社
                    デベロッパーツールエバンジェリスト


      Developers Summit 2012
BUILD2011 基調講演より
     Windows 8

  • Windows 7よりさらによくなる
    Windows 8では、Windows 7で動作していたものがすべて動く

  • Windowsをチップセットからエクスペリエンスまで再考する
    新しく幅広い「可能性、シナリオ、フォームファクター」




www.buildwindows.com


                                                       2
                       Developers Summit 2012 Kansai
VB6 on Windows 8
Windows Vista、Windows Server 2008、Windows 7、および
Windows 8 に対する Visual Basic 6.0 のサポートに関する声明
http://msdn.microsoft.com/ja-jp/vstudio/ms788708.aspx
 VB6 ランタイムは Windows 8 のサポート有効期間中はOSに
  同梱される形で出荷され、サポートされます。 Visual Basic
  6.0 ランタイム ファイルは今後も 32 ビットのみであり、す
  べてのコンポーネントは 32 ビット アプリケーション プロセ
  スでホストされている必要があります。 開発者の方は、
  Windows 7 の場合と同様のサポートが Windows 8 について
  も受けられると考えていただいてかまいません。




                                                        3
                 Developers Summit 2012 Kansai
デスクトップで変わること
① スタートメニュー
 •   メニュー ⇒ スクリーン
② デスクトップテーマ
 •   Aero ⇒ ???(名称不明)




                                            4
            Developers Summit 2012 Kansai
スタート メニュー/スクリーン
  Windows 7                         Windows 8




                                                5
          Developers Summit 2012 Kansai
デスクトップテーマ
 Windows 7                         Windows 8




                                               6
         Developers Summit 2012 Kansai
IME入力方式保持単位の変更
 アプリケーション毎→ユーザー単位




                                       7
       Developers Summit 2012 Kansai
ソフトウェアは
変わらずとも
ハードウェアが
変わる

デスクトップアプリ開発者が押さえておくべきWindows 8 時代の変革
ハイブリッド型PC


Surface
      TM




                                           9
           Developers Summit 2012 Kansai
パソコン = ノートPC
  世界市場全体                  米国コンシューマ市場




 61%
                                   76%

                               Building Windows 8の記事より
                                                    10
       Developers Summit 2012 Kansai
どちらを購入しますか?
スレートとしてもノートとしても                   ノートとしてしか
     使えるPC                         使えないPC




ハードウェアメーカーはタッチ対応を迫られる
                                             11
          Developers Summit 2012 Kansai
ハードウェアの変革
① タッチ可能なデバイスの普及
② ディスプレイの高精細化




                                       12
       Developers Summit 2012 Kansai
タッチ



デスクトップアプリ開発者が押さえておくべきWindows 8 時代の変革
Building Windows 8の記事より
  数十年後 (おそらくはもっと早く)、
   私たちはこの過渡期を振り返り、
  「ねえ、PC の画面がタッチ操作に
  対応していなかったころを覚えてる?
     今考えると変だよね」
 などと言い合うことになるでしょう。



                                       14
       Developers Summit 2012 Kansai
Building Windows 8の記事より
 「マウスは良いアイデアだが、ビジネス ユーザーの
  役に立つかどうかは疑わしい」
  (George Vinall、PC Week、1984 年 4 月 24 日)
 「使うのはとても楽しかったが、ビジネスの視点から
  考えると生産性に疑問を持たざるを得ない」
  (George Vinall、PC Week、1984 年 4 月 24 日)
 「会社役員のような特定のターゲット層にとって、
  マウスはコンピューターを使いやすく馴染みやすい
  ものにしてくれるのだろうか。答えはノーだ」
  (Computerworld、1983 年 10 月 31 日)


                                               15
               Developers Summit 2012 Kansai
第三次ユーザインターフェース革命

  CUI(Character User Interface)

  GUI(Graphical User Interface)

   NUI(Natural User Interface)
         Touch User Interface
        Tangible User Interface
       Perceptual User Interface


                                         16
         Developers Summit 2012 Kansai
異なる操作方法の共存
 Webブラウザの「前のページに戻る」
  キーボード

                               +
  マウス




                                           17
           Developers Summit 2012 Kansai
デスクトップアプリの
タッチ対応


デスクトップアプリ開発者が押さえておくべきWindows 8 時代の変革
デスクトップにタッチは必要?
 デスクトップアプリが
      タッチに対応する必要あるの?
  本当は必要ないはず
  タッチ対応はWindowsストアアプリ
   (旧称:Metroスタイルアプリ)が理想
  でも不可抗力的に
      タッチされてしまうのでは?



                                        19
        Developers Summit 2012 Kansai
レガシーサポート
ジェスチャ     マップ先                         生成されるメッセージ
                                       WM_LBUTTONDOWN
タッチ       マウスの左クリック
                                       WM_LBUTTONUP
          スクロールホイール                    WM_VSCROLL
パン
          の使用                          WM_HSCROLL
                                       WM_RBUTTONDOWN
プレスアンドホールド マウスの右クリック
                                       WM_RBUTTONUP
          Ctrlキーを押しながら                 lParam で
          マウス ホイールを                    MK_CONTROLが
ズーム
          回転させて                        設定された
          スクロールする操作                    WM_MOUSEWHEEL


                                                       20
           Developers Summit 2012 Kansai
DEMO
レガシーサポート



デスクトップアプリ開発者が押さえておくべきWindows 8 時代の変革

                                       21   21
対応が必要となる操作
① マウスカーソルの位置に依存した操作
  例:マウスホバーでドロップダウン
② BUTTONDOWNとBUTTONUPを
           分けて処理する必要がある操作
  例:マウスボタン押しっぱなし操作
③ マウス用の寸法でタッチ不能
  例:スライダーのつまみをドラッグ




                                         22
         Developers Summit 2012 Kansai
小さすぎてタッチ不能の例




                                    23
    Developers Summit 2012 Kansai
DEMO
レイアウトを保ったまま
サイズを確保する例



デスクトップアプリ開発者が押さえておくべきWindows 8 時代の変革
Office 2013 Preview
                        1.18倍                 1.5倍
通常                      タッチモード




                                         25
         Developers Summit 2012 Kansai
Office 2013 Preview
                                               1.8倍
マウスクリック                  タッチ




                                          26
          Developers Summit 2012 Kansai
ご期待ください
グレープシティでは、
  Windowsフォーム
     WPF
        ASP.NET Webフォーム
の主力製品において、Windows 8における
     タッチ操作への対応を
予定しています

                                          27
          Developers Summit 2012 Kansai
高精細化



デスクトップアプリ開発者が押さえておくべきWindows 8 時代の変革
ディスプレイの高精細化
 3.5インチ、960×640(DoubleVGA)、326PPI
   iPhone 4S
 4.8インチ、1280×720、306PPI
   Samsung ATIV S(Windows Phone 8)
 9.7インチ、2,048×1,536、264PPI
   新しいiPad
 10.1インチ、1,920×1,200(WUXGA)、224PPI
   Asus Eee Pad Transformer Prime TF700T
   Acer ICONIA TAB A700
 10.6インチ、1,920×1,080(FHD)、208PPI
   Microsoft Surface for Windows 8 Pro
 15インチ、2,880×1,800、220PPI
   MacBook Pro(Retinaディスプレイモデル)

                                                   29
                   Developers Summit 2012 Kansai
Intel: Retina laptop, desktop displays coming in 2013




http://liliputing.com/2012/04/intel-retina-laptop-desktop-displays-coming-in-2013.html
                                                                                  30
                             Developers Summit 2012 Kansai
Intel-Prognose:PC’s Leading the Race to 4K




http://www.3dcenter.org/news/intel-prognose-4k-monitore-ab-2013-im-premium-segment-ab-2015-im-mainstream-segment

                                                                                                            31
                                     Developers Summit 2012 Kansai
約96PPI   23インチ、FHD(1,920×1,080)




                         768ピクセル




     1024ピクセル




                                          32
          Developers Summit 2012 Kansai
約128PPI   23インチ、WQHD(2,560×1,440)



                 768ピクセル



    1024ピクセル




                                          33
          Developers Summit 2012 Kansai
約192PPI       23インチ、QFHD(3,840×2,160)


              768ピクセル


   1024ピクセル




                                              34
              Developers Summit 2012 Kansai
Windows 7




15.6インチ 340×190mm 1920×1080 約143PPI
                                           35
           Developers Summit 2012 Kansai
Windows 8




15.6インチ 340×190mm 1920×1080 約143PPI
                                           36
           Developers Summit 2012 Kansai
XP形式のスケーリングか否か
XP形式のスケーリング:On          XP形式のスケーリング:Off




                                          37
         Developers Summit 2012 Kansai
XP形式のスケーリングを使用しない
 DPI仮想化によるスケーリング
  一度96DPI相当で画面表示領域外に描画し、
   それをDWMがシステムのDPIに合わせて
   ビットマップ的に拡大して表示
  スケーリングに全く対応していないアプリ
   でも、レイアウトはくずれない
  ビットマップ的な拡大のため、
           ぼやけた印象の表示となる


                                        38
        Developers Summit 2012 Kansai
カスタムサイズ変更オプション
125%以下                      126%以上




XP形式のスケーリング:Onが既定           XP形式のスケーリング:Offが既定


                                                 39
             Developers Summit 2012 Kansai
DPIスケーリングが
変わるとどうなるのか?
Windowsフォームの場合


デスクトップアプリ開発者が押さえておくべきWindows 8 時代の変革
AutoScaleModeプロパティ




FontかDpiであれば、
    各コントロールのスケール処理が実行される
                                        41
        Developers Summit 2012 Kansai
Windowsフォームのスケール処理
 設計時のフォントサイズ/DPIと
  実行時のフォントサイズ/DPIを比較し、
  その比率をもとにスケール処理が行われる
  異なるシステムフォントサイズ/DPI設定の
          環境でプロジェクトを共有できない
 スケール処理はフォームの初回読込時の一度きり
  動的に位置やサイズを設定する際には、
             比率を乗算してやる必要がある
 スケール処理は各コントロールの実装に依存


                                         42
         Developers Summit 2012 Kansai
ご期待ください
グレープシティでは、
  Windowsフォーム
     WPF
        ASP.NET Webフォーム
の主力製品において、Windows 8における
      高DPIへの対応を
予定しています

                                          43
          Developers Summit 2012 Kansai
まとめ
 デスクトップにおける
        Windows 8時代の変革
  タッチ可能なデバイスの普及
  ディスプレイの高精細化




                                        44
        Developers Summit 2012 Kansai
デスクトップアプリ開発者が押さえておくべきWindows 8 時代の変革

デスクトップアプリ開発者が押さえておくべきWindows 8 時代の変革