Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Was sind die wichtigsten Unterschiede zwischen der Verwendung von mvvmcross mit xamarin.formen und xamarin nativ


Was sind die wichtigsten Unterschiede zwischen der Verwendung von mvvmcross mit xamarin.formen und xamarin nativ


Beim Vergleich der Verwendung von MVVMCross mit Xamarin.Forms und Xamarin Native tauchen mehrere wichtige Unterschiede auf, hauptsächlich in Bezug auf die UI -Flexibilität, den Code -Sharing und den Entwicklungsansatz.

UI -Flexibilität und Kontrolle

. Diese gemeinsam genutzte Benutzeroberfläche kann die Anpassung jedoch auf plattformspezifische Funktionen beschränken und benutzerdefinierte Renderer für fortgeschrittenere UI-Elemente erfordern [7] [9]. MVVMCross kann mit Xamarin.Forms verwendet werden, um die Geschäftslogik und die Navigation zu verwalten, aber die Benutzeroberfläche bleibt über Plattformen hinweg standardisiert [1] [10].

- Xamarin nativ: Wenn Sie mit MVVMCROSS mit Xamarin nativem Geborene verwendet werden, haben Sie für jede Plattform die vollständige Kontrolle über die Benutzeroberfläche. Dies ermöglicht plattformspezifische UI-Implementierungen und maximiert das native Erscheinungsbild jeder Plattform. Während dieser Ansatz mehr Anstrengungen erfordert, um separate UI -Ebenen für iOS und Android zu entwickeln, bietet er eine größere Flexibilität und Anpassung [7] [9].

Code Sharing und Wiederverwendung

. Dies vereinfacht die Entwicklung und verringert die Menge an Code, die Sie für die Wartung benötigen. Die Benutzeroberfläche ist jedoch auf eine gemeinsame Reihe von Elementen beschränkt, die auf allen Plattformen funktionieren [4] [10].

- Xamarin nativ: In einem nativen Xamarin -Setup mit mvvmcross können Sie die Geschäftslogik (ViewModels) über Plattformen teilen, müssen die Benutzeroberfläche jedoch für jede Plattform separat implementieren. Dieser Ansatz ermöglicht eine mehr Code-Wiederverwendung in der Präsentationsschicht und der UI-Logik bei der Verwendung von MVVMCross, erfordert jedoch dennoch eine plattformspezifische UI-Entwicklung [9].

Entwicklungsansatz

. Der Rahmen behandelt einen Großteil der zugrunde liegenden Komplexität und ermöglicht es Entwicklern, sich auf gemeinsame Logik und UI zu konzentrieren [4] [10].

-Xamarin native: Native Xamarin-Entwicklung mit mvvmcross wird in der Regel von Entwicklern bevorzugt, die eine feinkörnige Kontrolle über die Benutzeroberfläche wünschen und sich mit plattformspezifischer Entwicklung wohl fühlen. Dieser Ansatz erfordert mehr Fachwissen in der Entwicklung des nativen iOS und in der Android -Entwicklung, bietet jedoch eine größere Flexibilität bei der Konstruktion und Implementierung von UI [7] [9].

Navigation und Bindung

- Xamarin.Forms mit mvvmcross: Die Navigation in Xamarin.Forms mit mvvmcross wird auf ViewModel -Ebene verwaltet, die eine saubere Trennung von Bedenken ermöglichen. Mvvmcross bietet verbesserte Bindungsfähigkeiten wie Fallback -Werte, obwohl es einige Funktionen wie die Quelleigenschaft in Standard -Xamarin -Bindungen fehlen [2] [10].

- Mit MVVMCross geborenem Xamarin: In nativen Xamarin -Projekten verarbeitet MVVMCROSS Navigation und View/ViewModel -Paarung, die eine konsistente MVVM -Architektur über Plattformen hinweg ermöglichen. Mit diesem Setup können Entwickler plattformspezifische Navigationsmuster nutzen und gleichzeitig eine gemeinsame Geschäftslogikschicht beibehalten [3] [9].

Zusammenfassend können beide Ansätze MVVMCross für die MVVM-Architektur nutzen, Xamarin.Forms bietet eine gemeinsame UI-Schicht mit weniger Kontrolle über plattformspezifische UI-Funktionen, während Xamarin Native die vollständige Kontrolle über UI-Anpassungen bietet, jedoch mehr Entwicklungsaufwand für separate UI-Implementierungen erfordert.

Zitate:
[1] https://www.mvvmcross.com/documentation/platform/xamarin.forms/xamarin-forms
[2] https://www.xamarinhelp.com/use-xamarin-forms-forms-mvm-framework/
[3] https://canbilgin.wordpress.com/tag/mvmcross/
[4] https://www.mvmcross.com/documentation/getting-started/getting-started
[5] https://www.reddit.com/r/androiddev/comments/what_are_the_disadvantages_of_xamarin_for_android/
[6] https://canbilgin.wordpress.com/2017/03/26/xamarin-forms-anapplication-with-mvmcross/
[7] https://stackoverflow.com/questions/38450264/xamarin-forms-vs-xamarin-mvmcross
[8] https://mentormate.com/blog/6-reasons-mvmcrossspeeds-xamarin-development-personizes-ux/
[9] https://www.suneco.nl/blogs/boost-your-xamarin-native-projects-with-mvmcross/
[10] https://visualstudiomagazine.com/articles/2018/05/08/build-a-xamarin.forms-application.aspx