Приложения на WPF
82WPF --- Основа WPF --- Приложения на WPF
API-интерфейс WPF может использоваться для построения широкого разнообразия приложений с графическим интерфейсом, которые в основном отличаются структурой навигации и моделями развертывания. Ниже будут представлены их краткие описания.
Традиционные настольные приложения
Первая (и наиболее популярная) форма — это традиционная исполняемая сборка, которая запускается на локальной машине. Например, WPF можно использовать для построения текстового редактора, программы рисования или мультимедийной программы, такой как цифровой музыкальный проигрыватель, средство просмотра фотографий и т.п. Подобно любому другому настольному приложению, эти файлы *.ехе могут устанавливаться традиционными средствами (программами установки, пакетами Windows Installer и т.п.) или же посредством технологии ClickOnce, позволяющей распространять и устанавливать настольные приложения через удаленный веб-сервер.
Говоря языком программиста, этот тип приложений WPF использует (как минимум) типы Window и Application в дополнение к ожидаемому набору диалоговых окон, панелей инструментов, панелей состояния, систем меню и прочих элементов пользовательского интерфейса.
WPF позволяет строить как базовые, простые бизнес-приложения без каких-либо излишеств, так и встраивать средства подобного рода.
WPF-приложения на основе навигации
Приложения WPF могут также использовать структуру на основе навигации, которая позволяет традиционному настольному приложению вести себя подобно приложению веб-браузера. Применяя эту модель, можно построить настольную программу *.ехе, которая включает в себя кнопки "вперед" и "назад", позволяющие конечному пользователю перемещаться вперед и назад по различным экранам пользовательского интерфейса, именуемым страницами. Само приложение поддерживает список страниц и обеспечивает необходимую инфраструктуру для навигации по ним, попутно передавая данные и поддерживая список хронологии.
Для примера посмотрите на проводник Windows в котором используется эта функциональность. Обратите внимание, что кнопки навигации (и список хронологии) находятся в верхнем левом углу окна:
Несмотря на то что настольное приложение WPF может принимать веб-подобную схему навигации, помните, что это всего лишь вопрос дизайна пользовательского интерфейса. Само приложение остается в виде той же исполняемой сборки, запускаемой на настольной машине, и помимо внешнего сходства не имеет никакого отношения к веб-приложениям. Гoворя языком программистов, эта разновидность WPF-приложений построена с использованием таких типов, как Application, Page, NavigationWindow и Frame.
Приложения ХВАР
WPF также позволяет строить приложения, которые могут размещаться внутри веб-браузера. Такая разновидность приложений WPF называется браузерными приложениями XAML, или ХВАР. Согласно этой модели, конечный пользователь переходит по заданному URL-адресу, указывающему на приложение ХВАР (которое представляет собой коллекцию объектов Page), затем прозрачно загружает и устанавливает его на локальной машине. В отличие от традиционной установки исполняемого приложения с помощью ClickOnce, программа ХВАР располагается непосредственно в браузере и принимает встроенную систему навигации браузера.
Преимущество технологии ХВАР состоит в том, она позволяет создавать сложные пользовательские интерфейсы, которые являются более выразительными, чем типичная веб-страница, построенная с помощью HTML и JavaScript. Объект Page в WPF может использовать те же службы, что и настольное приложение WPF, включая анимации, двух и трехмерную графику, темы и т.п. По сути, веб-браузер в данном случае — просто контейнер объектов Page, а не средство отображения веб-страниц ASP.NET.
Однако, учитывая, что объекты Page развертываются на удаленном веб-сервере, приложения ХВАР можно легко сопровождать в разных версиях и обновлять без необходимости поставки исполняемых сборок на пользовательские настольные машины. Подобно традиционному веб-приложению, объекты Page можно легко обновлять на веб-сервере, и пользователь всегда будет получать самую актуальную версию, обращаясь по заданному URL-адресу.
Возможным недостатком этой разновидности программ WPF является то, что ХВАР могут работать только внутри веб-браузеров Internet Explorer или Firefox. При развертывании такого приложения в корпоративной сети компании совместимость браузеров не должна быть проблемой, так как системные администраторы могут просто диктовать выбор браузера, обязательного для установки на пользовательских машинах. Однако, открывая доступ к ХВАР-приложению внешнему миру, невозможно гарантировать, что каждый пользователь будет работать с браузером Internet Explorer или Firefox, а потому некоторые из них просто не смогут его просмотреть.
Другая проблема состоит в том, что машина, которая выполняет ХВАР-приложение, должна иметь локальную установку платформы .NET, поскольку объекты Page пользуются теми же сборками .NET, что и традиционные приложения. Учитывая это, ХВАР-приложения ограничены только средами Windows и не могут просматриваться на системах, работающих под управлением Mac OS или Linux.