XAML - язык разметки приложений

Preview:

DESCRIPTION

Видео со встречи: http://getdev.net/Event/xaml Доклад посвящен XAML — основанному на XML языку разметки для декларативного программирования приложений. Он является основой технологий WPF и Silverlight, a также используется в WinRT.

Citation preview

XAMLязык разметки приложений

СЕРГЕЙ ЗВЯГИНСПЕЦИАЛЬНО ДЛЯ GetDev.NET

ИСТОРИЯ

Впервые публично были показаны альфа-сборки Windows Codename LonghornDesktop Composition Engine (теперь DWM) демонстрировал различные эффекты: прозрачность, летающие окна, масштабирование

WinHEC 2003

WinHEC 2003

Windows Codename Longhorn была представлена для разработчиковНовые подсистемы Windows: Avalon (теперь WPF), Indigo (теперь WCF), WinFS

PDC 2003

PDC 2003

Нотификации

Windows Codename Longhorn Windows 8

Avalon – графическая подсистема WindowsПроводник, панель задач, сайдбар и нотификации также являются частью этой подсистемы

Avalon

Avalon состоит из 3 компонентов:The "Avalon" EngineThe "Avalon" FrameworkXAML

Avalon

Avalon построен на DirectXВекторная графика легко масштабируется без участия разработчика и пользователяAvalon использует аппаратное ускорение, если видеокарта это позволяет

Avalon Engine

Элементы управления можно создавать с нуляТакже Avalon предоставляет разработчикам примитивы, на основе которых можно создавать собственные контролы

Avalon Framework

XAML – язык разметки для декларативного представления пользовательского интерфейсаXAML отделяет представление пользовательского интерфейса от кода и позволяет разработчикам и дизайнерам работать более продуктивно

XAML

Совместная работа

Создает дизайн

С помощью XAML дизайнеры и

разработчики могут выйти на новый

уровень взаимодействия

Добавляет бизнес логику

ОСНОВНЫЕ ПОНЯТИЯ

.NET Framework 3 и вышеWindows Presentation FoundationWindows Workflow Foundation

Silverlight (в т.ч. для Windows Phone)Windows Runtime XAML Framework

Где используется XAML?

Разметка основана на XML, поэтому может быть написана в любом текстовом редактореСуществуют WYSIWYG-редакторы, наиболее популярный – Expression Blend

Как создается XAML?

ДЕМО

КонтейнерыЭлементы управленияГрафические примитивыСлужбы документов

Элементы XAML

Позволяют определить отображение контроловМожно переопределить стандартные шаблоныМогут быть включены в описание элемента, могуть быть общими для контрола, могут быть вынесены в ресурсы

Стили и шаблоны

Markup Extensions используются для получения значения, которое не является ни примитивным, ни специфичным xaml-типомРасширение разметки записывается внутри фигурных скобок в значении атрибута

Расширения разметки

Data Binding используется для отображения и взаимодействия с даннымиПозволяет автоматически изменять свойства элемента пользовательского интерфейса при обновлении данныхСинтаксис соответствует расширению разметки: {Binding …}

Связывание данных

Различные трансформации (поворот, перемещение, масштабирование, наклон) и изменение свойств элементов пользовательского интерфейса во времени также могут быть заданы декларативно в разметке XAML

Трансформация и анимация

КАК ЭТО РАБОТАЕТ?

Разметка компилируется в файл .BAMLОн включается в сборку как ресурсНа этапе выполнения движок извлекает файл .BAML из сборки, парсит его и создает визуальное дерево или workflow

Как это работает?

При использовании WPF, Silverlight и WinRT разметка описывает пользовательский интерфейсПри использовании WF разметка описывает декларативную логику, файл имеет расширение .XOML. Формат сериализации также изначально назывался XOML

Как это работает?

Xaml Information SetПроцесс конвертации XML-документа в Xaml Information SetXaml Schema Information Set

Спецификация

Xaml Information Set – определяет структурированную информацию, которую объект Xaml может представлятьТермин “xaml-документ” означает xml-документ, описывающий Xaml Information Set

Спецификация: Xaml Information Set

Спецификация определяет правила, по которым xml-документ трансформируется в струкрурированную информацию Xaml Information Set

Спецификация: конвертация XML-документа

Эти правила могут быть расширены на основании различных XAML-словарей, определяющих схему документаСпособы задания таких словарей описаны в разделе спецификации Xaml Schema Information Set

Спецификация: Xaml Schema Information Set

Windows Presentation FoundationSilverlight 3Silverlight 4Windows Runtime XAML Framework

Различные реализации XAML (словарей)

ВОПРОСЫ?

Спецификации XAML http://cut.ms/bHgnMSDN: WPF XAML http://cut.ms/bHgoMSDN: Silverlight XAML http://cut.ms/bHgpMSDN: WinRT XAML http://cut.ms/bHgq

Полезные ссылки

СПАСИБО ЗА ВНИМАНИЕ!

Сергей Звягин

BingoRUS

Recommended