Плюсы и минусы XAML

Содержание:

Язык XAML пользуется определенной популярностью у программистов. Но так ли он хорош на самом деле?

Рассмотрим подробнее его положительные и отрицательные стороны.

Что такое XAML

Специализированный язык разметки применяется для нормальной работы объектов на платформе .NET. XAML представляет собой декларативный язык на основе XML. Во время web-разработки он немного напоминает HTML. Используя XAML, можно писать и делать установку свойств объекта.

Основная сфера применения языка — разработка графического внешнего вида в SilverLight. Помимо SilverLight, язык применяется еще в ряде технологий:

  • WPF;
  • WCF;
  • WF.

В числе применений есть и те технологии, которые вообще не имеют отношения к графическому внешнему виду.

Одно из основных преимуществ XAML — его кросс-платформенность.

Язык XAML применяется и в Xamarin.Forms. Это дает возможность специалисту без проблем создавать интерфейсы для кроссплатформенных приложений в мобильных устройствах. Программист создает UI (user) interface, бесперебойно функционирующий как на Android, так и на iOS.

Плюсы

Рассмотрим главные преимущества языка XAML.

Код отображается так, как и пишется

Для задания положения элементов относительно границ родительских контейнеров используются атрибуты на манер свойств в объектно-ориентированных языках. Подобный синтаксис программистов десктопных и мобильных приложений. Это поможет создать адаптивный интерфейс.

Программисту может понадобиться не более 15 минут на написание небольшой программы с простым дизайном.

Плюсы и минусы XAML

Даже если растянуть интерфейс, то он все равно сохранит свои пропорции. Символы будут читаться нормально, не растянуто.

Плюсы и минусы XAML

Удобно применять такой подход при необходимости вертикального выравнивания. Тот же HTML или CSS не могут реализовать вертикальное выравнивание.

Главное, что такую верстку не нужно адаптировать под разрешения разных устройств и браузеры.

Использование стилей

Язык XAML позволяет использовать разные стили. Как пример, можно задавать атрибуты для списков. Также можно сделать ключ и в нем выборочно указать необходимые части.

Стили имеют функцию наследования. Они позволяют редактировать атрибуты элемента.

Как вариант, делается триггер, который станет включаться при вводе значения.

Можно также написать обработчики событий.

Автономность

XAML не самый необходимый фрагмент программы. Можно обойтись без языка, работая в файле связанного с ним кода на С#.

Например, программисту необходимо написать текст ”Hello World!” в элементе TextBlock. Если делать код на C#, он будет выглядеть следующим образом:

Плюсы и минусы XAML

На XAML он выглядит так:

Плюсы и минусы XAML

Как видно, код намного короче.

Применение XAML в GUI-программах дает возможность отделять графический внешний вид от логики.

Структура языка XAML

Созданный проект WPF стандартно имеет кодировку XAML.

В качестве примера, MainWindow.xaml будет иметь такую разметку:

Плюсы и минусы XAML

В вышеуказанном коде, по аналогии с HTML, имеется элементная иерархия. Элемент верхнего уровня — Window — представляет собой окно программы. Имеются еще 2 компонента верхнего уровня: Page и Application.

Элемент Window обладает незаполненным тегом Grid и, как HTML, имеет атрибуты заголовка, высоты окна и ширины.

Для использования компонентов в XAML необходимо подключить пространство имен. Они представлены 2 и 3 строчками.

Атрибут xmlns нужен, чтобы выявить пространство имен в XML.

Пространство имен:

Плюсы и минусы XAML

Содержит обозначение большей части компонентов контроля.

Пространство имен:

Плюсы и минусы XAML

Делает определение кое-каких особенностей XAML, например Имя и Ключ.

В определении xmlns:x, этот x значит, что особенности имен, находящиеся в этом пространстве, станут идти только со вставкой x.

Это же пространство имен используется тут:

Плюсы и минусы XAML

В этом примере делается класс MainWindow и подходящий ему кодовый файл, где указывается логика для окна.

Использование привязки данных

Можно указать в виде значения имя и свойства объекта. Если пользователь станет менять текст, то произойдет и изменение объекта:

Плюсы и минусы XAML

Можно привязать свойство к другому компоненту:

Плюсы и минусы XAML

Получаем такой результат:

Плюсы и минусы XAML

Минусы

Рассмотрим основные недостатки.

В некоторые тонкости тяжело вникнуть

Как пример возьмем привязку информации. Она помогает сокращать код, избавляя программиста от траты времени на разные нюансы. Есть небольшая проблема в применении привязки. Иногда ее тяжело применить. Часто не ясно, почему вывод функционирует неправильно.

Проблем может присутствовать несколько:

  • неверное указание привязки;
  • не прописан DataContext;
  • идет передача пустого объекта.

Кроме этих проблем, необходимо постоянно имплементировать интерфейс INotifyPropertyChanged и постоянно прописывать код ко всем классам.

Нельзя обойтись полностью без шаблонов

Периодически применение шаблонов — это жесткая потребность.

Бывают ситуации, когда необходимо писать код по определенному шаблону. Даже если мы захотим сделать импровизацию, у нас это не получится.

Подобное не всегда удобно при работе над большим приложением.

Приходится тратить много времени на стили

В этом сложность. Есть ситуации, когда элементу хочется задать несколько стилей, но это не получается, т. к. в XAML задается один стиль.

Средства языка HTML позволяют писать несколько классов, к которым может применяться более одного стиля.

Стиль не может наследовать, когда стоит TargetType

Это доставляет дискомфорт в моменты, когда необходимо задавать свойства всем частям и делать их наследование для дальнейшего использования.

Вопрос — Ответ

Ответим на самые популярные вопросы.

Что будет, если полностью отказаться от шаблонов?

Код просто не будет работать. Шаблоны влияют на работу кода. Невозможно от них полностью отказаться. Есть моменты, где можно отказаться от шаблона, но их не так много.

На XAML можно писать сложные приложения?

Нельзя, XAML прежде всего язык разметки. Сложных приложений на этом языке не напишешь. Например, какую-то сложную игру или программу с тяжелым функционалом уже не сделаешь на этом языке.

Язык полностью кросс-платформенный?

Да. Об этом уже было сказано выше. Язык позволяет работать со всеми современными платформами.

Заключение

Мы разобрали плюсы и минусы языка XAML. Использовать его или нет — решать только вам.

Давайте еще раз вспомним, что мы рассмотрели в статье:

  • что такое язык XAML;
  • плюсы языка;
  • минусы языка;
  • ответили на популярные вопросы.

Узнавайте, делайте выводы и используйте язык XAML на свое усмотрение.

Если вы хотите не только научиться владеть языком XAML, но и в целом глубже освоить программирование, записывайтесь на один из курсов.

Вы научитесь не просто программировать, а работать с кодом любой сложности, сможете задавать процесс программирования.

Занятия будут вести преподаватели, имеющие опыт работы в крупных компаниях. Они научат вас не просто академическому программированию, но и поделятся специальным фишкам, которые помогут ускорить этот процесс.

По окончании обучения вы получите сертификат, удостоверяющий вашу квалификацию. Он котируется на уровне диплома, поэтому у вас не возникнет никаких сложностей с устройством на работу.

Поспешите записаться на курс! Количество мест ограничено.

Присоединяйся к DevEducation — стань востребованным специалистом и построй карьеру в IT!