XAML 2009

advertisement
Роман Здебский
Microsoft
rzdebski@microsoft.com
http://blogs.msdn.com/roman
Настоящее
Будущее
AutoCad 2009
Microsoft Dynamics
Visual Studio 2010
British Library
Turn The pages
Microsoft Surface
Microsoft Semblio (SDK)
Windows PowerShell 2
Integrated Scripting
Environment
Microsoft Songsmith
http://www.techdays.ru/Search.aspx?Tag=WPF
Hardware accelerated
extensible shader effects
Support for Xlinq binding
D3D2D
Business object validation
Firefox Support for Xbaps
HTTP Cookie Support
Web Service support in
XBap
Add-ins
Better Support for IMEs
Better debugging
RichTextBox improvements
Setup Improvements
DirectX interop
Indic language Support
Tear-Free Writeable
Bitmap
Web Browser Control
Click-Once Improvements
Faster Cold Start
Working set improvements
Improved perf and behavior in
DataSet binding
Improved perf of IEnumerable
binding (Linq)
Better Perf in Xml (DOM)
binding
Layered Windows perf
improvements
Improved Text Realizations
Virtualized TreeView control
Faster fundamentals for
DataGrid control
Smoother animations
Improved ListView & ListBox
Scroll performance
Container Recycling
% ПК в США с .NET Framework 3.0 и выше
%
Vista & Win7
Windows
Update
Улучшения в
разворачива
нии
Улучшение
основ
Повышение
четкости текстов
Развертывание
Улучшение
Interop
Улучшение
Accessibility &
локализации
Производительность
Графика и UI
Инструменты
Multi-touch
RAD LOB Designer
DataGrid
Ribbon
Superbar
Common Dialogs
Улучшения XAML
Designer
Effects
Улучшение
взаимодействия
Developer/Designer
Animation
Visual State
Manager
Media
Enhancements
(h.264 on Win7)
Еще многое…
DataGrid, DatePicker, Calendar поставляется вместе с исходным кодом в
рамках
на www.codeplex.com
DataGrid - возможности:
Авто-генерирование колонок
Различные типы: Text, CheckBox, ComboBox,
Button, Hyperlink + TemplateColumn
Редактирование
Фильтры и группировки
Item Container Recycling
Deferred Scrolling
http://msdn.microsoft.com/officeui
Ribbon с масштабированием
RibbonTabs
RibbonGroups
RibbonApplicationMenu (Pearl)
QuickAccessToolbar
KeyTips
Поддержка Design Time
Большее использование GPU
Развитие GPU hardware – все больше
будет переложено на GPU
Улучшения качества рендеринга
4.0: Интеграция с Direct Write для
повышения четкости текстов
4.0: привязка к пикселям на уровне
шаблонов расположения интерфейса
(Layout Pixel-level Snapping)
Новые визуальные элементы
Интеграция с XNA
Богатство графики
Pixel Shaders 3.0
Vertex Shaders
Multiple Shaders
Shaders в WPF 3D
Улучшения в 3D
Программные BitmapEffects будут
удалены
Развитие библиотеки эффектов http://www.codeplex.com/wpffx
C# 3.0
Другие
VB 9.0
.NET Language Integrated Query
Клиент
HTTP
Сервер
Microsoft SQL Server, Oracle, DB2, MySQL…
WPF Client Profile – 28 MB
Common Language Runtime (CLR)
ClickOnce
Windows Forms
Windows Presentation Foundation
Windows Communication Foundation
Автоматическая установка по ссылке в
интрасети или интернет
Автоматическое конфигурируемое
обновление
Нет необходимости
в административных
правах
Легкость
настройки
WPF-приложение
ASP.NET Dynamic Data
ADO.NET Data Service
Entities– Бизнес логика
Entity Framework - Доступ к данным
СУБД
WPF-приложение
ADO.NET Data Service Offline
SQL Server Compact - *.sdf
ASP.NET Dynamic Data
ADO.NET Data Service
Entities– Бизнес логика
Entity Framework - Доступ к данным
СУБД



.NET 4 новый XAML парсер

Быстрее

Больше возможностей расширения с помощью
XamlReader.Load и XamlWriter.Save

BAML формат – публичные APIs для Read/Write
.NET 4’s XAML парсер – новые возможности языка
XAML

Generics

Улучшения ссылок по имени (References by Name)
[MS-WPFXV]

Формат файлов WPF – XAML - опубликован
Улучшения поддержки ссылок по имени
XAML 2006
<Label Target="{Binding ElementName=firstName}">
First Name</Label>
<TextBox Name="firstNameBox" />
XAML 2009
<Label Target="{x:Reference firstNameBox}">…</>
<TextBox Name="firstNameBox" />
Or even better:
<Label Target="firstNameBox">First Name</Label>
<TextBox Name="firstNameBox" />
XAML 2006
<sys:String xmlns:s="clrnamespace:System;assembly=mscorlib“>Foo
</s:String>
XAML 2009
Поддержка Generics
XAML 2006
class PersonCollection : ObservableCollection<Person>
{}
<l:PersonCollection>
<Person Name="Dan" />
</l:PersonCollection>
XAML 2009
<ObservableCollection x:TypeArguments=“Person”>
<Person Name="Dan" />
<Person Name="Rob" />
</ObservableCollection>
XAML 2006
<Button Click="button_Click" /> + компиляция
XAML 2009
Компиляции не требуется!
также:
<Button Click="{DelegateCreatingME Foo}" />
Или даже:
<Button>
<Button.Click>
<DelegateCreatingME Name="Foo" />
<Button.Click>
</Button>
Инстанциирование с конструктором не по умолчанию
XAML 2006
Написать TypeConverter
XAML 2009
<Random>
<!-- Random seed -->
<x:Arguments>
<x:Int32>123</x:Int32>
</x:Arguments>
</Random>
Итог
Улучшения ссылок по имени (x:Reference)
Полная поддержка generics (x:TypeArguments)
Встроенные типы
Произвольные ключи словарей (x:Key)
Декларативное определение обработчиков
событий
Новые свойства типов (x:SchemaType.Members,
x:SchemaProperty)
Конструкторы не по умолчанию (x:Arguments)
Использование factory-методов(x:FactoryMethod)
XML namespace prefixes (xmlns) на member
elements
B
BamlReader
BamlWriter
X
XamlXmlReader
ObjectWriter
XamlXmlWriter
ObjectReader
Сохранение в Xaml (O to X)
DomReader
Загрузка Xaml @ Runtime (X to O)
DomWriter
Сценарии
Оптимизация Xaml в Binary Form (X to B)
Binary Form загрузка @ Runtime (B to 0)
Дизайнеры – загрузка в DOM &
Objects
D
O
Определение «что», без «как»
WPF
WCF
WF
XAML позволяет создавать богатые модели
приложений
Преимущества
Проще управлять с помощью
инструментов
Проще разворачивать и обновлять
Проще использовать в различных
исполняющих средах
Проще статически проверять и
анализировать
Проще запрашивать и строить
Общий формат XAML и связь с CLR
Развитие поддержки XAML
.NET 3.0
.NET 3.5
.NET 4.0
Полная
поддержка
XAML
Полная
поддержка
XAML
Полная
поддержка
XAML
WF
XAML с code
behind
XAML с code
behind
Полная
поддержка
XAML
WCF
Нет поддержки
XAML
XAML с code
behind
Полная
поддержка
XAML
WPF
Получение совета от двух аналитиков
по покупке акций
WPF App
Button.Click
WCF Advice
Service1
WF Workflow
WCF Client
Operation
WCF Client
Operation
Update UI
WCF Advice
Service2
RAD Databinding
Auto Layout
• Настройка связывания данных в приложении без
специальных познаний в XAML (как в Windows
Forms)
• Автоматическое позиционирование элементов
управления
Редактирование
свойств
• Установка свойств – лучшие практики из
дизайнера Windows Forms
Стилизация
приложения
• Упрощение стилизации и осуществления
основных задач (работа с ресурсами) без
кодирования XAML
Silverlight
совместимость
• Одинаковая работа и программная модель
Silverlight и WPF везде, где это возможно.
Chart Controls
Masked Edit, Smart
Edit, Spinner
Auto Completion and
PickList
Property Grid
DeepZoom
…
http://blogs.msdn.com/jaimer
Доступен Windows SDK for Win7 Beta
Прозрачная поддержка Touch всеми
элементами управления WPF
Поддержка TaskBar (TaskLists, и т.п.)
Улучшения рендеринга текста с помощью
DirectWrite
Использование h.264, divx
Ribbon
WindowsClient.net/WPF
CodePlex.com/WPF
http://msdn.microsoft.com/enus/netframework/aa663326.aspx
© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market
conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.
MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Роман Здебский
Microsoft
rzdebski@microsoft.com
http://blogs.msdn.com/roman
Download