デスクトップアプリケーション開発者の観点から、WindowsXP用の開発とWindowsVista用の開発に違いはありますか?
4 に答える
ユーザーインターフェース
Windows Vista ユーザー エクスペリエンス ガイドラインを見ると、注意すべき多くの UI 要素が変更されていることがわかります。注意すべき主な事項:
- 大きいアイコン
- 新しいフォント(一部のカスタム UI の一貫性に影響します)
- 新しいダイアログ ボックス機能 (タスク ダイアログ)
- 変更された一般的なダイアログ(ファイルを開く、名前を付けて保存など)
- ダイアログのテキストスタイルとトーン、およびルック アンド フィール
- ニューエアロウィザード
- 再設計されたツールバー
- 通知UIの改善
- 検索コントロールを含める新しい推奨方法
- ガラス
64ビット
Vista には 64 ビット版があり、XP にもありましたが、ユーザーは XP 64 よりも Vista 64 を使用する可能性が高くなります。
- レジストリの仮想化
- レジストリのリダイレクト( Wow6432Node )
- レジストリの反映
- カーネル モジュールのデジタル署名
- MSI インストーラーには、対処する新しいプロパティがあります
UAC
ユーザー アカウント制御は、OS とやり取りするときにアプリケーションが持つ既定のアクセス許可に大きく影響します。
新しい API
アプリケーション構築の新しい方法または新しい機能を可能にすることを目的とした新しい API があります。
- 暗号化 API: 次世代(CNG)
- 拡張可能なアプリケーション マークアップ言語(XAML)
- Windows コミュニケーション ファンデーション(WCF)
- Windows ワークフロー ファンデーション(WF)
- そして、さらに多くの小さなもの
インストーラー
インストールでは、トランザクションの完了後にインストールする共通ランタイムのみを使用できるため、カスタム アクション dll が VS 2005 CRT (非 SP1) より上の Visual C++ ランタイムを必要とする場合、カスタム アクション は失敗します。
ユーザーがディスクの特定の重要な領域 (つまり、プログラム ファイル、Windows ディレクトリなど) にアクセスできると想定しないでください。代わりに、デフォルトのユーザー アカウントは、アプリケーション データの小さなセクションにのみ書き込むことができます。また、レジストリのグローバル領域に書き込むことはできません。現在のユーザー セクションのみです。
もちろん、権限を昇格させることはできますが、それ自体がタスクです。
一般に、Vista のプログラミングは XP と同じですが、注意が必要なのは新しいアカウント制限だけです。
アプリケーションを「UAC 対応」にする方法については、このページをご覧ください。
http://www.codeproject.com/KB/vista-security/MakingAppsUACAware.aspx
存在する可能性はありますが、それは開発者としての意識的な選択です。UAC や CommandLinks、Aero などの新しい Vista のものを使用できます。ただし、その必要はありません (UAC をプログラムすることもできます。管理者権限が必要なことは何もしないでください)。Vista のものをすべて無視することを選択した場合、2 つの間にまったく違いはありません。
アプリにそのようなものを含めたい場合は、違いがあります. しかし、私は巨大なものではないと思います。そして、違いを抽象化すると (たとえば、Vista の場合は TaskDialog を表示するが、XP の場合は MesssageBox に入力する入力を馬鹿にする独自の関数を作成する)、独自のコードに対してのみ記述することになります。違いはほとんどないように見えます。
また、Vista の新しい機能 (UAC や Aero など) の多くは、それを使用する機能の最初の部分を作成し、それを機能させてから、作業中は二度と考えなくても、一度は気にするものです。アプリの開発。
アプリケーションをXPからVistaに移行する際の最も苦痛な部分は(私の観点から)、以前は無料だったポートを使用する多数のサービスとIPv6のものを処理し、ワイヤレスプロビジョニング->ネイティブWiFi移行を処理することです。
UACのものは基本的に論点です。アプリケーション開発者が行う必要のあることはほとんどありません。