我也做使用單跨平臺的開發和喜歡你和其他許多人面對什麼相對於用戶界面等基礎硬件整合做的問題。
我決定,我不希望是在另一個第三方框架的憐憫(單就足夠了),並研究了,我可以建立和維護自己的解決方案。新的MVVM模式以及Expression Blend非常酷,但是很快你發現自己在跨平臺開發方面陷入困境。MVC an MVP模式似乎也不適合我所需要的模式。最後在PM模式下解決問題,並將其擴展爲H用於硬件的PMH。爲了實現我所需要的,我必須將基本小部件(按鈕,面板,文本框)抽象爲每種設備類型的底層平臺層。我的平臺層代表了我的代碼庫的1%左右,並允許我爲我定位的每個設備使用應用程序。
對於我的WP7解決方案,我用幾乎沒有任何HTML大約只有25行這足以初始化應用程序和主頁。用戶界面的其餘部分以編程方式放在一起,就像在WinForms中一樣。在WP7上,我仍然使用Pivot控件,因爲它確實非常漂亮,並且正在模擬類似的控件以用於Android/iPhone。雖然它不會是100%相同,但它會非常相似,仍然在我的核心代碼中使用相同的導航引擎。
我還沒有完成我的發展,但到目前爲止,我對我的進步感到非常滿意。我爲Windows應用程序開發了大約20年的用戶界面,而且我從不使用界面生成器工具,因爲我發現他們從未給我我想要的東西,真的浪費了我的時間(儘管Blend非常酷),並且還創建了巨大的代碼膨脹特別是在Blend。