最近、私は Windows 8 Metro スタイルに勝つことを読んでいます。既存のアプリケーションを実行することはできません。
Windows ランタイム (WinRT)の観点から物事を考える方が簡単だと思います。ARM ベースの Windows 8 システムは、 WinRT プログラムのみをサポートします。x86 ベースの Windows 8 システムは、WinRT プログラムと既存の Win32 プログラムの両方を実行できます。
すべての Metro スタイル アプリケーションが WinRT アプリケーションであるという暗示 (または仮定) があります。確かに、WinRT はMetro スタイル アプリケーションの構築に使用するためのものです。Metro アプリのように見える従来の Win32 アプリケーションを構築することは想像できました。大きな正方形のアクティブ タイル、表示されているデスクトップの左右に広がるアプリケーション サーフェスなどです。それらが Metro アプリと同じスタイルで構築されている場合。
既存のアプリケーションは、ARM ベースの Windows 8 システムでは実行されず、x86 ベースの Windows 8 システムのデスクトップ以外の部分では実行されません。これらは、x86 ベースの Windows システムのデスクトップ部分で実行されます。それは、Visual Studio が実行される場所であり、おそらく PhotoShop が実行される場所であり、現在 Windows 7 で実行されているすべてのプログラムが実行される場所です。
それは、Windows が VC++ や MFC を殺す方向に向かっているということですか?
絶対違う。MFC アプリケーションは、x86 ベースのシステム上の Windows 8 のデスクトップ環境で問題なく動作します。MFC アプリケーションはARM ベースの Windows 8 システムでは実行されませんが、MFC アプリケーションが実行されない場所はたくさんあります。
VC++ に関しては、必要に応じて C++ を使用してMetro スタイルのアプリケーションを構築できます。Metro の「スタイル」に従うだけです。
すべての Windows バージョンで同じコード ベースを維持する可能性はありますか?
「すべてのWindowsバージョン」の意味によって異なります。現在 Windows 7 x86 ベースのシステムで実行されるコードは、明日 Windows 8 x86 ベースのシステムでも実行されます。それがターゲット市場である場合は、完了です。コードを変更する必要はありません。あなたが持っていない唯一のものは、アクティブなタイルです. ただし、必要に応じて、Metro スタイル API を使用してアクティブなタイルを作成し、それをアプリのロジックに結び付けることができます。
ARM ベースの Windows 8 システムと x86 ベースのシステムをサポートしたい場合、または x86 ベースのシステムで実行するときにすべてのプログラムに Metro のルック アンド フィールを持たせたい場合は、HTML を使用するようにプログラムを変更する必要があります。 MFC と Win32 API の代わりに /CSS または XAML と WinRT API。
または、両方の世界が必要な場合は、プログラムのロジックを UI から分離し、その共通ロジックの周りに MFC スキンと Metro スキンを構築することもできます。
winsock と MFC の代替 API はありますか?
ネットワーキングには、JavaScript、Visual Basic、C#、および C++ から使用できるクラスが多数あります。UI を構築するには、HTML/CSSを使用するか、 XAMLを使用します。
または、必要に応じて MFC を使用し続けます。タブ付き UI を備えた複数ドキュメント インターフェイスを備えた Metro スタイル アプリを構築することはおそらくないでしょう。