2009-08-04 6 views
8

私はC#でデスクトップアプリケーションを開発しようと考えています。ウィンドウズは私の主なターゲットになりますが、後で私はMacOS Xとlinuxでアプリを試してみます。今日、これを簡単な方法で行うことはできますか? 私はモノプロジェクトを知っていますが、簡単な方法でこれを行うことができるかどうかは私には分かりません。WPFを使用したクロスプラットフォームアプリケーション

また、WPFとSilverlightの関係は何ですか? AFAIK Silverlightは、FlashやJavaによく似たプラグインモデルに従います。 Silverlightでデスクトップアプリケーションを開発し、それをWindows、Linux、OS Xに多くの変更を加えることなく展開できますか?

すべてのポインタは非常に高く評価されます。

+0

Silverlightには、WPFとの共通点はほとんどありません。 WPFはデスクトップアプリケーションを構築するためのフレームワークで、SilverlightはFlashのようなブラウザプラグインです。 Silverlightアプリケーションは、WindowsとMac OS Xをネイティブに、MonoのMoonlightプロジェクトをLinux上で実行できます。 –

+4

「Silverlightは実際にはWPFとあまり共通していません」と私は言っていません...彼らは共通しています! XAML言語、DependencyObjectモデル、ほとんどのコントロール... Silverlightでは使用できないWPFの機能がいくつかありますが、WPFでは使用できないSilverlightの機能がいくつかありますが、最新の両方の製品ではその差は小さくなっています –

+0

トーマスは正しい。さらに、MicrosoftはWPF/Silverlightフレームワークの収束を明示的に狙っているため、時間がたつにつれてほぼ完全に相互接続できます。 – Noldorin

答えて

7

Monoプロジェクトは.NET 3とWPFをまだサポートしていません。

あなたのニーズには、Silverlightで十分でしょう。 Silverlight 3.0以降では、Silverlightをブラウザの外で実行することもできます。また、デスクトップ上にSilverlightをショートカットとして作成することもできます。

+2

NB:ムーンライトは現在、Silverlight 1.0のみを安定してサポートしており、2.0のプレアルファリリースのみを提供しています。 – supercheetah

+0

だから私はLinux上でSilverlight 3アプリケーションをデプロイすることはできません。 –

+1

Monoは、.net 3.xの機能をサポートしていますが、WPFはサポートしていません。 – kenny

1

WPFは、のWindows用デスクトップアプリケーションの作成にのみ使用されます。。現在、他のプラットフォームはサポートされていません。クロスプラットフォームサポートが必須の場合は、ブラウザベースのアプリケーションを作成してSilverlightを使用できます。しかし、Silverlightはブラウザでアプリケーションを実行するので、それを使って「デスクトップ」アプリケーションを作成することはできません。

+1

Silverlight 3でブラウザ外で動作するアプリケーションを作成することはできますが、Silverlightサンドボックスでは依然として制限があります。 –

1

Monoは、Silverlightがクロスプラットフォーム(スタックオーバーフローポッドキャストのいずれかで言及されているように)を実行することを確実にするために懸命に働いています。だからそれは良い方法だと思われる。

2

最後に、MonoプロジェクトでWPFを実装する計画はありませんが、他の.NET 3.5機能、特にLINQとASP.NET MVCに取り組んでいます。モノのWPFを実装する際の問題点(APIのサイズと複雑さを超えて)は、WindowsではレンダリングにDirectXを使用するため、Monoの実装ではOpenGLを使用する必要があります。確かに些細なことではありません。

関連する問題