我已经为一个个人应用程序和增强功能开发了一个移动应用程序一个星期。我对WPF和MVVM有一定的经验,对移动开发没有经验。

这个想法是在测试一些编码原理的同时,制作一个跨平台的应用程序:

  • 响应式(Reactive)编程(ReactiveUI)
  • 垂直切片,如果可能的话,为 (blog 1blog 2)

  • 我计划使用以下组件:
  • Prism.Unity.Forms:似乎提供应用程序结构,ioc,导航,似乎被广泛使用,并且由顶尖的人来完成
  • ReactiveUI,ReactiveUI.XamForms,ReactiveUI.Fody:WhenAnyValue,ObservableAsPropertyAttribute,ReactiveAttribute(tutorial)(不使用它们)对我来说似乎是一个巨大的错失机会

  • 我的Visual Studio的当前结构如下:
  • Csproj
  • ViewModels
  • CreateExercisePageViewModel
  • HomePageViewModel
  • View
  • CreateExercisePage
  • 主页

  • 我管理以下内容:
  • 使用Prism的导航功能,将HomePage设置为包含在NavigationPage中的初始页面。
  • 声明XAML中的一个命名按钮,使用ReactiveUI功能(如本教程中所示,使用WhenActivated方法)通过在后面的代码中创建的OneWay绑定(bind)来设置其Command属性。
  • 使用Prism导航
  • 导航到第二页(CreateExercisePage)

    一个问题是,网络上有几篇文章比较了Prism和ReactiveUI(google Prism vs ReactiveUI)。

    因此,问题是:我同时使用两者是否做错了?

    我现在没有问题,但是我会碰到一个吗?即使我不这样做,同时使用它们是否有意义?

    最佳答案



    一起使用Prism和ReactiveUI没问题。 ReacitveUI是一组扩展方法,而不是自以为是的框架。



    您可能会遇到两个框架之间来回更改属性事件的问题(使用Prism可能比其他Mvvm框架少),但这应该很容易解决。



    我通常会说,选择Mvvm框架时,要根据其功能集选择所需的框架。如果Prism具有大多数功能,而您只想通过一些响应式(Reactive)编程来增加它的趣味性,那是一个不错的方法。

    关于c# - Xamarin Forms : can Prism and ReactiveUI be used in the same project ?如果是这样,这是个好主意吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56104321/

    10-14 17:00