また、モノを使用してクロスプラットフォーム開発をしており、他の多くのユーザーは、ユーザーインターフェイスやその他のハードウェアの統合に関する問題に直面しています。
私はまだ別のサードパーティーのフレームワーク(モノでも構いません)の慈悲にはなりたくないと判断し、自分で構築して維持できる解決策を研究しました。 Expression Blendと一緒に新しいMVVMパターンは本当にクールですが、すぐにあなたはそれがクロスプラットフォーム開発になるときに立ち往生しています。MVC an MVPパターンも私が必要とするものに合っていないようです。最後にPMパターンに整理され、PMHに展開されます。ここで、Hはハードウェア用です。私が必要としたことを達成するために、基本的なウィジェット(ボタン、パネル、テキストボックス)を各デバイスタイプの基盤となるプラットフォームレイヤに抽象化しなければなりませんでした。私のプラットフォーム層は私のコードベースの約1%を占めており、私がターゲットとしている各デバイスのアプリケーションをスキンすることができます。
私のWP7ソリューションでは、アプリケーションとメインページを初期化するのに十分な25行程度のHTMLしかほとんど使用しません。 WinFormsの場合と同様に、残りのユーザーインターフェイスはプログラムでまとめられています。 WP7では、Pivotコントロールを使用していますが、これはかなり面白く、Android/iPhoneで使用する同様のコントロールをモデリングしています。それは100%同じではありませんが、それは非常に似ていると私のコアコード内で同じナビゲーションエンジンを使用します。
まだ私の開発はまだ完了していませんが、これまでのところ進歩に満足しています。私はWindowsアプリケーションのユーザーインターフェイスを約20年間開発しています。私は自分が望むものを私に与えず、実際には自分の時間を無駄にすることはないと思うので、インターフェイスビルダーツールを使用することはありません(ブレンドはかなりクールです)特にブレンドで。