Windows (XP/Vista) と Windows Mobile の両方で動作するアプリケーションを作成する必要があります。グラフィックス インターフェイスはスケーラブル (さまざまな解像度に対応) である必要があり、コントロールはカスタム (音楽アプリで通常見られるものなど) である必要があります。私は SVG を即座に選択しましたが、Windows Mobile のサポートがないため、時間の予算がほとんどなくなりました。私はWMFを評価しようとしましたが、それは正しい答えのようですが、あまり好きではありません. WPF/XAML について考えていましたが、Windows と Windows Mobile の違いがわかりません。プロジェクトは C# または C++ である必要があり、商用プロジェクトです (したがって、GPL で保護されたライブラリはありません)。最良の選択は何でしょうか? 私は何を見落としていますか?
4 に答える
WinForms はスケーリングのサポートが制限されています: http://sellsbrothers.com/writing/winformsAutoScaling.htm
「アンカー」と「ドッキング」も参照してください: https://web.archive.org/web/1/http://articles.techrepublic%2ecom%2ecom/5100-10878_11-6165908.html
これらを組み合わせることで、デスクトップとモバイルの両方で機能する UI を作成できるはずです。
もう 1 つのオプションは、C++ で記述されたQt ライブラリです。これは LGPL であり、ソースをリリースする必要なく商用製品で使用できることを意味します (ライブラリ自体への変更を除く)。何らかの理由で十分でない場合は、商用ライセンスも販売しています。
Windows と Windows Mobile で動作します。おまけとして、プログラミングの合理的な仕事をすれば (そして、あなたがコーディングに関して行っている他のすべてのことはそれをサポートしていると仮定すると)、アプリケーションは Mac OSX、Linux、および S60 でも実行できます。
スケーラブル ベクター グラフィックス、完全なウィジェット サポートを備えたキャンバス、およびその他の優れた機能を多数サポートしています。ドキュメントをチェックして、必要なものがすべて揃っているかどうかを確認することをお勧めします。
Erwin がドッキングとアンカーで言ったように、.NET コンパクト フレームワークで UI のスケーリングを行うことができます。私が作成したWindowsモバイルアプリケーションでは、通常、フォントスケーリングなどを処理するカスタムコードを作成する必要があります(テキストをクリック可能にする場合、タッチファウンドにはシステムデフォルトよりも大きなフォントが必要になる場合があります)。
コードなしで画像を正しくスケーリングするつもりはないと思います。このサイトで関連する質問を見つけました。私の経験では、コードの 99.9% を記述しているため、Windows と Windows Mobile の両方で問題なく動作しますが、Windows Mobile 用に別の UI を作成しています。
通常は .NET 2.0 / .NET 2.0 Compact Framework でコードを記述しますが、.NET 3 をインストールする必要がない場合は、そのほうがよいでしょう (.NET 2 は .NET 3 よりも広く普及しています)。