В главе 16 мы рассмотрели процесс создания приложений Windows Presentation Foundation (WPF) при помощи Visual Studio 2008. Как вы помните, эти приложения основаны на XAML, который интерпретируется в WPF, а затем отображается на экране. WPF позволяет вам создавать пользовательские интерфейсы, которые используют такие вещи, как векторная графика, масштабирование и трехмерные эффекты для создания уникальных пользовательских сред под Windows. Обсуждавшиеся в главе 16 приложения предназначены для инсталляции в качестве независимых приложений, которые работают в среде операционной системы Windows. Однако аналогичные приложения WPF могут развертываться и для выполнения в Web-браузере пользователя.
WPF-приложения для Web-браузера называются также ХВАР (XAML browser application). ХВАР может быть развернут при помощи простого указателя информационного ресурса для ClickOnce и выполняться внутри браузера пользователя (приложение нЬ покидает браузер). Поэтому приложения ХВАР работают в "безопасной песочнице" с ограниченным доверием. Например, они не имеют доступа к таким вещам, как файловая система пользователя.
Примечание
ХВАР на основе WPF может выполняться как внутри Internet Explorer, так и внутри Firefox. Это обеспечивает большую универсальность вашего приложения, поскольку огромное большинство пользователей использует один из этих двух браузеров. Однако для ХВАР требуется наличие на клиенте Windows и .NET Framework. Если вам нужно полностью кросс-платформенное решение, то вам придется основываться на ASP.NET или Silverlight.
Выбор между независимым приложением WPF и WPF ХВАР
Есть некоторые ситуации, в которых приложение ХВАР имеет преимущества перед приложениями ASP.NET, WinForms или стандартным приложением WPF. Например, вы можете использовать ХВАР для легкого создания пользовательских сред, которых не бывает в приложениях браузера. Сюда входят: меню наподобие тех, которые есть в Windows, контекстные меню (по щелчку правой кнопки мыши), интерактивный анализ данных, проверка правописания в режиме реального времени, элементы управления редактированием, прокрутка списков данных, клавиши быстрого вызова, управление пользовательским курсором и многое другое. Такая богатая пользовательская среда обычно характерна для клиента под операционную систему Windows. Однако при помощи ХВАР вы можете запускать клиента с такими возможностями внутри браузера. Таким образом, вы получаете дополнительные преимущества легкого развертывания (и обновления), использования "безопасной песочницы" браузера, а также обмена с вашим сервером (и Web-сервисами) через HTTP. И если вам это нужно, то ваше ХВАР-приложение может получить доступ к изолированному хранилищу на компьютере пользователя для сохранения и выборки данных (причем безопасным образом).
ХВАР-приложение является одним из типов приложений WPF. Оба они основаны на одном и том же коде .NET Framework. Однако у них есть как сходства, так и различия. Вам нужно понимать их при создании вашего пользовательского интерфейса. Таблица 17.3 должна помочь осветить имеющиеся возможности в сравнении друг с другом.