簡體   English   中英

Windows(Desktop)和Windows Phone 8的C#MVVM應用程序框架

[英]C# MVVM application frameworks for Windows (Desktop) and Windows Phone 8

請向我建議一些好的MVVM和IOC應用程序框架,這些框架可以最大程度地提高Windows 7/8和Windows Phone 8之間的代碼共享(將來可能還會用於現代UI應用程序)

桌面應用程序將基於WPF,電話應用程序將基於XAML + C#。

整個應用程序將由可從組件中動態枚舉的可插拔組件組成。

我們還希望使用MVVM的純粹版本,其中Model,View和ViewModel可以駐留在其自己的獨立項目中。 我們還需要具有從多個子視圖組成一個視圖的能力,這些子視圖可以駐留在它們自己的程序集中。

MvvmCross - Stuart的博客視頻jabbr室

MvvmCross是為針對Xamarin.iOS,Xamarin.Android,WindowsPhone,Windows Store,WPF和Mac的開發量身定制的Mvvm框架。 就個人而言,即使您僅針對WPF,WP和Windows Store,它仍然是一個不錯的框架。

它具有用於跨平台組件的插件模型,實現了自己的IoC容器,並且具有Messenger以及其他一些很酷的功能。 MvvmCross也為不同的平台實現了綁定,因此可以通過綁定做一些很酷的事情,請參見Rio

Caliburn Micro- 文檔

Caliburn Micro以XAML技術為目標,即WPF,SL,WP,WStore。 它有很多約定,例如通過將按鈕x:Name="Send"與視圖模型上的Send方法進行匹配,來將按鈕自動綁定到方法。 所有約定都是可配置的。 CM還實現了它自己的IoC容器並具有一個Messenger。

QuickCross-輕型,僅代碼的Mvvm框架。 有趣,值得一看。

MvvmLight-也很出色,提供了基本的Mvvm東西。

都是具有健康社區的優秀開源項目。 我建議與幾個人一起編寫一個中小型應用程序。 他們都有出色的文檔,但是源代碼可以提供進一步的見解。

我不知道您的應用程序是什么樣子,但是我要做的第一件事就是使用三層體系結構開發WPF應用程序,以便該應用程序的“后台”部分(即服務器端)公開WCF服務。只需開發一次,即可供所有客戶端(Windows Phone,WPF,Modern UI應用...)使用。

然后對於客戶端,我建議使用MVVM light ToolkitPCL 版本 我尚未測試PCL版本,但我始終推薦此庫用於MVVM開發。

話雖這么說,如果您對“可插拔”的要求很高,並且不想從頭開始構建它,則可能需要看一下Prism 我還沒有機會進行測試,但是值得一試,因為WPF / Silverlight / WP7方案中都支持它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM