Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Mvvmcross


Mvvmcross


MVVMCROSS to potężny, opiniowy ramy MVVM (Model-View-ViewModel) zaprojektowane do tworzenia aplikacji międzyplatformowych w ekosystemie .NET. Obsługuje różne platformy, w tym Xamarin.ios, Xamarin.android, Xamarin.forms, Universal Windows Platform (UWP), Windows Presentation Foundation (WPF) i więcej [1] [3] [4]. Oto przegląd jego kluczowych funkcji i sposób, w jaki to działa:

Kluczowe funkcje MVVMCROSS

- Wzór architektury MVVM: MVVMCROSS implementuje wzór MVVM, który oddziela logikę aplikacji na trzy połączone komponenty: model, widok i viewModel [3].
-System nawigacji: Zapewnia solidny system nawigacji, umożliwiający łatwe zarządzanie przejściami ViewModel-to-ViewModel [2] [4].
- Wiązanie danych: MVVMCROSS zawiera konfigurowalny silnik wiązania, umożliwiając programistom tworzenie niestandardowych powiązań dla ich widoków [4].
- Inwersja kontroli (MKOl) i wtrysku zależności: rama wspiera MKOl poprzez wstrzyknięcie zależności, ułatwiając luźne sprzężenie i testowalność [3] [4].
-Wsparcie specyficzne dla platformy: oferuje szerokie wsparcie dla funkcji i funkcji specyficznych dla platformy [3].
- Wtyczki i rozszerzenia: MVVMCROSS zawiera framework wtyczki, który pozwala programistom łatwe zintegrowanie dodatkowych funkcji, takich jak GPS, lokalizacja i inne [4].

Jak działa Mvvmcross

Projekty

Core and UI

Zastosowania MVVMCROSS zazwyczaj składają się z dwóch głównych części:

- Projekt podstawowy: Zawiera logikę biznesową, ViewModels, usługi i modele. Zwykle jest wdrażany jako standardowa biblioteka .NET, aby zapewnić kompatybilność międzyplatformową [2].
- Projekty interfejsu użytkownika: Każda platforma (np. IOS, Android) ma swój własny projekt interfejsu użytkownika, który zawiera kod i widoki specyficzne dla platformy, które oddziałują z podstawowym projektem [2].

Kluczowe obiekty i inicjalizacja

- Klasa aplikacji: Znajduje się w podstawowym projekcie, ta klasa jest odpowiedzialna za rejestrację niestandardowych obiektów w kontenerze IOC i inicjowanie logiki aplikacji [2].
- Obiekt AppStart: Opcjonalnie, ten obiekt określa, który ViewModel zaprezentuje najpierw podczas uruchamiania aplikacji [2].
- Klasa konfiguracji: W każdym projekcie platformy ta klasa inicjuje usługi specyficzne dla platformy MVVMCROSS i rejestruje [2].

Proces inicjalizacji

1. Rozpoczęcie platformy: rozpoczyna się proces uruchamiania natywnej platformy.
2. Konfiguracja MVVMCROSS: Klasa `setup` inicjuje framework w dwóch etapach:` inicjalizePrimary` (wątek główny) i `` iniciteSecondary` (wątek tła) [2].
3. Inicjalizacja aplikacji: klasa „app” jest inicjowana i zapewnia obiekt „appStart” do zarządzania pierwszym etapem nawigacji [2].

Pierwsze kroki z Mvvmcross

Aby rozpocząć nowy projekt MVVMCROSS, programiści mogą używać szablonów takich jak MVXSCOffolding. Framework jest dostępny za pośrednictwem pakietów Nuget, które powinny być zainstalowane zarówno w projektach podstawowych, jak i platformowych [3] [4]. Aby uzyskać szczegółowe przewodniki i dokumentację, oficjalna strona internetowa MVVMCross i repozytorium GitHub są doskonałymi zasobami [1] [4].

Cytaty:
[1] https://www.mvvmcross.com
[2] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-overview
[3] https://www.mvvmcross.com/documentation/getting-started/getting-started
[4] https://github.com/mvvmcross/mvvmcross
[5] https://www.mvvmcross.com/blog/
[6] https://github.com/mvvmcross
[7] https://x.com/mvvmcross?lang=en
[8] https://www.nuget.org/profiles/mvvmcross