T.M. SoftStudio

feci quod potui, faciant meliora potentes

Купить полную версию книги "Среда разработки Eclipse 4: Руководство разработчика"

Создание RAP-приложений

Проект Remote Application Platform (RAP) (http://eclipse.org/rap/) обеспечивает создание модульных приложений с одним и тем же кодом для настольных компьютеров, позволяя легко конвертировать настольные RCP-приложения в Web-приложения, для Web-браузеров и для мобильных устройств с использованием языка Java и технологий Eclipse.

Проект RAP включает в себя Web-адаптации SWT (RWT), JFace, Workbench and Forms, интеграцию с OSGI, различные расширения, Branding and Interaction Design API, инструменты, примеры, темы.

Проект RAP обеспечивает разработку RIA (Rich Internet Application) Ajax приложений, GUI-интерфейс которых создается без HTML-разметки и JavaScript, а на языке Java с использованием Web-реализаций библиотек SWT (RWT), JFace, Workbench and Forms и связывания данных. При этом RAP-приложения работают в Web-браузере без необходимости инсталляции плагинов. Кроме того, проект RAP позволяет конвертировать существующие RCP-приложения в Web-приложения с небольшими изменениями.

Проект RAP представляет продукт Eclipse for RCP and RAP Developers, доступный для скачивания по адресу http://www.eclipse.org/downloads/.

Фреймворк RAP может использоваться совместно с такими Eclipse-технологиями как EMF, BIRT, Riena и Scout.

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

Примечание

Целевая платформа – это набор Eclipse-плагинов, на основе которого должны запускаться разрабатываемые плагины.

RAP-платформа включает в себя среду выполнения Equinox со встроенным сервером Jetty и Servlet-контейнером, библиотеки RWT (RAP Widget Toolkit), RAP-JFace, RAP-Workbench и RAP-Forms, а также примеры и демонстрации.

RAP-приложение может быть развернуто в любом Servlet-контейнере с сопутствующими плагинами RAP-платформы или в среде выполнения отдельной RAP-платформы. Приложения, созданные и запущенные на платформе RAP, доступны из Web-браузера с помощью HTTP-запроса.

Основой GUI-интерфейса RAP-приложения служит графическая система RWT (RAP Widget Toolkit) – Web-реализация системы SWT, с одной стороны накладывающая ограничения на систему SWT, а с другой – дополняющая ее Web-возможностями.

При этом каждый RWT-компонент GUI-интерфейса RAP-приложения состоит из двух частей – клиентской (RAP Web-клиент) и серверной, взаимодействующих между собой с помощью Ajax-запросов.

Серверная часть RWT-системы работает в среде Equinox, а клиентская часть основана на переработанном JavaScript-фреймворке qooxdoo (http://qooxdoo.org/) и работает в Web-браузере.

Клиентская часть RWT-системы отвечает за отображение GUI-компонентов, а серверная – за обработку их событий и за изменение отображения GUI-компонентов. На странице Web-браузера RWT-система создает Ajax-код, который вызывает JavaScript-библиотеки RAP-платформы для отображения подходящих GUI-компонентов. RWT-система является базой для Web-реализаций библиотек JFace и Workbench.

RAP Web-клиент взаимодействует с серверной частью с помощью протокола RAP Protocol, основанного на HTTP-запросах и JSON-сообщениях. Определенный RAP-протокол позволяет использовать вместо RAP Web-клиента любого другого клиента.

RAP Web-клиент обеспечивает поддержку таких Web-браузеров как Internet Explorer 7+, Google Chrome 7+, Firefox 4+, Safari 4+, Opera 10+, iOs 5+, Android 3+ (с ограничениями).

При разработке RAP-приложений для мобильных устройств рекомендуется создавать отдельные темы, учитывающие малый экран. Также для браузера Android 3+ требуется тестирование работы RAP Web-клиента.


RAP vs JavaFX