MVVMCross和Prism的组合

Art*_*wen 5 wpf prism mvvmcross

我一直在寻求采用MvvmCross来开发我们的下一代软件,主要是为了开发平板电脑用户界面.据我所知,MvvmCross目前不支持WPF,但我可以看到自己正在开发并贡献它.

但是,我也注意到MvvmCross似乎非常轻,因为Prism指南中描述的复合UI几乎没有支持.不幸的是,我们确实需要允许更复杂的合成UI场景.

鉴于/sf/ask/715706351/限制关于使用MvvmCross作为参考分配或滚动自己的内容,并且考虑到我们确实需要比MvvmCross更复杂的UI场景提供,最好的行动方案是什么,分叉和重新实现我们需要的棱镜部分,尝试让MvvmCross与Prism一起工作,或者从MvvmCross和MonoCross的灵感中发展我们自己的?

Stu*_*art 6

更新:见下面的第二个答案......


我明天可能需要写一个更长的答案......

作为初步答案:

  • 有人已经为Silverlight做了一个MvvmCross的端口,开发人员已经建议这可能会被更广泛的社区使用
  • MvvmCross的PCL版本应该非常简单地移植到WPF - 尽管可能不需要更旧的.Net Runtime版本
  • 作为MvvmCross迄今为止的主要开发人员,我个人对支持WPF感兴趣 - 特别是现在我的项目http://github.com/slodge/BallControl需要桌面运行(Windows Store瘫痪 - pah! )
  • MvvmCross支持复合UI - 例如制表符,枢轴,全景图,分割,模态子等等 - 但是在Prism中常见的完整复合UI上还没有做太多工作.
  • 我见过人们将MvvmCross与其他IoC框架结合起来,但是(迄今为止我还没有工作)已经完成了将MvvmCross与MEF(经常与Prism一起使用?)相结合的方法.

如果我正在解决这个问题领域,那么我会来这个:

  1. 确保我们首先尝试使用一个有效的应用程序 - 应用程序比框架更重要.
  2. 对于框架,我尝试在第一个和一些简单的导航中移植基本的IoC设置
  3. 对于自定义导航(用于在区域中显示UI),我将查看Presenter在MvvmCross中的角色 - 这是我在Tab示例,iPad拆分视图示例等中使用的,以提供复杂的UI功能.
  4. 如果这个自定义导航还不够,我会看看它是如何更改/替换/扩展的 - 我的猜测是WPF/Prism的真正要求实际上与更大的iPad,Surface和Nexus的真正要求非常相似平板电脑应用
  5. 我会尽量保持模块化和可选的一切,以便小型手机应用程序不必引入更大的应用程序可能需要的大型导航过程.这可能是许多项目和DLL的缺点!
  6. 我也愿意分裂成单独的项目 - 现代软件世界的大部分都是由小型目标应用程序统治,而不是更大,更庞大的框架.
  7. 因为我是Mvx的兼职,这是你的全职工作,我绝对建议你不要让Mvx阻止你!

我最初的反应是"是的,我真的对这个问题感兴趣" - 缺点(如上所述)是我只有时间在mvx ....


这是第二个答案......


有一个关于这个的视频 - 有一些解释:http://youtu.be/pYkLxqpu_5E


这显然只是Wpf支持的第一步,但我怀疑它已经满足了很多用例...请随意分叉源代码树并扩展或替换第一次尝试.此外,如果它不适合你,那么随意放弃它并尝试别的东西.

我会尝试更多的工作 - 但不能真正优先于付费工作......但我愿意接受mvvmcross工作的报酬:)