MVVMCROSS to potężna platforma MVVM, która poprawia natywne projekty Xamarin, umożliwiając dzielenie warstw prezentacji i logiki interfejsu użytkownika na różnych platformach. Oto kilka typowych przypadków użycia dla MVVMCROSS w Xamarin Native Projects:
1. Ponowne użycie kodu międzyplatformowego **
MVVMCROSS umożliwia programistom zmaksymalizowanie ponownego użycia kodu poprzez umieszczenie ViewModels i Logic Business w przenośnej bibliotece klas (PCL). Do tego PCL można odwoływać do wielu projektów specyficznych dla platformy, takich jak Xamarin.android i Xamarin.ios, zapewniając, że podstawowa logika pozostaje spójna, podczas gdy interfejs użytkownika można dostosować dla każdej platformy [1] [2].2. Implementacja wzorca MVVM **
MVVMCROSS ułatwia wdrożenie wzoru modelu-View-ViewModel (MVVM), co jest korzystne dla zachowania wyraźnego rozdziału obaw między interfejsem użytkownika a logiką biznesową. Ten wzorzec pomaga w tworzeniu luźno sprzężonych aplikacji, ułatwiając je testować i utrzymywać [3] [5].3. Wiązanie danych i nawigacja **
MVVMCROSS zapewnia solidne możliwości wiązania danych, umożliwiając bezproblemowe wiązanie widoków. Ta funkcja obsługuje różne tryby wiązania i konwerterów, zwiększając elastyczność interfejsu użytkownika aplikacji. Ponadto MVVMCross zawiera system nawigacji, który upraszcza przemieszczanie się między różnymi widokami w aplikacji [2] [5].4. Wtrysk zależności i wtyczki **
MVVMCROSS oferuje kontener wtrysku zależności (DI), który umożliwia programistom rejestrację i rozwiązywanie usług specyficznych dla platformy z PCL. Ta funkcja ma kluczowe znaczenie dla integracji funkcji specyficznych dla platformy bez powielania kodu. Ponadto MVVMCROSS obsługuje szeroki zakres wtyczek dla typowych funkcji, takich jak operacje bazy danych, łączność sieciowa i wiele innych, które można łatwo zintegrować z projektami za pośrednictwem pakietów Nuget [1] [3].5. Dostosowywanie interfejsu użytkownika specyficznego dla platformy **
Podczas gdy Xamarin.Forms ogranicza dostosowywanie interfejsu użytkownika między platformami, MVVMCROSS z Xamarin Native pozwala programistom tworzyć interfejs użytkownika specyficznego dla platformy. Jest to szczególnie przydatne, gdy aplikacja wymaga natywnego wyglądu na każdej platformie. MVVMCROSS zapewnia, że pomimo różnych implementacji interfejsu użytkownika, podstawowa logika biznesowa pozostaje wspólna i spójna [1] [4].6. Testowanie jednostkowe i wydajność rozwoju **
Oddzielając logikę biznesową na PCL, MVVMCROSS ułatwia pisanie testów jednostkowych dla podstawowej logiki aplikacji. Ta separacja przyspiesza również rozwój, ponieważ zmiany w logice biznesowej nie wymagają modyfikacji kodu interfejsu użytkownika specyficznego dla platformy [5].Podsumowując, MVVMCROSS jest wszechstronnym narzędziem do natywnych projektów Xamarin, oferującego ustrukturyzowane podejście do rozwoju międzyplatformowych przy jednoczesnym zachowaniu elastyczności dostosowywania interfejsu użytkownika dla każdej platformy. Jego cechy, takie jak obsługa wzorca MVVM, wiązanie danych, wtrysk zależności i obszerny ekosystem wtyczek, sprawiają, że jest to idealny wybór do złożonych aplikacji międzyplatformowych.
Cytaty:[1] https://www.suneco.nl/blogs/boost-your-xamarin-nation-projects-with-mvvmcross/
[2] https://learn.microsoft.com/en-us/archive/msdn-magazine/2014/august/windows-phone-build-mvvm-apps-with-xamarin-and-mvvmcross
[3] https://dev.to/christian1006/creating-cross-platform-xamarin-applications-using-the-mvvmcross-framework-2920
[4] https://canbilgin.wordpress.com/tag/mvvmcross/
[5] https://www.mvvmcross.com/documentation/getting-started/getting-started
[6] https://www.mvvmcross.com/documentation/tutorials/tipcalc/a-xamarin-porms-version
[7] https://stackoverflow.com/questions/32220007/what-does-mvvmcross-do-that-xamarin-doesnt-already
[8] https://stackoverflow.com/questions/38450264/xamarin-porms-vs-xamarin-mvvmcross