.Net Framework を使用する Windows と Mono を使用する Mac/Linux の両方で実行される WPF MVVC アプリケーションを開発することを楽しみにしています。
私が理解している限り、Mono で実装されている WPF の唯一の部分は Moonlight としての Silverlight です。
私が読んだ限りでは、Silverlight 3 でスタンドアロン アプリケーションを開発することは可能ですが、Moonlight 2 では可能ですか?
.Net Framework を使用する Windows と Mono を使用する Mac/Linux の両方で実行される WPF MVVC アプリケーションを開発することを楽しみにしています。
私が理解している限り、Mono で実装されている WPF の唯一の部分は Moonlight としての Silverlight です。
私が読んだ限りでは、Silverlight 3 でスタンドアロン アプリケーションを開発することは可能ですが、Moonlight 2 では可能ですか?
Moonlight はアウト オブ ブラウザーをサポートしていますが、制限があります。これは現在手動プロセスであり、まだ自動化されておらず、GUI もありません (c) Miguel de Icaza. しかし、Moonlight をスタンドアロンの GUI アプリケーションとして使用するのはあまり良い考えではないと思います。まず第一に、それは多くの厳しい制限のある Web サイトのクライアント側の技術だからです。そのため、スタンドアロンの Moonlight を使用して重大なこと (ファイルへのアクセスなど) を行うことは不可能になります。GTK#を見てください。それはあなたにとってより便利かもしれません。
あなたが説明することは可能に聞こえます。Moonlight 2 には、ブラウザ外機能があると報告されています。
WPF には、Silverlight や Moonlight では利用できないものがたくさんあります。WPF の実装では、Silverlight/Moonlight で利用できない UI 要素を避ける必要があります。
Microsoft は、WPF と Silverlight でマルチターゲットできるアプリケーションを作成する分野でいくつかの作業を行いました。彼らの Prism ライブラリはこれをサポートしています。直面する問題は似ているはずです。
アプリケーションが Silverlight のブラウザ外サンドボックスで実行できる場合は、Windows では Silverlight を、Linux/OSX では Moonlight をターゲットにする方が簡単かもしれません。そうでない場合は、Linux/OSX プラットフォームの Moonlight から必要なリソースにアクセスできることを確認する必要があります。