
- •16. Rich Internet application
- •16.1. Введение в ria
- •16.1.1. Общие сведения
- •16.1.2. Ключевые термины
- •16.2. Технологии ria
- •16.2.1. Технологии Adobe
- •16.2.1.1. Adobe Flash
- •16.2.1.2. Adobe Flex
- •16.2.1.3. Adobe Air
- •16.2.2. Ajax
- •16.2.3. Технологии Microsoft
- •16.2.3.1. ActiveX
- •16.2.3.2. Технология wpf
- •16.2.3.3. Технология Silverlight
- •16.2.4. Технологии Oracle (Sun)
- •16.2.4.1. Технология JavaFx
- •16.2.5. Другие технологии
- •16.2.7. Сравнение технологий
- •16.2.8. Ключевые термины
- •16.3. Примеры ria-приложений
- •16.3.1. Технологии Adobe
- •16.3.2. Технология Ajax
- •16.3.3. Технологии Microsoft
- •16.4. Краткие итоги
16.2.1.3. Adobe Air
Adobe AIR (Adobe Integrated Runtime) позволяет запускать веб-приложения на Рабочем столе персонального компьютера [5]. Это могут быть приложения как на базе HTML, так и на базе Flash-платформы с возможностью просмотра PDF-документов. Таким образом, веб-разработчики могут создавать настольные приложения, используя уже существующие навыки. Adobe AIR предоставляет ряд возможностей по интеграции с операционной системой: окна, доступ к файловой системе, защищенное локальное хранилище, локальную базу данных и технологию перетаскивания объектов (drag-n-drop). AIR-приложения могут устанавливаться прямо из Интернета.
Приложения, написанные с использованием AIR, могут быть запущены на нескольких платформах, для которых Adobe поставляет среду выполнения, а именно [12]: Microsoft Windows NT (XP, Vista, Windows 7), Mac OS X (PowerPC и Intel), GNU/Linux (только для 32-хбитных процессоров x86).
В связи с кросс-платформенностью отсутствует прямой доступ к API, существующим только для некоторых из этих платформ.
Архитектура платформы Air представлена на рис. 16.10 [10].
Рис. 16.10. Архитектура платформы Air
Основными преимуществами технологии Air являются [4]:
используя AIR, можно легко перенести готовое HTML или Adobe Flex приложение на компьютер пользователя;
приложения имеют доступ к файловой системе, буферу обмена, имеется поддержка нескольких окон, технологии drag-and-drop.
Основными недостатками технологии Air являются [4]:
ограниченный доступ к SQLite и веб-сервисам;
приложения, написанные на AIR, являются однопоточными;
это проприетарное программное обеспечение, приложения, написанные на AIR, зависят от среды выполнения Adobe.
16.2.2. Ajax
Ajax представляет собой смесь технологий, в основе которых лежат язык JavaScript и объект XMLHttpRequest [5]. Благодаря этому приложения могут получать данные с сервера и отображать их без перезагрузки страницы. Формально Ajax не является RIA-технологией, так как не интегрирует в себе медиа-возможности, не обладает стандартными средствами прорисовки векторной графики, а JavaScript по-разному исполняется в различных браузерах.
Эти проблемы, так или иначе, решены большинством существующих Ajax-библиотек, но они основаны на гибриде технологий (например, использование Flash для видео). С проблемой кросс-браузерности также, в основном, справились, но она снова может возникнуть при выходе новых версий браузеров.
Сейчас существует множество Ajax-библиотек, имеющих свои особенности и сферы применения. Однако нет единого стандарта, и при переходе с одной библиотеки на другую разработчик вынужден заново изучать документацию.
Использование Ajax позволяет значительно обогатить традиционные веб-страницы и сделать работу с ними очень комфортной. Тому существует множество ярких примеров. Применять Ajax при создании сайтов-презентаций и интернет-приложений, предлагающих пользовательский опыт, максимально приближенный к уровню настольных приложений, скорее всего, нецелесообразно.
Основными преимуществами технологии Ajax являются [4]:
есть в любом браузере;
прост в освоении;
быстрый цикл разработки;
развитый инструментарий;
развитое сообщество.
Основными недостатками технологии Ajax являются [4]:
иногда кросс-браузерная несовместимость;
сложно/дорого разрабатывать большие приложения;
сложно отлаживать, дорого поддерживать;
низкая производительность.