8

優れた最新の Windows 7 または 8 UI に接続したい、広範な C++ モデルを備えた既存のアプリがあります。アプリの現在の (古い) UI は、純粋な Win32 API を使用して初期の Windows XP / 95/98 時代に開発されました。私たちのコードは現在、Visual Studio 2010 を使用してコンパイル/リンクしています。

Windows には、Win32、MFC、ATL、COM、.NET など、さまざまな開発 API の「標準」があるようです。過去 14 年間、私のエンジニアは Microsoft の路線をかなり牽引してきました。次に、「.NETはMFCを置き換えます」(持っていないようです)。

これで、古い UI コードをダンプする準備が整いました。堅固で効率的であるだけでなく、UI をすばやく作成できる一連の標準を使用することは素晴らしいことです。QTを脇に置いてください(これについては、stackoverflowでよく議論されている多くのプラスとマイナスを読んでいます):

1) Windows 7 および 8 の最新の UI 開発アプローチは、MFC または .NET を使用することですか?

2) .NET アプローチの場合 (.NET を選択する確固たる理由があると仮定して)、C++ モデル コード UNMANAGED を .NET アプリで使用できますか?

3) アプリが最初は Metro の外観用に設計されていなかったとしても、Visual Studio 2012 で開発を行うことは不可欠ですか?

4) デスクトップ アプリの開発に検討すべき Microsoft ツールキットは他にありますか?

スティーブン

4

4 に答える 4

5

私が 2011 年に返したこの回答を見てください。最近の Microsoft からの C++ への移行を考えると、それ以上かもしれません。MFC に win8 の追加サポートがどれだけあるかはわかりませんが、Metro に完全に切り替えていない場合 (そうはならないでしょう。「製品」がある場合は、古い Windows をサポートする必要があります。少なくとも、何、5 年間?)、それはそれほど重要ではありません。

私はまだ、C++ アプリケーションと同じくらい「しっかりした」感じの .Net/WPF アプリケーションを見たことがありません (はい、それらが技術的に直交していることは理解していますが、実際には、C++ で .Net UI を構築するのは誰ですか?)。人々が MFC から離れたがる理由は理解できます。その負の側面を理解していないわけではありません。IMO の結論は、迅速な開発にどの程度の価値を置いているかということです。一部のアプリケーション (基幹業務、寿命の短い製品) では、市場投入までの時間と変更のスピードが、「堅実な」設計よりも重要です。その他 (プロ用ツール、システム ソフトウェア) については、優れたユーザー エクスペリエンスを備えた堅固なソフトウェアを作成することがより重要です。より「最新の」フレームワークでそれを行う実稼働ソフトウェア (「技術デモ」とは対照的に) をまだ示していません。MFC (または、' Win API は C++ で使用されますが、その点で MFC は、ポジティブな点がネガティブな点を打ち負かすのに十分な機能を備えています) アプリケーションは (依然として) (多くの場合) そのための最良のツールです。IMO。

ただし、最後に考慮すべきことは、開発者です。MFC を 15 年間プログラミングしている場合、彼らは自分のキャリアを隅々までプログラミングしている可能性があります。MFC を使い続けることを主張する場合は、彼らを遠ざける可能性があります。その際のビジネス リスクと技術的な考慮事項を比較検討する必要があります (あなたの質問から、あなたはビジネス オーナーであることがわかります)。個別に話し合いをご希望の場合は、お気軽にお問い合わせください。

于 2013-02-12T10:42:12.810 に答える
4
  1. どちらのアプローチでもかまいません。ただし、.NET はユーザー インターフェイスの設計にははるかに一般的であり、柔軟なユーザー インターフェイスが必要な場合は (迅速な開発という点で) 多くの利点があります。

  2. はい。C++/CLI は、ネイティブ コードと .NET ユーザー インターフェイスを橋渡しするのに適しています。

  3. いいえ、VS2010 でこれを行うことができます。そうは言っても、VS 2012 には多くの利点があり、特に C++ を使用する場合はそうです。アップグレードはおそらく有益でしょう。

  4. 私はWPFを見ます。新しい Windows 8 ユーザー インターフェイスは興味深いかもしれませんが、以前のコード ベースでは使いにくいかもしれません。また、古いオペレーティング システムでは動作しません。私の経験では、既存のコード ベースと新しいユーザー インターフェイス テクノロジの混在をサポートする、現在改善されている (.NET 4.5 では多くの改善が行われている) オプションは WPF が最適です。

于 2013-02-12T00:33:22.810 に答える
0

MFC と Win32 に基づいて新しいプロジェクトを作成するべきではありません。Windows Mordern UI と統合 API は未来です。.Net がすべてのアプリケーション、特に大量の C++ ネイティブ コードを含むプロジェクトの答えになるとは思いません。Microsoft が統合 API に取り組んでいることはわかっています。それがこの質問に対する答えであることを願っています。

于 2014-05-05T18:22:15.477 に答える