Технологии Windows Communication Foundation и Windows Presentation Foundation Кафедра системного программирования С.-Петербургского государственного университета.

Презентация:



Advertisements
Похожие презентации
III Санкт-Петербургская интернет-конференция СПИК– июня 2008 г. САНКТ-ПЕТЕРБУРГ Всероссийский Интернет- МАРАФОН САНКТ-ПЕТЕРБУРГ,
Advertisements

8/13/2012dotSITE - XP and MSF development in.NET1 Проектирование и создание приложений на базе Visual Studio.NET Andrew Filev Team leader dotSITE Ltd.Co.
Исполнитель: Утяшева И.А. Научный руководитель: к.ф.-м.н. Винокур В.В.
Разработка интерактивных приложений – Windows Presentation Foundation и Silverlight Р.Б. Здебский, М.В. Черномордиков Эксперты по технологиям разработки.
Клиентские технологии Silverlight 3, Internet Explorer 8 Гайдар Магдануров t: e:
Автоматизация сборки и модификации разнородной компьютерной документации: разработка графического интерфейса приложения и формата файлов проекта. Исполнитель:
Возможности применения Windows Presentation Foundation и Silverlight 2.0 Андрей Скляревский Developer, Murano Software Microsoft.
Веб-технологии и современные средства разработки УЦ ВГТУ & SoftLine Academy.
Александр Гарибов MCP-клуб Белгород 25 февраля 2011 г.
Автоматизация сборки и модификации разнородной компьютерной документации: разработка графического интерфейса приложения и формата файлов проекта. Исполнитель:
Апробация технологий Silverlight/LINQ/WCF для создания web-приложений, ориентированных на интенсивную обработку данных Дипломная работа студента 545 группы.
Microsoft TechDays Роман Здебский Эксперт по технологиям разработки ПО Microsoft.
Автоматизация сборки и модификации разнородной компьютерной документации: разработка графического интерфейса приложения и формата файлов проекта. Исполнитель:
Платформа разработки ASP.NET Гайдар Магдануров t: e: m: +7.
Автоматизация сборки и модификации разнородной компьютерной документации: разработка графического интерфейса приложения и формата файлов проекта. Исполнитель:
Мой друг браузер. Работу выполнила Ученица 11 класса Агапова Кристина.
Разработка мобильных приложений в Microsoft ® Visual Studio ®.NET 2003 Эд Кэйм Менеджер по продукту Разработка для мобильных устройств Корпорация Майкрософт.
IATK Браузеры Кристина Елизарова,
Роман Здебский Руководитель группы экспертов Microsoft Россия
Виктория Васильева KO12-KV TEKO 1. Браузер (броузер, пользовательский агент, browser) - средство просмотра; программное обеспечение, предоставляющее.
Транксрипт:

Технологии Windows Communication Foundation и Windows Presentation Foundation Кафедра системного программирования С.-Петербургского государственного университета Губанов Юрий Александрович,

Лекция 6: Введение WPF История технологий создания пользовательского интерфейса Предпосылки появления WPF Первое знакомство с WPF

История технологий создания UI Доисторический период: экскурс в имр перфокарт, текстовых консолей и TurboVision Появление Windows 3.1 – 1992-й год: o Стандартные элементы управления (контролы) – существуют до сих пор! То есть, более 25 лет! o WinAPI o MFC, ATL – интеграция с Microsoft Visual Studio Паттерн Model-view-controller

История технологий создания UI OpenGL – 1992 год Windows 95 – появление DirectX Java – AWT и Swing Qt – кросс-платформенная технология создания UI Появление html – поначалу UI веб- страничек o Затем – море технологий: DHTML, Java- апплеты, flash-приложения и т.д..NET: Windows Forms и ASP.NET

Три мира UI Настольные приложения Сложная графика (игры, мультимедиа- приложения) Web-приложения Для этих миров существует непересекающийся набор технологий! o Windows Forms o DirectX, OpenGL o ASP.NET Нельзя ли эти миры объединить?

Предпосылки появления WPF Объединение «трёх миров» Растущие ожидания пользователей от интерфейса o С помощью MFC или DirectX совсем непросто и экономически невыгодно создавать изощрённый интерфейс o В то же время нынешние «железки» могут многое! Почему не использовать их по полной? 25 лет существующему интерфейсу! Взаимодействие дизайнера и программиста неэффективно (см. след. слайд)

Дизайнер и программист while (!design.IsPerfect) { Designer.CreateNewDesign(); Developer.ImplementNewDesign(); design.IsPerfect = false; if (Schedule.SlipCount >= x) break; } Дизайнер мыслит в одних терминах, программист – в других Спроектированный дизайн зачастую сложно/дорого или невозможно воплотить Разработка дизайна – итерационная и медленная

WPF – три в одном! Windows Presentation Foundation (изначально codename Avalon) – одна из частей нового API Windows (.NET Framework 3.0) WPF – новая графическая подсистема, основанная на управляемом коде WPF – надстройка над DirectX WPF объединяет в себе три мира – UI для настольных и веб-приложений, и UI для игр и мультимедиа-приложений. Множество элементов управления, поддержка видео, анимации, трёхмерных изображений и т.п.

Что входит в WPF WPF – это не только диалоги, картинки и видео! 2D 3D Работа с текстами и шрифтами Работа с изображениями Эффекты Аудио o В частности, синтез и распознавание речи Видео Анимация и работа с временными интервалами

Составные части WPF Движок o Построен поверх DirectX – вся мощь современного «железа» o Векторный рендеринг Независимость от конкретного разрешения, размера шрифтом и тп! WPF Framework – API для создания приложений o Единая программная модель для всех типов приложений o XAML – декларативный способ определять интерфейс Естественно, XML-язык

WPF Framework Естественно, управляемый код Множество элементов управления для o Стандартных форм (такие как кнопки и элементы ввода) o Документов o Изображений и видео o Графических примитивов o 3D o Различных контейнеров и панелей для размещения контролов Могут использоваться декларативно (из XAML) и императивно (из ЯП)

Схема WPF Framework Media Integration Layer 2D 3D Audio Imaging Text Video Effects Composition Engine Animation Base Services XAML Accessibility Property System Input & Eventing Document Services XPS Documents Packaging Services User Interface Services Application Services Deployment Services Controls Layout Databinding

Декларативное создание UI Раньше – resource-файлы XAML – описание UI с помощью XML UI в виде XML – не новая идея: есть, например, XUL (XML User Interface Language) XAML – способ разделить работу дизайнера и разработчика (см. следующие слайды)

XAML – первый взгляд Определение раскладки элементов и событий: ПРЕВЕД, XAML! LightBlue onHelloClick – функция-обработчик из code-behind (C#/VB)

XAML – первый взгляд Не только раскладка и события А также: o Новые элементы управления o Поддержка тем и скинов o Трансформация элементов управления o Анимация o Многое-многое другое (рассмотрим на отдельной лекции) Логика приложения по-прежнему определяется процедурным кодом o Код внутри XAML теоретически возможен, но крайне не рекомендуется

Дизайнер и программист-2 Старая схема: o Дизайнер создаёт макет в графическом редакторе (не в средстве разработки) o Дизайн реализуется программистом o Реализованный дизайн непохож на изначальный o Скандалы, доработки, следующая итерация Новая схема: o Дизайнер создаёт макет в одном из продуктов семейства Expression o Получившийся XAML отдаётся разработчику o Разработчик вставляет в XAML обработчики событий o Все счастливы

Поддержка XAML Дизайнер, встроенный в студию (сейчас – бета, но войдёт в Visual Studio Orcas) o Автодополнение и статические проверки! o Правда, пока что глючный и даже временами падучий Семейство Expression (разные продукты для работы с 2D-, 3D-графикой, для создания веб-страниц) XAMLPAD – простенький просмотрщик и редактор XAML

Demo Как потрясающе богато может выглядеть интерфейс пользователя на WPF: postid= (Healthcare demo)

Недостатки WPF Плохая поддержка в Visual Studio Отсутствие многих важных контролов, например o полноценный Grid o DateTimePicker Плохая интеграция с Windows Forms o Интеграция есть, но в ней много проблем Проблемы с производительностью o Например, длительный старт приложения Отсутствие MDI (для MDI рекомендуют использовать WinForms) Проблемы довольно естественны: первый релиз

Поддержка WPF Входит в Windows Vista Поддержана также в Windows XP SP2 и Windows 2003 (доступно через Windows Update или для ручного скачивания) Скоро выходит.NET Framework 3.5 (ожидается в конце 2007-начале 2008) o Более полная поддержка WPF o Надеемся, исправление недостатков первой версии

Silverlight (ex. WPF/E) Кросс-платформенное подмножество WPF o Windows, Macintosh, mobile devices) Включает o Векторную графику o Работу с текстом, изображениями, видео и анимацией o Элементы управления Не включает o 3D o Обработку документов o Работу с аппаратными ускорителями

Silverlight Реализована на JScript Использует XAML Поддерживает C#/VB.NET o Благодаря реализации подмножества рантайма CLR o Вам вовсе не надо писать на JScript! o При этом вам не надо заботиться о различиях платформ и браузеров!

Поддержка Silverlight Операционные системы: o Windows Vista o Windows 2000, Windows XP, Windows 2003 o Mac OS X 10.* o Планируется Linux (Moonlignt) Браузеры: o Internet Explorer версии 5.5 и выше o Mozilla версии 1 и выше o Firefox версии 1 и выше o Opera версии 7 и выше o Safari версии 1 и выше

WPF и не только ASP.NET 2.0 AJAX Extensions (ex. Atlas) Эту технологию следует выбирать, когда вы используете ASP.NET и хотите создать клиентское приложение с богатым UI Direct 3D Следует выбирать, когда вы реализуете специальные приложения с 3D графикой или, например, насыщенные графикой игры Windows Forms Бизнес-приложения, которые должны работать во всех версиях Windows Windows Presentation Foundation Когда вам нужен изощренный пользовательский интерфейс; следующее поколение приложений под Windows Silverlight Когда вы нацелены на интерактивные приложения, работающие на различных платформах и устройствах

Как соотносятся технологии ASP.NET 2.0 AJAX Extensions (ex. Atlas) и Silverlight o AJAX Extensions использует рантайм Silverlight o Silverlight можно использовать как элемент управления ActiveX или как плагин на HTML-страницах WPF и ASP.NET o Новый тип приложения WPF Web Browser Applications WPF и Win32 o Приложения WPF могут быть хостом дескрипторов окна Win32 (HWND) o Приложения Win32 могут быть хостом WPF-содержимого WPF и Windows Forms o Приложения WPF могут быть хостом контролов и содержимого Windows Forms o Приложения Windows Forms могут быть хостом контролов и содержимого WPF o Внимание: много ограничений и багов

Основные возможности WPF Новый движок Декларативное программирование с использованием XAML Система раскладки контента Стили Control Templates Data Templates Гибкий механизм связывания данных (Data Binding) Поддержка графики и мультимедиа Унифицированный формат документов (XML Paper Specification) Совместимость с Windows Forms