Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Каковы некоторые общие варианты использования для MVVMcross в местных проектах Xamarin


Каковы некоторые общие варианты использования для MVVMcross в местных проектах Xamarin


MVVMcross-это мощная кроссплатформенная структура MVVM, которая улучшает нативные проекты Xamarin, позволяя обмену уровнями презентаций и логикой пользовательского интерфейса на разных платформах. Вот некоторые общие варианты использования для MVVMcross в местных проектах Xamarin:

1. Повторное повторное использование кода **

MVVMcross позволяет разработчикам максимизировать повторное использование кода, размещая ViewModels и бизнес -логику в портативную библиотеку классов (PCL). На этот PCL можно ссылаться на многочисленные проекты, специфичные для платформы, такие как Xamarin.android и Xamarin.ios, гарантируя, что основная логика остается последовательной, в то время как пользовательский интерфейс может быть настроен для каждой платформы [1] [2].

2. Реализация шаблона MVVM **

MVVMcross облегчает реализацию модели View-ViewModel (MVVM), что полезно для поддержания четкого разделения проблем между пользовательским интерфейсом и бизнес-логикой. Этот шаблон помогает в создании слабо связанных приложений, что облегчает их тестирование и поддержание [3] [5].

3. Привязка и навигация данных **

MVVMcross предоставляет надежные возможности для привязки данных, позволяя беспрепятственно привязывать представления с ViewModels. Эта функция поддерживает различные режимы привязки и преобразователи, повышая гибкость пользовательского интерфейса приложения. Кроме того, MVVMcross включает в себя навигационную систему, которая упрощает движение между различными представлениями в приложении [2] [5].

4. Инъекция зависимости и плагины **

MVVMcross предлагает контейнер впрыска (DI) в зависимости (DI), который позволяет разработчикам регистрировать и разрешать услуги, специфичные для платформы от PCL. Эта функция имеет решающее значение для интеграции специфических для платформы функциональных возможностей без дублирования кода. Кроме того, MVVMcross поддерживает широкий спектр плагинов для общих функций, таких как операции базы данных, сетевое подключение и многое другое, которые могут быть легко интегрированы в проекты через пакеты Nuget [1] [3].

5. Настройка пользовательского интерфейса, специфичная для платформы **

В то время как Xamarin.forms ограничивает настройку пользовательского интерфейса по платформам, MVVMcross с Native Xamarin позволяет разработчикам создавать специфические для платформы UIS. Это особенно полезно, когда приложение требует нативного внешнего вида на каждой платформе. MVVMcross гарантирует, что, несмотря на различные реализации пользовательского интерфейса, основная бизнес -логика остается общей и последовательной [1] [4].

6. ЕДИНЦИОННЫЕ ТЕСТИЧЕСКИЕ И Эффективность разработки **

Разделяя бизнес -логику на PCL, MVVMcross облегчает запись модульных тестов для основной логики приложения. Это разделение также ускоряет разработку, поскольку изменения в бизнес-логике не требуют модификаций кода пользовательского интерфейса, специфичной для платформы [5].

Таким образом, MVVMcross является универсальным инструментом для нативных проектов Xamarin, предлагая структурированный подход к кроссплатформенным разработке при сохранении гибкости для настройки пользовательских интерфейсов для каждой платформы. Его функции, такие как поддержка паттернов MVVM, связывание данных, инъекция зависимости и обширная экосистема плагина, делают его идеальным выбором для сложных кроссплатформенных приложений.

Цитаты:
[1] https://www.suneco.nl/blogs/boost-your-xamarin-native-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-forms-version
[7] https://stackoverflow.com/questions/32220007/what-does-mvvmcross-do-that-xamarin-dosnt-already
[8] https://stackoverflow.com/questions/38450264/xamarin-forms-vs-xamarin-mvvmcross