xaml – единая технология: настоящее и будущее

30

Upload: osmond

Post on 23-Feb-2016

98 views

Category:

Documents


3 download

DESCRIPTION

XAML – единая технология: настоящее и будущее. Silverlight, WPF, WF, WCF; Windows 7, Windows Phone 7 и Windows Embedded. Стас Павлов Эксперт по технологиям разработки ПО Microsoft. Содержание. Настоящее Модель данных Документы Сценарии Использование XAML в технологиях Microsoft - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: XAML – единая  технология:  настоящее и будущее
Page 2: XAML – единая  технология:  настоящее и будущее

XAML – единая технология: настоящее и будущееSilverlight, WPF, WF, WCF; Windows 7, Windows Phone 7 и Windows Embedded

Стас ПавловЭксперт по технологиям разработки ПОMicrosoft

Page 3: XAML – единая  технология:  настоящее и будущее

Содержание Настоящее

Модель данных Документы Сценарии Использование

XAML в технологиях Microsoft Windows Presentation Foundation Silverlight Workflow Foundation и Windows Communication Foundation

XAML на платформах Microsoft Windows 7 Winnows Phone 7 Windows Embedded Standard и Compact

Будущее

Page 4: XAML – единая  технология:  настоящее и будущее

Настоящее XAML Словари XAML

Интерфейсы: Взаимодействие разработчика и дизайнера Процессы и сервисы: Декларативная определение

процессов Документы: XML Paper Specification (XPS)

Среды исполнения .NET 4.0, Silverlight 4 & 5, Silverlight for Windows Phone,

Silverlight for Windows Embedded Инструментарий

Visual Studio 2010, Expression Blend Опубликованы спецификации

[MS-XAML], [MS-WPFXV], [MS-SLXV], [MS-XAML-2009], [MS-SLXV-2010], [MS-WPFXV-2010] и XPS

Page 5: XAML – единая  технология:  настоящее и будущее

Модель данных O-M-V

Корневой объект Объекты содержат члены Члены содержат объекты и/или значения Некоторые объекты – коллекции Коллекции хранят свои элементы

Типы Объекты - экземпляры XamlTypes Члены - экземпляры XamlMembers

Object Member Value

Page 6: XAML – единая  технология:  настоящее и будущее

Поток узлов XAML

StartObject

Value

StartMember

StartObject StartMember

ValueStartMember

ValueStartObject StartMember

Background

ChildrenCanvas

Button

Button

Content

Content

“Green”

“OK”

“Cancel”

Page 7: XAML – единая  технология:  настоящее и будущее

Пример: XAML в объекты

XML узлы

Граф объектов

XML узлы в XAML узлы

XAML узлы в объекты

Разрешение типов

object XamlReader.Load(XmlReader)

Page 8: XAML – единая  технология:  настоящее и будущее

Демонстрация

Преобразование XAML в граф объектовXamlXmleader/XamlObjectWriter

Page 9: XAML – единая  технология:  настоящее и будущее

Пример: XAML в объекты

XML узлы

Граф объектов

XML узлы в XAML узлы

XAML узлы в объекты

Разрешение типов

object XamlReader.Load(XmlReader)

XamlXmlReaderObjectWriter

System.Xaml.dll - единое API для XAML/DOM/Объектов/…

XamlServices – класс реализующий стандартный функционал чтения/записи XAML

Page 10: XAML – единая  технология:  настоящее и будущее

Документы XAML

Текстовый - .xaml<Canvas> <Button Background="Green"> Ok </Button> <Button Content="Cancel"> <Button.Background> Red </Button.Background> </Button></Canvas>

Canvas

ButtonButton

Граф объектов

Бинарный компактный - .bamlStartObject StartMember

StartMember TeST

TeSTStartObject StartMember

ST=Canvas

ST=Button

SM=Children

SM=Background

SM=Content

“Green”

“Ok”

TeST

TeST “Red”

“Cancel

StartMember

StartObject StartMemberST=Button

SM=Background

SM=Content

DOM дерево

TNTN“Green”

“Ok”

TNTN “Red”

“Cancel”

ON

PN

PN PN

ST=Canvas

SM=Children

PN PNSM=Backgr

oundSM=Content

SM=Background

SM=Content

ONST=Button

ONST=Button

Page 11: XAML – единая  технология:  настоящее и будущее

Сценариичтения/записи

XamlXmlWriter

XamlXmlReader ObjectWriter

ObjectReader

BamlReader

X

D

B

O

DomReader

DomW

riterЗагрузка Xaml @ Runtime (X в O)

Загрузка бин. вида @ Runtime (B в 0)Дизайнер – загрузка в DOM & объекты

Сохранение Xaml (O в X)

Основные сценарии

Page 12: XAML – единая  технология:  настоящее и будущее

Расширения XAML Конвертеры типов Расширения разметки Сериализаторы значений/объектов Собственные расширения

с расширением системы типов XAML

Page 13: XAML – единая  технология:  настоящее и будущее

Использование Простой формат файлов для технологий на базе

объектов Разрабатывая технологии на базе XAML:

XAML чтение/запись Разметка == Модель объектов Тесная интеграция с .NET XML понятный для человека Просто создать инструментарий Событийно-ориентированная программная модель Встроенная возможность расширения, включая свои типы

XAML в технологиях Microsoft WPF, Silverlight, WF, WCF, Silverlight for Windows Phone,

Silverlight for Windows Embedded

Page 14: XAML – единая  технология:  настоящее и будущее

XAML в технологиях Microsoft

Page 15: XAML – единая  технология:  настоящее и будущее

Клиентские технологииWindows

Presentation Foundation

Silverlight

Page 16: XAML – единая  технология:  настоящее и будущее

Серверные технологии

Workflow Foundation

Communication Foundation

Page 17: XAML – единая  технология:  настоящее и будущее

Развитие XAML в .NET

WCF

WF

WPF

.NET 3.0 .NET 3.5 .NET 4.0

Богатый XAML словарь

Богатый XAML словарь

Богатый XAML словарь

Богатый XAML словарь

Богатый XAML словарь

Маленький XAML словарь

Маленький XAML словарь

Нет XAML словаря

Маленький XAML словарь

Page 18: XAML – единая  технология:  настоящее и будущее

Развитие архитектуры в .NET

WF, WCF,

PresentationCore.dll (PC.dll)

PresentationFramework.dll (PF.dll)

XAML engine

3.x

WindowsBase.dll

XamlTypeInfo

Mscorlib, System, System.Xml

BAMLengine

PC.dll

PF.dll

WindowsBase.dll

BAML engine

4

System.Xaml.dll

XamlTypeInfo

XAML engine

Mscorlib, System, System.Xml

WPFWorkflo

w

XOML engin

e

Xoml

TypeInfo

Page 19: XAML – единая  технология:  настоящее и будущее

Демонстрация

Единый XAML - разные технологии и платформы

WPF, Silverlight, Silverlight for Windows Phone

Page 20: XAML – единая  технология:  настоящее и будущее

XAML на платформах Microsoft

Page 21: XAML – единая  технология:  настоящее и будущее

Клиентская платформа

Page 22: XAML – единая  технология:  настоящее и будущее

Клиентская платформа WPF и Silverlight

Windows 7 Windows Vista

Silverlight for Windows Phone Windows Phone

Page 23: XAML – единая  технология:  настоящее и будущее

Встраиваемая платформы WPF и Silverlight

Windows Embedded Standard 7 Windows Embedded POSReady 7 (CTP) Windows Embedded Standard 2009 Windows Embedded POSReady 2009

Silverlight Windows Embedded Compact 7

(Silverlight 3.0 и C++ код) WCF и WF

Семейство Windows Embedded Servers

Page 24: XAML – единая  технология:  настоящее и будущее

Встраиваемые технологииSilverlight for

Windows Embedded

Windows Presentation Foundation

Silverlight

Page 25: XAML – единая  технология:  настоящее и будущее

ДемонстрацияSilverlight на встраиваемой платформе MicrosoftWindows Embedded Standard 7 иWindows Embedded Compact 7

Page 26: XAML – единая  технология:  настоящее и будущее

Декларируйте ваши замыслыЧто необходимо, без указания как сделать

XAML может использоваться для создания декларативных моделей

Frameworks могут поддерживать XAML

ПриложениеМодель

Silverlight

Framework

WPF

WFWCF

Page 27: XAML – единая  технология:  настоящее и будущее

Будущее XAML Не просто язык разметки Может быть использован для любого объектно

ориентированного Framework Интегрирован с .NET Используется на всех платформах Microsoft Используется практически во всех технологиях

клиентской и серверной разработки Microsoft Используется при разработке для встраиваемых

платформ Microsfot

Page 28: XAML – единая  технология:  настоящее и будущее

Ресурсы http://techdays.ru – видео доклады по всем

технологиям http://msdn.microsoft.com/ru-ru/silverlight/ http://msdn.microsoft.com/ru-ru/windowsphone/ http://

msdn.microsoft.com/en-us/library/ms747122.aspx – XAML in WPF

http://msdn.microsoft.com/en-us/library/dd361847(v=PROT.10).aspx – Microsoft Domain-Specific Languages

http://www.silverlight.net/ – официальный сайт Silverlight

Page 29: XAML – единая  технология:  настоящее и будущее

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

Спасибо!

Page 30: XAML – единая  технология:  настоящее и будущее

Вопросы PL704 Стас Павлов

Эксперт по технологиям разработки ПО [email protected] http://twitter.com/stasus

Вы сможете задать вопросы докладчику в зоне «Спроси эксперта» в течение часа после завершения этого доклада