MVVMCROSS ist ein beliebtes Rahmen für die plattformübergreifende mobile Entwicklung mit Xamarin, mit der Entwickler das MVVM-Muster auf Android, iOS und andere Plattformen auf nutzen können. Trotz seiner Vorteile gibt es jedoch mehrere Nachteile zu berücksichtigen, wenn MVVMCross für Android- und iOS -Anwendungen verwendet wird:
1. Komplexität und Lernkurve: Mvvmcross ist ein großer Rahmen, der Zeit erfordert, um vollständig zu greifen. Neue Entwickler sind es möglicherweise schwierig, seine Grundlagen zu verstehen, z. B. wie der Datenkontext zwischen Komponenten übertragen wird [1]. Diese Komplexität kann im Vergleich zu einfacheren Frameworks zu einer steileren Lernkurve führen.
2. Leistungsprobleme: Einige Benutzer haben Leistungsprobleme wie langsame Startzeiten und Verzögerungen in ListView -Bindungen gemeldet. Diese Probleme können MVVMCross, Xamarin oder der Android -Plattform selbst zugeordnet werden, was es schwierig macht, die genaue Ursache ohne Leistungsprofiler zu bestimmen [1].
3. Fehlermeldungen und Debuggen: Die Fehlermeldungen des Frameworks könnten informativer sein. Anstatt nur Fehler zu melden, könnten sie potenzielle Lösungen vorschlagen, die bei einer schnelleren Debugging und Entwicklung helfen würden [1].
4.. Wiederverwendbarkeit und Testbarkeit: Während MVVMCross darauf abzielt, die Testbarkeit zu verbessern, indem die Geschäftslogik von der Sicht getrennt wird, können in der Praxis die Ansichtsmodelle aufgebläht und schwer zu testen. Dies gilt insbesondere dann, wenn sie mehrere Verantwortlichkeiten übernehmen und den internen Zustand aufrechterhalten, wodurch es schwierig ist, Methoden unabhängig zu testen [2]. Darüber hinaus werden Ansichtsmodelle aufgrund ihrer spezifischen Implementierungen häufig nicht regelbar über verschiedene Ansichtsregler [2].
5. Plattformspezifische Herausforderungen: Auf Android können Fragmentierung und Java-Stack zusätzliche Herausforderungen stellen. Beispielsweise kann die Verwendung von Intel Android X86 -Bildern in Emulatoren zu Macken wie übermäßiger Protokollierung oder Netzwerkproblemen führen [1]. Auf iOS kann der Mangel an eingebauten Bindungen die MVVM-Implementierung komplizieren, was zu übermäßigen Abhängigkeiten von Ansichtcontrollern oder Ansichtsmodellen für Aufgaben führt, die sie nicht erledigen sollten [2].
6. Veraltete Dokumentation und Tutorials: Es gab Bedenken hinsichtlich veralteter Tutorials und Dokumentation für MVVMCross. Dies kann es neuen Entwicklern erschweren, zu beginnen oder mit Änderungen im Rahmen Schritt zu halten [5].
7. Langlebigkeit und Unterstützung: Fragen zur Reife und Langlebigkeit des Rahmens wurden aufgeworfen, insbesondere im Zusammenhang mit sich schnell entwickelnden mobilen Technologien. Dies kann sich auf Entscheidungen auswirken, ob MVVMCross für kommerzielle Projekte verwendet werden soll [5].
Während MVVMCross in der plattformübergreifenden Entwicklung erhebliche Vorteile bietet, erfordern seine Komplexität, Leistungsprobleme und plattformspezifische Herausforderungen bei der Entscheidung, ob sie für Android- und iOS-Anwendungen verwendet werden sollen, sorgfältig.
Zitate:[1] https://blog.r
[2] https://www.danielhall.io/the-problems-with-mvm-on-ios
[3] https://www.mvmcross.com/documentation/upgrade/upgrade-to-mvmcross-60
[4] https://learn.microsoft.com/en-us/archive/msdn-magazine/2014/august/windows-phone-build-mvm-apps-apps-with-xamarin-and-mvmcross
[5] https://xamarin21.rsssing.com/chan-23562832/article1771.html
[6] https://stackoverflow.com/questions/16301045/mvvmcross-v3-is-that-rong-to-try-to-use-behaviours-andboard-in-a-mu
[7] https://www.reddit.com/r/dotnet/comments/1cqqika/worth_converting_net_androidios_to_maui/
[8] https://mentormate.com/blog/6-reasons-mvmcrossspeeds-xamarin-development-personizes-ux/
[9] https://stackoverflow.com/questions/26108486/should-i-use-mvmcross-for-xamarin-formies-windows-store-app