fbpx

Каталог статей

Каталог статей для размещения статей информационного характера

Как выучить

Серж Десмедт

Стоит ли мне изучать XAML?

Я наконец-то скачал бета-версию WinFX и был весьма взволнован тем, что начал экспериментировать с ним. Я действительно хотел испачкать руки в XAML.

Должен сказать, что сначала я был немного разочарован. Позвольте мне объяснить.

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

Но тогда зачем нам нужен XAML? Как дизайнеру интерфейсов, мне все равно, что производит мой инструментарий, будь то простой код или какой-то синтаксис XML.

Но если подумать, я понимаю, почему разработчики инструментов будут в восторге. Если разработчик инструмента генерирует код (например, C#), который при компиляции создает мой тщательно продуманный интерфейс, то компоновка этого кода полностью принадлежит разработчику инструмента. Если у меня, как у пользователя, есть другой инструмент от другого разработчика, то этот код не является прозрачным для первого инструмента. Посмотрите на код, вставленный дизайнером форм Visual Studio, и вы поймете, что я имею в виду. Как сгруппирован код? Объявил ли разработчик инструмента сначала все переменные, затем построил объекты, а затем назначил все свойства, ИЛИ он объявил, построил и настроил каждый элемент управления последовательно.

Сначала сконструируйте переменные, а затем назначьте свойства:

Построить и назначить каждый элемент управления

Разбирает ли инструментальный разработчик код разумно, или он использует комментарии, чтобы найти свой код, и с этого момента разбирает код, используя свои знания о том, как он построил код в первую очередь (см. код, сгенерированный мастерами MFC). Потому что если другой разработчик инструмента изменит его код (потому что этот разработчик интеллектуально разбирает код), он не сможет правильно разобрать этот код.

С XAML таких проблем нет:

XAML определяет (упрощение !!) элементы управления как узлы XML, а свойства как атрибуты. Никаких переменных не нужно. Все в одном месте. Если разработчик инструмента хочет изменить какой-то атрибут элемента управления, XMLSchema и XPath определяют, как его искать, а XAML определяет значения, которые можно применить. Это ограничивает выбор для разработчика инструмента, делая вещи более совместимыми между разработчиками инструментов. И в конечном итоге это приносит пользу дизайнеру пользовательского интерфейса, поскольку у него появляется больший выбор инструментов для использования.

Именно поэтому я считаю критику Microsoft по поводу того, что она не использует CSS для форматирования, несостоятельной. С CSS вы получаете целый раздел в XML, который является текстом и нуждается в повторном разборе. Никакой навигации к нему с помощью XPath.

И тут возникает вышеупомянутый вопрос: стоит ли мне изучать XAML?

Большинство людей, вероятно, никогда не будут использовать чистый XAML, но тогда, конечно, знать, что делает ваш инструментарий, всегда интересно в процессе отладки… Я полагаю, это то, что отличает “мужчин от мальчиков”.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *