В помощь мобильному разработчику

Использование FreshMvvm для новичков в Xamarin.Forms

Александр Алексеев

На этой неделе у меня выдалось некоторое свободное время, и я посвятил его изучению FreshMvvm. Его создателем является Майкл Ридланд из Xam Consulting.

FreshMvvm — это Mvvm-фреймворк, который специально разработан для Xamarin.Forms. Он использует существующие возможности, обеспечиваемые Xamarin.Forms, и только добавляет некоторые вещи, которых XF недостаёт. Вот лишь несколько возможностей, которые этот фреймворк предоставляет: навигация pagemodel — pagemodel, автоматическое монтирование привязки контекста и так же автоматическое монтирование событий страниц.

Давайте ознакомимся с кратким руководством по использованию этого mvvm-фреймворка.

  1. Сначала нам нужно создать пустое XAML-приложение Xamarin.Forms под названием FreshMvvmCRM

new-freshmvvm-crm-project

  1. Далее, мы должны добавить в наше решение Nuget-пакет FreshMvvm. Я уже написал статью о проблемах, с которыми я столкнулся при добавлении пакета.

adding-freshmvvm-nuget-package

  1. Теперь нам нужно установить нужную папку, чтобы FreshMvvm начал выполнять свою работу. Создайте в PCL-проекте папки следующего вида: Models, PageModels, Pages.

create-the-freshmvvm-folders

  1. Чтобы уменьшить количество кода, мы будем использовать с нашей Contact-моделью Fody PropertyChange Nuget. Удалять код можно путём установки INotifyPropertyChange в обновлениях свойства.

fody-nuget-package

  1. Теперь нам нужно создать Contact.cs в папке Models. Ниже приводится код для этого класса.

 

  1. Далее, нам нужно создать ContactListPageModel в папке PageModels. Ниже приведен код для файла. Он будет являться  viewmodel для нашего ContactListPage. FreshMvvm использует конвенцию для автоматизации datacontext между viewmodel и view.

 

  1. Следующим шагом нам следует создать PageModel в папке PageModels. Нише приводится код для файла. Этот код будет использоваться для XAML-страницы ContactPage, которую ContactListPageModel проталкивает в стек переходов, когда контакт становится выбранным для списка.

 

  1. Итак, переходим к созданию страниц. Сперва нам нужно создать новую страницу Xamarin.Forms под названием ContactListPage. И снова FreshMvvm автоматизирует контекст привязки данных между viewmodel и view. Так что не существует никакого кода или XAML для определения привязки datacontext.

 

  1. Теперь нам нужно создать ContactPage. Ниже приводится код для XAML-страницы Xamarin.Forms.

 

  1. Теперь требуется обновить App.xaml.cs, чтобы установить Mainpage для нашего приложения. Ниже приводится код для файла. И здесь опять FreshMvvm творит чудеса, разрешая view загружаться из контекста viewmodel. Далее, мы используем функции навигации фреймворка, чтобы управлять нашей страницей навигации с помощью FreshNavigationContainer.

 

  1. Нажимаем F5 для компиляции и запуска приложения. Как видите, FreshMvvm помогает сокращать излишний код, который разработчики, работающие с Xamarin, зачастую вынуждены напрасно вводить при создании своего мобильного приложения.

freshmvvm-in-action

 

 

Автор: Tom Walker
Источник: Статья в блоге автора

Александр Алексеев
Александр Алексеев

Xamarin - разработчик. Работаю с .NET платформой с 2012 года, программирую в основном с использованием C#. За это время успел поработать с ASP.NET, Entity Framework, MSSQL, Git

Написать ответ