Как-то совершенно незаслуженно забыта платформа Xamarin 2.0, и мне хотелось бы начать описывать все ее замечательные свойства.
Прежде всего, что такое Xamarin?
Xamarin — это коммерческий продукт, основанный на проекте Mono с открытым исходным кодом, который позволяет использовать платформу .Net, включая язык C#, для кроссплатформенной разработки.
Основные свойства:
- C# для написания приложений для Android, iOS и Windows8. Поддержка LINQ и асинхронности/задач
- Native UI, Native Peformance — код компилируется под конкретную платформу и использует собственные элементы управления пользовательского интерфейса.
- Visual Studio и все ее плагины, включая ReSharper, тестирование NUnit.
- Xamarin Studio, похожая на Visual Studio, но также доступная для Mac.
- Использование .
Net-библиотек
- Использование других готовых нативных компонентов, завернутых в C#.
- Графический редактор для Android
МввмКросс В этом примере я буду использовать модель MVVM, для тех кто с ней не знаком, вот короткая цитата из Википедии: Шаблон Модель-Представление-ViewModel
Шаблон MVVM разделен на три части: Модель, как и в классическом MVC, Модель представляет фундаментальные данные, необходимые для работы приложения.Для кроссплатформенной реализации этого шаблона лучшей библиотекой (с открытым исходным кодом) является MvvmCross. Его разработчик прекрасно его поддерживает и практически мгновенно отвечает на любой вопрос.Представление/View — это графический интерфейс, то есть окно, кнопки и т. д. Представление — это подписчик на событие изменения значений свойств или команд, предоставляемых моделью представления.
Если в модели представления изменилось какое-либо свойство, она уведомляет об этом всех подписчиков, а представление, в свою очередь, запрашивает обновленное значение свойства из модели представления.
Если пользователь действует на какой-либо элемент интерфейса, представление вызывает соответствующую команду, предоставляемую моделью представления.
Модель Представления (ViewModel, что означает «Модель Представления» [1]) является, с одной стороны, абстракцией Представления, а с другой стороны, предоставляет обертку для данных из Модели, подлежащих привязке.
.
То есть он содержит Модель, преобразованную в Представление, а также содержит команды, которые Представление может использовать для воздействия на Модель.
Давайте начнем В качестве примера мы создадим простое приложение для подсчета чаевых.
В зависимости от нашей щедрости и суммы счета она рассчитает сумму чаевых, которую мы хотим оставить.
Монтаж Прежде всего нам необходимо зарегистрировать и установить Xamarin Studio. Сам шаг довольно простой, никаких проблем я не заметил.
Java, ADT, плагин для библиотек Visual Studio и Mono будут установлены автоматически.
Создание проекта Практически любое приложение будет содержать несколько проектов.
- Одним из них будет «ядро», которое будет кроссплатформенным и будет содержать как можно больше кода: модели просмотра, связь с сервером, протоколы, объекты дат и т.д.
- Проект пользовательского интерфейса для каждой платформы.
Этот код нельзя использовать совместно, поскольку он использует компоненты, специфичные для платформы.
Хочу отметить, что на данный момент поддерживается только версия .
Net 4.0, но это должно измениться буквально в этом месяце.
Изображений
Удали Class1.cs, он никому не нужен
Добавьте библиотеку MvvmCross через NuGet. Например, мы выберем стартовый пакет Hot Tuna, включающий в себя несколько стартовых файлов.
Важно убедиться, что установлена последняя версия диспетчера пакетов NuGet, не ниже 2.5. Картина
После успешной установки мы увидим два новых файла: App.cs, который содержит первоначальную инициализацию MvvmCross, и файл FirstViewModel.cs в папке ViewModels. С точки зрения правильного программирования мне следует переименовать имя класса FirstViewModel в TipViewModel, но для упрощения примера оставим его таким.
Класс FirstViewModel наследует от MvxViewModel, это класс библиотеки MvvmCross и позволяет нам дополнительно отправлять сообщения пользовательского интерфейса при изменении данных.
Этот класс реализует INotifyPropertyChanged, а его аналогом в WPF является BaseViewModel. Добавим в этот класс 3 свойства: SubTotal (сумма счета), Generosity (щедрость) и Tip (чаевые, которые мы оставим).
И перерасчет чаевых в зависимости от них: Весь код класса
Теги: #xamarin #mvvmcross #mvvm #pcl #pcl #C++ #кроссплатформенность #Android #.using Cirrious.MvvmCross.ViewModels; namespace TipCalc.Core.ViewModels { public class FirstViewModel
NET #Разработка мобильных приложений #xamarin
-
Преимущества Услуг Сканирования Чертежей
19 Oct, 24 -
Приходите И Забирайте Прототипы Книг!
19 Oct, 24