Xamarin.ios MvvmCross和CSLA.net在多平台战略(ASP.net MVC、WP、WPF、WinRT、Win8、Android、iOS)中的合作情况如何

Xamarin.ios MvvmCross和CSLA.net在多平台战略(ASP.net MVC、WP、WPF、WinRT、Win8、Android、iOS)中的合作情况如何,xamarin.ios,cross-platform,xamarin.android,mvvmcross,csla,Xamarin.ios,Cross Platform,Xamarin.android,Mvvmcross,Csla,长期潜伏者,第一次提问者:) 我一直在研究我们公司的下一个软件系统架构。在某种程度上,我们一直在使用CSLA.net作为我们的业务对象框架,并正在考虑围绕它构建新的体系结构。CSLA.net支持标题中提到的平台,我们正在寻找能够很好地使用它的mvvm框架 目前,我们只支持windows环境,但也希望至少支持Android和iOS(一般来说,mono也在考虑之中)。我们希望在平台之间共享尽可能多的代码,而MvvmCross似乎是mvvm(+)框架中非常好的一部分,尤其是在这种情况下。我只看了几个n

长期潜伏者,第一次提问者:)

我一直在研究我们公司的下一个软件系统架构。在某种程度上,我们一直在使用CSLA.net作为我们的业务对象框架,并正在考虑围绕它构建新的体系结构。CSLA.net支持标题中提到的平台,我们正在寻找能够很好地使用它的mvvm框架

目前,我们只支持windows环境,但也希望至少支持Android和iOS(一般来说,mono也在考虑之中)。我们希望在平台之间共享尽可能多的代码,而MvvmCross似乎是mvvm(+)框架中非常好的一部分,尤其是在这种情况下。我只看了几个n+1视频,到目前为止我所看到的非常令人印象深刻。我也喜欢斯图尔特的风格,他介绍了框架和相关概念

是否有人试图构建一个同时使用这两种框架(CSLA.net和MvvmCross)的跨平台应用程序?如果是,你的经历是怎样的?另外,如果Stuart能就如何合并这两个框架的viewmodels发表评论。我记得Rocky(Rockford Lhotka)在使用mvvm框架时建议继承CSLA.net viewmodelbase(而不是viewmodel),并将mvvm框架的需求也实现到该类中,这是一个通用技巧。您可以从中找到viewmodelbase的源

任何意见都将不胜感激

问候,

哈里


另外,我认为,这将是一个伟大的n+视频。不是吗;)

我个人从未使用过CSLA,但我通过电子邮件和面对面的方式与它的原始作者Rocky进行了交谈

CSLA将自己呈现为一个业务模型对象层,它可以非常成功地与独立的Mvvm框架进行互操作—请参阅

MvvmCross提供了更多的应用程序和UI级支持,让应用程序作者可以自由选择如何编写业务服务和模型

因此,是的我认为如果您愿意,将这两个框架一起使用应该是可能的,甚至是直接的。首先,编写一些原型可能会很有用,也许还可以看看其他集成的实现方式,例如

另外,我认为,这将是一个伟大的n+视频

我更愿意看到理解和使用CSLA的人写的这类文章。我鼓励MvvmCross社区的所有成员贡献自己的博客文章、文章、视频和github示例



对此建议有一个警告:我不知道CSLA是否支持可移植类库——如果不支持,那么你可能需要在你的应用程序中使用文件链接而不是PCL是的,你可以使用多种MVVM框架;我成功地使用了CaliburnMicro和我们自己定制的MVVM。如果你还没有看过Rocky的电子书系列,你肯定应该去看看。其中一个最大的问题是Silverlight中反射的限制,因此WP8和WinRT中也存在反射的限制,因此建议阅读一些关于反射的文章

关于可移植类库,您不能为CSLA业务对象提供这些类库(它们需要比PCLs中更多的东西),因此您必须进行项目链接。通常,在.NET libary w/pre编译器指令中编写完整的类,例如

#if !SILVERLIGHT

关于Silverlight/WP8无法遵守的代码。我确实对一些基本内容使用PCL,如枚举和常量,但对业务类不使用PCL。

Xamarin刚刚发布了一些更新,这意味着最新的具有异步功能的framework 4.5很快就可以实现了