私は、iPhone、デスクトップ OS/X、Windows タブレット、Silveright ベースのブラウザー、Windows Mobile、および Windows のバージョンをこの優先順位で作成したい、描画ベースの製品に取り組んでいます。
GUI の移植性については、コアを C++ のままにして、Cocoa/Objective-C または WPF/C# の薄いレイヤーを使用するというのが古典的な答えです。
ただし、Silverlight では選択が複雑になります。
コードを C++/CLI に移行し、デュアル コード ベースを維持することに問題はありません (C++/CLI のコンテキスト キーワードを偽装するマクロと、^ と % の司法的な検索と置換を使用)。
これまでのところ、C++/CLI が Silverlight でサポートされる可能性は低いと思われます。それは私にオプションを残します:
- v1.0 C++ ソース ベースの C# への 1 回限りの移行と継続的な並行メンテナンス
- C++ から C# へ、またはその逆のツールを使用したライブ ポーティング (推奨をお願いします!) は、ビルド プロセスの一部として十分にスムーズです。
- C++ ロジックがサーバー上に残るように、Silverlight バージョンのアーキテクチャ上の分離。パフォーマンスへの影響については少し不快です。
代替案を提案したり、Silverlight での C++/CLI に関する良いニュースを提供したり、移植ツールを推奨したりできる人はいますか? ポートが信頼できるものであれば、バックエンドのメイン言語として C++ または C# を使用できるほど、どちらの言語にも慣れています。
編集: Tangible Software Solutionsが提供する製品の範囲を見ると、コンバーターに関する彼らのメモは、C# から C++ への変換が他の方法よりも簡単であることを明確にしています。これは私が予想した通りです。私の C++ スタイルを最も一般的でない OO 分母に制限することに関して、興味深い考えが浮かび上がります。