2009-02-24 16 views
31

私はC#/ WPFアプリケーション(現時点では.net 3.0をターゲットにしています)を販売しており、人々はMac版を依頼し続けています。ただ、GUIを書き換えは、アプリケーション全体Mac OS XでC#/ WPFアプリケーションを実行できますか?

を書き換えると同等です -

アプリケーションは、アプリケーションのほとんどはGUIであるように、アプリケーションを追跡する時間内にそのくらいのビジネスロジックが存在しない、優れたGUIとの時間追跡アプリケーションです

アプリケーションを書き換えたり、2つの異なるコードベースを維持するためのリソースがないので、Macで同じコードを実行する方法が必要です(コードをデバッグして変更する必要があることはわかります私は1つのコードベースしかサポートできません。プロジェクトを別のMacやWindowsプロジェクトに分割することはできません.2つのプロジェクトで作業する時間がありません。

アプリケーションをクロスプラットフォームのUIライブラリ、別のプログラミング言語、またはSilverlightに移植することは、あまり時間がかかりません。この時間を新しい機能に投資することでより多くの売上を得ることができます。

MacにC#/ WPFを実行または移植できるツールを知っている人はいますか?

+0

これは素晴らしい*警告* "質問"です。 –

答えて

11

Mac上で本格的なWPFアプリケーションを実行する方法はまったくありません。これがParallelsでも可能かどうかはわかりません。あなたができる最も良いことは、以前は "WPF/E"と呼ばれていたMacintosh上で動作するSilverlightを使用することです。

+25

Uh Parallelsは仮想マシンです... Windows上で実行されるものはすべて、Windows上で実行されます...ウィンドウ。 –

+0

私は単純なものをParallels上で実行しています – Kalecser

+0

私はWPFであり並列で動作する大企業アプリケーションを持っています。 – Kelly

0

できません。しかし、あなたのUIはWPFなので、XAMLを例えばGTK#のようなものに変換することができます。もちろん、あなたが私のようで、たくさんの.NET 3.5機能を使用すれば、それはあまり役に立たないでしょう。

あなたのUIを単純で単純なXMLで始めるにはもう1つの理由があります。

2

あなたは新しい機能(異なるプラットフォーム全体をサポートしたい)を望んでおり、それに努力したくありません。申し訳ありませんが、ほとんどの場合、動作しません。

モノに最も基本的な(ネイティブ).NETのほかに、MacOSX上でWPFアプリケーションをネイティブに実行できるとは思いません。

あなたは、あなたがMacユーザーを獲得することでより多くのお金を稼ぐことができると思うなら。他のプレゼンテーション方法の使用を検討することもできます。あなたの現在の「投資」のために、私はSilverlightを試してみるといいでしょう(はい、私はそうしないというあなたの暴言を読む)。もう1つの選択肢はAdobe AIR/Flexです。

この方法でアプリケーションを移植する場合。単一のコードベースを維持することができます。どちらのプラットフォームでも動作します。

現在のコードベースの新機能に時間を費やしたい場合は、Macユーザーを無視してください。

5

私たちも同様の状況にありました。我々は、Windowsのプロジェクトが動作していて、Mac版が必要でした。

私たちの製品は2つの部分に分かれていました.1つは.Netアプリケーション、もう1つはDirectorプロジェクターアプリでした。

ディレクターアプリは、簡単な権利、クロスプラットフォーム、すべてのものが必要ですか?まあ、それほど簡単なことではありませんが、2つのバージョンのDirectorソースファイルで終わってしまいました。

基本的なエンジンのためにMonoを使用する必要がある.Netアプリケーションを実行する必要がありました。これは、実際にはバイト配列の数だけをクランチしていたのでうまくいきました。それ以外のUIは、ココアで書き直す必要がありました。私たちが行ったように、Macのすべてのことを学ばなければならなかったので、Windows版とほぼ同じくらい費用がかかりました。

その後、私たちはWindows版のみを更新しました。

+0

私の意見では、これは新しい開発者にとって素晴らしい例題です。複数のプラットフォームで使用できるツールを選択します。それ以外の場合は、要件が変更され、経営幹部がMacまたはLinuxでも製品を使用したい場合は、ピクル内で自分自身を見つけるだけです。 – Kaspar

5

同様の問題がありました。私たちは、Silverlight 3(かなり多くのWPF .NETのものをサポートしています)にMac版を書きました。それはサンドボックス化されましたが、これが問題でなければ、素敵なものをやることができます。私たちのコードベースは現在WPFとSilverlight 3上にあり、コンパイル時にSL3とDesktopアプリケーションを生成するときと同じです。

+1

ありがとう、これは良い可能性のように聞こえます(私が質問したときにsilverlight 3は存在しませんでした)、両方のプラットフォームで同じxamlとcsファイルを使用していますか? – Nir

-1

実際には、あなたのためのクロスオーバーがあります。プログラマーの視点から意見を答える他の人。私があなただったら、CrossOverをインストールし、CrossOverの中に.NET 3.5をインストールし、WPFソフトウェアをうまく​​実行します。

http://www.codeweavers.com/products/cxmac/

またはあなたが無料(ただし、より困難な)ソリューションを好む場合は、ワインを試してみてください。

http://davidbaumgold.com/tutorials/wine-mac/

+2

これは顧客の立場から考えると良いことです - 自分のソフトウェアがCrossOverで動作しているかどうかわかりませんが、Parallelsのソフトウェアを使用している人もいます。ソフトウェア)私は顧客のコンピュータにCrossOverをインストールすることはできません(特にCrossOver Proは私のソフトウェアよりも高価です) – Nir

+0

Humm yea。 :Dし、ワインを試してみてください。 http://davidbaumgold.com/tutorials/wine-mac/ – VOX

+0

Parallels/VMWareとWine/CrossOverの違いを明確にしたいだけです。 ParallelsまたはVMWareは、Windowsを起動できる仮想ハードウェアエミュレータです。彼らはハードウェアをエミュレートします。 Windowsを起動して(Windowsライセンスも必要です)、Windowsを実行しているエミュレートされたハードウェアでソフトウェアを実行する必要があります。ワイン/クロスオーバーは、Mac/Linux上のWindows環境を書き換えたものです。それはあなたのプログラムがあなたのプログラムがWindows OSから期待するものすべてを与えました。また、Windowsを起動したり、ライセンスを必要とせずに、ネイティブスピードでプログラムを実行できます。 – VOX

4

あなたは、Parallelsを使用することができます。私はC#とWPFで書かれたオフィスソフトウェアを持っており、人々はParallelsの下で常にMac上でそれを使用しています。

さらに、Parallelsでは、WindowsアプリケーションをMac OSXアプリケーションと並行して実行できます。Mac OSXアプリケーションは、Macデスクトップの独自のウィンドウに表示されます。また、MacとWindowsのアプリケーションの間でコピー&ペーストやドラッグアンドドロップが可能です。

1

Nevron Open Visionを試すことができます。 WPF、WinForms、Silverlight、MonoMac、Xamarin.Macプロジェクトに統合されています。これはMac上でWPFアプリケーションを実行するのと同じではありませんが、むしろNOVプラットフォームでアプリケーションを再コードする必要があります。しかし、一度すれば、アプリケーション(またはモジュール)は、単一のコードベースからこれらのすべてのプラットフォーム上で実行されます。このアプローチの良い例は、Nevron Writer(Nevron Officeの一部)です。 Windows、Silverlight、Mac上で100%単一コードベースから実行されます。

[開示:私はネブロンの仕事]

関連する問題