【问题标题】:C# MVVM application frameworks for Windows (Desktop) and Windows Phone 8适用于 Windows(桌面)和 Windows Phone 8 的 C# MVVM 应用程序框架
【发布时间】:2014-04-07 14:36:08
【问题描述】:

请向我推荐一些好的 MVVM 和 IOC 应用程序框架,它们可以最大限度地在 Windows 7/8 和 Windows Phone 8 之间进行代码共享(未来可能用于现代 UI 应用程序)

桌面应用程序将基于 WPF,而电话应用程序将基于 XAML + C#。

整个应用程序将由可从程序集中动态枚举的可插拔组件组成。

我们还希望使用纯粹的 MVVM 版本,其中模型、视图和视图模型可以驻留在它们自己的独立项目中。我们还需要能够从多个子视图组成一个视图,这些子视图可以驻留在它们自己的程序集中。

【问题讨论】:

    标签: c# xaml mvvm windows-phone-8 ioc-container


    【解决方案1】:

    我不知道您的应用程序是什么样的,但我要做的第一件事是使用 3 层架构开发 WPF 应用程序,因此应用程序的“后台”部分(即服务器端)公开一次开发的 WCF 服务,并且可以被所有客户端(Windows Phone、WPF、Modern UI 应用程序...)使用。

    那么对于客户端,我建议使用PCL release of MVVM light Toolkit。我还没有测试过 PCL 版本,但我总是推荐这个库用于 MVVM 开发。

    话虽如此,如果您的“可插拔”要求很强,并且您不想从头开始构建它,您可能想看看Prism。我还没有机会测试它,但值得一试,因为它在 WPF/Silverlight/WP7 场景中受支持。

    【讨论】:

      【解决方案2】:

      MvvmCross - Stuart's blog, videos, jabbr room

      MvvmCross 是一个 Mvvm 框架,专为针对 Xamarin.iOS、Xamarin.Android、WindowsPhone、Windows Store、WPF 和 Mac 的开发而设计。就个人而言,即使您只针对 WPF、WP 和 Windows 应用商店,它仍然是一个很棒的框架。

      它有一个用于跨平台组件的plugin 模型,实现了它自己的 IoC 容器,并且有一个信使,以及其他一些很酷的东西。 MvvmCross 也为不同平台实现绑定,因此可以使用绑定做一些很酷的事情,请参阅Rio。

      Caliburn Micro - docs

      Caliburn Micro 以 XAML 技术、WPF、SL、WP、WStore 为目标。它有很多约定,例如通过将 buttonx:Name="Send" 的名称与视图模型上的 Send 方法匹配来自动将按钮绑定到方法。所有约定都是可配置的。 CM 还实现了它自己的 IoC 容器并有一个信使。

      QuickCross - 一个轻量级、纯代码的 Mvvm 框架。有趣且值得一看。

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

      所有都是优秀的开源项目,拥有健康的社区。我建议与一对夫妇一起编写一个中小型应用程序。他们都有很棒的文档,但源代码可以提供进一步的见解。

      【讨论】:

        猜你喜欢
        • 2015-02-25
        • 1970-01-01
        • 1970-01-01
        • 2013-04-12
        • 2014-01-02
        • 1970-01-01
        • 2012-12-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多