MVVMCross-це потужна, впевнена, MVVM (модель-View-ViewModel), розроблена для розробки міжплатформної програми в екосистемі .NET. Він підтримує різні платформи, включаючи xamarin.ios, xamarin.android, xamarin.forms, Universal Windows Platform (UWP), Presentation Foundation Windows (WPF) та багато іншого [1] [3] [4]. Ось огляд його ключових особливостей та того, як він працює:
Основні особливості MVVMcross
- Шаблон архітектури MVVM: MVVMCross реалізує шаблон MVVM, яка розділяє логіку програми на три взаємопов'язані компоненти: модель, перегляд та ViewModel [3].
-Навігаційна система: вона забезпечує надійну навігаційну систему, що дозволяє легко керувати переходами ViewModel-to-ViewModel [2] [4].
- Зв'язування даних: MVVMCross включає налаштований двигун прив'язки, що дозволяє розробникам створювати власні прив’язки для своїх поглядів [4].
- Інверсія контролю (МОК) та ін'єкція залежності: Рамка підтримує МОК за допомогою ін'єкції залежності, полегшення пухкого з'єднання та перевірки [3] [4].
-Підтримка специфічної для платформи: вона пропонує широку підтримку функцій та функціональних можливостей, специфічних для платформи [3].
- Плагіни та розширення: MVVMCross включає плагінову рамку, яка дозволяє розробникам легко інтегрувати додаткові функціональні можливості, такі як GPS, локалізація та інше [4].
Як працює mvvmcross
основних та інтерфейсних проектів
Програми MVVMcross зазвичай складаються з двох основних частин:
- Основний проект: Він містить ділову логіку, ViewModels, Services та моделі. Зазвичай він реалізується як стандартна бібліотека .NET для забезпечення сумісності міжплатформування [2].
- Проекти інтерфейсу: кожна платформа (наприклад, iOS, Android) має власний проект інтерфейсу, який включає конкретний код платформи та перегляди, що взаємодіють з основним проектом [2].
Ключові об'єкти та ініціалізація
- Клас додатків: Розташований у основному проекті, цей клас відповідає за реєстрацію власних об'єктів за допомогою контейнера МОК та ініціалізації логіки програми [2].
- Об'єкт AppStart: Необов’язково цей об'єкт визначає, який ViewModel представити спочатку під час запуску програми [2].
- Клас налаштування: Знайдено в кожному проекті платформи, цей клас ініціалізує MVVMCross та реєструє специфічні послуги платформи [2].
Процес ініціалізації
1. Запуск платформи: починається процес запуску рідної платформи.
2. Налаштування MVVMcross: Клас `Setup` ініціалізує рамку за два кроки:` itivizeprimary` (основна потік) та `itivizeEcondary` (фоновий потік) [2].
3. Ініціалізація додатків: клас `App` ініціалізований, і він забезпечує об'єкт` appstart` для управління першим кроком навігації [2].
Початок роботи з mvvmcross
Щоб розпочати новий проект MVVMCross, розробники можуть використовувати шаблони, такі як MVXScaffolding. Рамка доступна через пакети Nuget, які повинні бути встановлені як в основних, так і в платформі проектів [3] [4]. Для детальних посібників та документації офіційний веб -сайт MVVMcross та сховище Github - відмінні ресурси [1] [4].
Цитати:[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