33
XAML язык разметки приложений СЕРГЕЙ ЗВЯГИН СПЕЦИАЛЬНО ДЛЯ GetDev.NET

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

Embed Size (px)

DESCRIPTION

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

Citation preview

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

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

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

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

ИСТОРИЯ

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

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

WinHEC 2003

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

WinHEC 2003

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

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

PDC 2003

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

PDC 2003

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

Нотификации

Windows Codename Longhorn Windows 8

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

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

Avalon

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

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

Avalon

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

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

Avalon Engine

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

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

Avalon Framework

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

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

XAML

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ДЕМО

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

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

Элементы XAML

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Windows Presentation FoundationSilverlight 3Silverlight 4Windows Runtime XAML Framework

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

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

ВОПРОСЫ?

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

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

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

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

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

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

BingoRUS