MVVMCross是使用Xamarin跨平台移动开发的流行框架,使开发人员能够利用Android,iOS和其他平台的MVVM模式。但是,尽管有其好处,但在使用MVVMCross进行Android和iOS应用程序时仍有几个缺点:
1。复杂性和学习曲线:MVVMCROSS是一个大型框架,需要时间才能完全掌握。新开发人员可能会发现了解其基本原理,例如如何在组件之间传输数据上下文[1]。与更简单的框架相比,这种复杂性可以导致学习曲线更陡峭。
2。绩效问题:一些用户报告了性能问题,例如启动时间缓慢和listView绑定中的延迟。这些问题可以归因于MVVMCROSS,XAMARIN或ANDROID平台本身,因此很难在没有绩效剖面的情况下查明确切原因[1]。
3.错误消息和调试:框架的错误消息可能更有信息。他们不仅可以报告错误,还可以提出潜在的解决方案,这将有助于更快的调试和开发[1]。
4。可重复性和可检验性:虽然MVVMCross旨在通过将业务逻辑与视图分开,但实际上,视图模型可能会变成肿,难以测试。如果他们处理多个责任并保持内部状态,这尤其如此,这使得很难独立测试方法[2]。此外,由于其特定的实现,视图模型通常在不同的视图控制器上变得不可解决[2]。
5。特定于平台的挑战:关于Android,分裂和Java堆栈可能会带来其他挑战。例如,在模拟器中使用Intel Android X86图像可能会导致怪癖,例如过度记录或网络问题[1]。在iOS上,缺乏内置绑定会使MVVM实现复杂化,从而使视图控制器过度依赖他们不应处理的任务[2]。
6。过时的文档和教程:对MVVMCROSS的过时教程和文档一直担心。这可能使新开发人员很难开始或跟上框架的更改[5]。
7.长寿和支持:有关该框架的成熟度和寿命的问题已经提高,尤其是在快速发展的移动技术的背景下。这可能会影响是否将MVVMCross用于商业项目的决定[5]。
总体而言,尽管MVVMCross在跨平台开发方面具有很大的优势,但在决定是否将其用于Android和iOS应用程序时,其复杂性,性能问题和特定于平台的挑战需要仔细考虑。
引用:[1] https://blog.rthand.com/a-week-of-rimpressions-of-of-of-of-developing-android-using-using-xamarin-mvvmcross/
[2] https://www.danielhall.io/the-problems-with-mvvm-on-ios
[3] https://www.mvvmcross.com/documentation/upgrading/upgrade-to-mvvmcross-60
[4] https://learn.microsoft.com/en-us/archive/msdn-magazine/2014/august/windows-phote-phote-build-mvvm-mvvm-apps-with-xamarin-and-mvvmcross
[5] https://xamarin21.rssing.com/chan-23562832/article1771.html
[6] https://stackoverflow.com/questions/16301045/mvvmcross-v3-is-is-th-to-to-to-to-to-to-to-to-to-behaviours-behaviours and-behaviours-and-storyboard-in-a-mu
[7] https://www.reddit.com/r/dotnet/comments/1cqqqika/worth_converting_net_net_androidios_to_maui/
[8] https://mentormate.com/blog/6-reasons-mvvmcross-speeds-peeds-xamarin-development-plevelopment-personalizes-ux/
[9] https://stackoverflow.com/questions/26108486/should-i-i-i-i-i-i-i-i-is-mvvmcross-for-xamarin-forms-forms-and-windows-store-pore-app