2012-03-16 9 views
2

現在、WPFおよびLINQを使用して、Microsoft Visual C#4.5で作成された(非商用の)アプリケーションがあります。C#WPF .NET 4.0アプリケーションをMac OS X(Mono?)に移植する際の推奨事項

将来の移植をMac OS Xで可能にするために、MVVMデザインパターンを使用してロジックとユーザーインターフェイスを分割しました。

私は知りたいです: 1)私はWPFがMonoでサポートされていないことを知っています。私は多くのバインディングを使用します。これを簡単にWinForms(またはMonoでサポートされている別の方法)に移植することは可能ですか?

2)私はすべてのLINQ機能をfor/foreachループに変更する必要があると思いますか?

3)移植時に考慮したり警告したりする他の考慮事項や推奨事項はありますか?

ありがとうございます。

+2

ほとんどのLINQはMonoを使用する必要があります。 WPFについては考えがありません。 – weismat

+1

MoMAも便利なツールです:http://www.mono-project.com/MoMA – ChrFin

+0

@chrfin便利なリンクありがとうございます。 –

答えて

4

SilverligtはMacで動作します。アプリケーションをSilverlightで可能なものに限定することができれば、Silverlightは基本的にブラウザのWPFなので、移植は非常に簡単です。最近リリースされたSilverlight 5では、ブラウザを使わずにローカルファイルシステム全体にアクセスすることができ、複数のウィンドウを作成することもできます。

+0

ありがとうございます。 ..これは行く道のように思える。 –

4

コメントに記載されているように、Mono XWTクロスプラットフォームウィジェットツールキットでは、トリックが(2012年4月現在)非常に新鮮なコードで作業することをお勧めします。

XWTは、Mac OSX、Linux、およびWindows-WPFのネイティブOSのウィジェットに直接マップする点で、Eclipse/Java用のSWTウィジェットキットに似ています。それは、Monoのツールスタック(すなわちMonoDevelop、MonoDoc、Bansheeなど)の多くに使用されているGTK-Sharpライブラリのレイアウトシステムと一般的なAPIに基づいている点で異なります.FOSDEMスライドによると、XWTはMonoプロジェクトのGTK-Sharpへの置き換え/追加、MonoDevelopでのXamarinの使用。私の推測では、MonoDevelopをよりOS固有のものにするか、GTKウィジェットキットが現在許しているように見せかけるようにして、ツールチェーンをEclipse製品と同等以上のものにする可能性があると思います。

この回答を書いている時点で、XWTツールキットは依然として重い開発(特にWindows WPFバージョン)を受けていましたが、3つのプラットフォームすべてで合理的に機能していました。

関連する問題