本連載の第29回でWindows 7を取り上げたが、開発者向けの技術情報が中心だった。たまたま(?)前回にSilverlightを取り上げたので、その流れで、技術情報だけでなく、ユーザーインタフェース、ユーザーエクスペリエンスといった分野の情報源もまとめておこう。
開発者向けの基本情報を改めてまとめてみる
まずは、第29回で取り上げた内容と一部重複するが、基本となる開発者向け情報について整理しておこう。言うまでもなく、起点となるのはWindowsデベロッパーセンターである。Windows Vista向けの情報は別ページにまとめてあり、ここではWindows 7に関する情報をまとめてある。
Windows 7開発者向け技術情報
http://msdn.microsoft.com/ja-jp/windows/
すでに開発経験がある開発者として真っ先に気になるのは、第29回でも取り上げた互換性の問題、さらに新機能の内容と開発の方法といったところだろうか。
Windows7 新機能
http://msdn.microsoft.com/ja-jp/windows/gg314551Windows 7 開発者ガイド
http://msdn.microsoft.com/ja-jp/library/dd371748(VS.85).aspxWindows 7 互換性情報
http://msdn.microsoft.com/ja-jp/windows/dd819177
しかし、これから開発に取り組もうという新人さんであれば、「そもそもWindows用のアプリケーションってどうやって開発するの?」という疑問から解決しなければならない。現在は、Windows用アプリケーションを開発する際に利用可能なテクノロジーの幅が広がっていて、.NET Frameworkを前提にするか、ネイティブ(Win32 API)を前提にするか、という話も関わってくる。
となると、開発作業の概要だけでなく、用いることができるテクノロジーの概要、それぞれのテクノロジーの長所や利点、選択のための判断基準といった情報も必要になる。そこで、MSDNオンラインでは、「Windows 7の開発を学習する」以下に、「WPF(Windows Presentation Foundation)/Silverlight」「Windowsフォーム」「Visual C++によるネイティブ」の3種類に分けて情報を提供している。
Windows 7 の開発を学習する
http://msdn.microsoft.com/ja-jp/windows/aa904962.aspxWindows開発概要(ビデオ)
http://msdn.microsoft.com/ja-jp/events/dd297549(VS.85).aspx
また、MSDNオンラインの外になるが、参考になりそうなドキュメントをダウンロードする仕組みもある。
PROJECT UX - RIA開発力を高める応援企画
http://www.microsoft.com/japan/powerpro/skillcharge/ux/default.mspx
ここでは、以下のドキュメントをXPSあるいはPDFのファイルでダウンロードできる。
- Windowsユーザー エクスペリエンス ガイドライン
- Windows 7 開発スタートガイド
- Silverlight開発スタートガイド
- Internet Explorer 8 開発スタートガイド
- WPF開発スタートガイド
Internet Explorerは9.0にバージョンアップしてしまった後だが、Internet Explorer 8.0と共通する機能の情報はそのまま役立つだろう。
一方、すでにソフトウェア資産あるいは開発経験を有している開発者にとっては、Win32→Windowsフォーム→WPFといった具合にテクノロジーが変わることで、移行・互換性・相互運用性という問題が関わってくるので、そちらの技術情報が重要だろう。
ここでは、WPFとWindowsフォームの相互運用性、WPFとWin32の相互運用性、WPFとDirect3D 9の相互運用性といった情報をまとめてある。
いずれにしても、どのテクノロジーを使用するかが、ユーザーインタフェースの設計やユーザーエクスペリエンスにも関わってくるので、技術の選択は重要な問題である。
なお、門前の小僧が何とやらではないが、慣れないうちは他の開発者が開発した既存のソフトウェアを参考にすることも重要。あいにくと英語のものが多いが、「Windows デベロッパー アプリケーション ギャラリー」をのぞいてみると「こんなモノも作れるのか!」という発見があるかもしれない。
Windows デベロッパー アプリケーション ギャラリー
http://msdn.microsoft.com/ja-jp/windows/ff683603
ユーザーインタフェースとユーザーエクスペリエンス
サービスとして動作するものは別として、大抵のソフトウェアはユーザーインタフェースを備えているので、その良し悪しは評価に大きく影響する。もちろん、ソフトウェアが果たすべき本来の機能が正しく、できるだけ優れたパフォーマンスで、バグを出さずに動作することは重要だが、ユーザーが操作する際にできるだけ負担を掛けないようにすることもまた重要である。
そして、同じWindowsというプラットフォームの上で動作する以上は、ソフトウェアごとにユーザーインタフェースがまるっきり異なるのでは具合が良くない。共通化できるところは共通化するほうが、ユーザーにとって親切である。そこでマイクロソフトでは、「ユーザーエクスペリエンスガイドライン」なるものを用意している。サブカテゴリとしては、遵守すべき指針をまとめた「ガイドライン」、実物に似せた画面から必要な情報を探す「ビジュアル索引」、アルファベット順にリンクを並べた「用語集」がある。
Windowsユーザー エクスペリエンス ガイドライン
http://msdn.microsoft.com/ja-jp/library/aa511258.aspxガイドライン
http://msdn.microsoft.com/ja-jp/library/aa511440.aspxビジュアル索引
http://msdn.microsoft.com/ja-jp/library/aa511258.aspx
さらに、ユーザーエクスペリエンスという見地からすると、Windows 7で新たに加わったタッチ機能は無視できない。スマートフォンが普及したことで、正に「指先で情報を操作する」場面が増えている折から、それがWindowsアプリケーションにも持ち込まれる流れは必然と言えそうだからだ。といったところで、(売り物の新機能なのだから当然といえば当然だが)抜かりなくタッチ機能に関する技術情報も提供されている。
タッチ対応アプリケーション技術情報
http://msdn.microsoft.com/ja-jp/windows/hh147921