私も mono を使用してクロス プラットフォーム開発を行っています。あなたや他の多くの人が、ユーザー インターフェイスやその他の基盤となるハードウェア統合に関して何をすべきかという問題に直面しています。
私は、さらに別のサードパーティ フレームワーク (mono で十分です) に翻弄されたくないと判断し、自分で構築および保守できるソリューションを調査しました。Expression Blend を使用した新しいMVVMパターンは非常に優れていますが、クロス プラットフォーム開発になるとすぐに行き詰ってしまいます。最終的にPMパターンに落ち着き、それを H がハードウェア用の PMH に拡張しました。必要なものを実現するには、基本的なウィジェット (ボタン、パネル、テキスト ボックス) を、デバイスの種類ごとに基盤となるプラットフォーム レイヤーに抽象化する必要がありました。私のプラットフォーム レイヤーは、コード ベースの約 1% を占めており、ターゲットとするデバイスごとにアプリケーションにスキンを適用できます。
私の WP7 ソリューションでは、アプリケーションとメイン ページを初期化するのに十分な 25 行程度の HTML をほとんど使用していません。ユーザー インターフェイスの残りの部分は、WinForms の場合と同様に、プログラムによってまとめられます。WP7 では、私はまだ Pivot コントロールを使用しています。これは非常にグルーヴィーであり、Android/iPhone で使用するための同様のコントロールをモデル化しています。100% 同じというわけではありませんが、非常に似ていて、コア コード内で同じナビゲーション エンジンを使用しています。
開発はまだ完了していませんが、これまでの進捗状況には非常に満足しています。私は約 20 年間、Windows アプリケーションのユーザー インターフェイスを開発してきましたが、インターフェイス ビルダー ツールを使用したことはありません。なぜなら、これらのツールは、私が望むものを提供してくれず、本当に時間を無駄にしているからです (Blend はかなりクールですが)。特にブレンドで。