Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
321 / Интернет-программирование.doc
Скачиваний:
90
Добавлен:
11.04.2015
Размер:
686.59 Кб
Скачать

Введение в технологии Windows клиентских приложений для java разработчиков Введение

Клиентское приложение является приложением, которое работает локально на

на компьютере пользователя. Вообще говоря, клиентские приложения делятся на три основные категории:

  • Десктопные приложения, которые явно установлены на компьютер пользователя и решают общие задачи бизнеса.

  • Облегчённые приложения, которые выполняются на веб-сайте и работают в веб-браузере.

  • Мобильные приложения, работающие на устройствах, таких как мобильные телефоны, коммуникаторы (иногда планшетные компьютеры) и тд

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

На платформе Windows®, основной технологии для создания десктопных интерфейсов пользователя – Windows Presentation Foundation (WPF). Эта платформа сравнима с инструментарием графических интерфейсов пользователя (graphical user interface – GUI) Java Swing. Тем не менее, WPF является более современной, поэтому имеет много особенностей, отсутствующих в Swing.

Основой клиентской технологии для использования в браузерах является Microsoft ® Silverlight ®. Silverlight поддерживается несколькими браузерами и может работать на не-Windows компьютерах, если соответствующие Silverlight плагин был установлен в браузер. Этот подключаемый модуль Silverlight и обеспечивает выполнение приложения. Silverlight 3 предоставляет в браузере функцию, позволяющую пользователям запускать приложения Silverlight на рабочем столе.

Silverlight обладает функциональными возможностями, сопоставимыми с JavaFX (и Adobe Flash). Все эти технологии предоставляют возможность разработки сложных интернет-приложений, однако Silverlight использует Microsoft .NET фреймворк, в то время как JavaFX работает на Java платформе.

Windows Presentation Foundation

WPF является графической подсистемой, которая отвечает за работу пользовательских интерфейсов десктопных приложений Windows. WPF был введен в. NET Framework 3.0 с Windows Vista® и предлагает современный векторный фреймворк.

Векторный характер WPF означает, что вы можете масштабировать пользовательский интерфейс без потери качества. Вы можете сделать это с помощью возможностей графического процессора на технологии Microsoft DirectX®, который работает с видеокартой. Это позволяет WPF-приложениям создавать интерфейсы, которые являются более современными и впечатляющими, чем используемые в пользовательских интерфейсах Java фреймовра, включая Swing. Однако заметим, что если WPF приложение работает на компьютере, со старой видео карта без поддержки DirectX (или на более старых версиях Windows с установленным .NET Framework 3.0), приложение по-прежнему будет работать, но оно будет вынуждено работать в режиме программного рендеринга, который может уменьшить производительность.

WPF предоставляет несколько форм контроля и контейнеров, но вы можете также определить ваши собственные пользовательские элементы управления. WPF реализует модель программирования, которая отделяет расположение пользовательских интерфейсов от интерфейсов и бизнес-логики приложения. Он использует XAML для определения пользовательского интерфейса. XAML является языком разметки, графики, основанный на XML - Eclipse XWT даёт схожий подход для разработки пользовательских интерфейсов, как в Swing. Рисунок 1 иллюстрирует окна внешнего вида и кода Microsoft Visual Studio® 2010, на примере вывода простого приложения WPF. Приложение определяется настройками холста (Canvas), задающими его расположение, который содержит элемент управления кнопки (Button) с различными свойствами.

Рисунок 1. Окна просмотра внешнего вида и кода в Visual Studio 2010

Вы определяете логику работы приложения с использованием языка программирования, например C#, и реализуете обработчики событий, чтобы связать пользовательский интерфейс и код приложения. На рис 1, событие щелчка мыши обрабатывается в myButton_Click методом обработчика событий. Код для этого обработчика определяется в файл кода для этого объекта (не показан).

На рисунке 2 показана эквивалентная конструкция для приложений Swing, как это реализуется в настоящее время в NetBeans. В приложении демонстрируется событие JButton на объект JPanel. Обратите внимание, что Swing не предоставляет эквивалентного представления на языке разметки XAML. Кроме того, разметка определяется путем установки свойств элементов управления в окне Свойства (Properties). В отличие от модели WPF, где разметка XAML полностью определяет пользовательский интерфейс, настройка свойств элемента управления в Swing генерирует Java код, который настраивает управление при запуске приложения.

Рисунок 2. Проектирование приложений Swing в среде NetBeans

Модель обработки событий WPF работает аналогично концепции, что в Swing, Хотя WPF предоставляет более исчерпывающие и широкие механизмы маршрутизации событий. WPF реализует туннелирование события (tunneling) или просмотр события, что позволяет контролировать события как на уровне Canvas, так и на уровне окон, с целью перехвата событий, которые направлены на дочерние элементы управления, их содержащие. WPF также поддерживает облака событий, что позволяет размножать события в дочерние элементы контейнера, содержащего эти дочерние элементы.

WPF также предоставляет привязки данных, которые являются мощным и одновременно простым способом для представления данных в приложении. Вы можете привязать различные свойства элементов пользовательского интерфейса к данным элементов в модели данных. Если значения в этих элементах изменяются, соответствующие элементы в пользовательском интерфейсе обновляются автоматически. Привязка данных поддерживает различные источники данных, включая данные, которые извлекаются из базы данных, общий язык Runtime (CLR) объектов, а также элементы в документе XML.

Директивы, которые составляют приложения WPF, также легко просматриваемы (в том смысле, что вы можно определить шаблоны и стили для удовлетворения потребностей приложения). Если вы измените шаблон, внешний вид пользовательского интерфейса изменяется соответствующим образом. Этот подход аналогичен по своей концепции, виду и ощущениям, подключаемым инструментам, что имеется в Swing, расширенном пакетом Synth. Однако, в WPF свойства директив изменяются непосредственно, вместо определения и применения слитей свойств SynthStyle.

В WPF версии 4, которая является на текущий момент самой новой стабильной официальной версией WPF, предложены функции для интеграции оболочки Windows 7, поддержка мультитач и новый Visual State Manager, который предлагает простой способ применять новые визуальные способы оформления для приложения.

WindowsClient.net является отличным ресурсом для погружения в среду разработки WPF. Веб Сайт содержит учебные видео ролики, презентации и практические занятия, которые помогут вам узнать об особенностях платформы.