Компьютерра
Воздухоплаватели

11.08.2009

ПЕРСПЕКТИВЫ САМОЙ ПОПУЛЯРНОЙ RIA-ПЛАТФОРМЫ

Давно прошли времена, когда браузер представлял собой всего лишь средство просмотра статичных веб-страниц. Характер контента изменился, а значит, должны измениться и средства для работы с ним. Один из дальнейших путей развития веб-технологий - это так называемые Rich Internet Applications (RIA).

3 последние годы произошел настоящий взрыв мультимедийного цифрового контента, причем распространяется этот контент не какими-то крупными корпорациями, а в буквальном смысле нами самими, простыми пользователями. "Основная идея Rich Internet Applications как раз и состоит в том, чтобы дать пользователю возможность управлять этой информацией, возможность сохранить у себя то, что он считает нужным, - рассказывает старший системный инженер российского офиса Adobe Андрей Суслов. - Для человека всегда очень важно иметь частичку "своего", держать это "свое" всегда под рукой".

Adobe развивает, пожалуй, самые популярные RIA-платформы - Adobe AIR и Flash. На этом рынке у компании нет серьезных конкурентов. По ее данным, к февралю 2009 года AIR был установлен на ста миллионах компьютеров по всему миру. Даже Microsoft, пару лет назад выпустившая сходную RIA-среду Silverlight, несмотря на все усилия, пока плетется в хвосте.

Приложения на основе AIR полностью кроссплатформны и работают под всеми популярными операционными системами для персональных компьютеров, включая Windows, Mac OS X и Linux. Пока не хватает поддержки мобильных устройств, но, как заверили нас в Adobe, программисты компании работают над этой проблемой.

На первый взгляд AIR-приложения похожи на обычные "настольные" программы, хоть и с не вполне стандартным интерфейсом, однако правильнее все же сравнивать их с веб-приложениями. Чтобы разрабатывать программы на AIR, достаточно знать HTML и JavaScript или Flash и ActionScript. В первом случае разработчик может обойтись набором инструментов, который бесплатно распространяется на сайте Adobe (впрочем, более удобным инструментом является программа Adobe Flex Builder). Flash и ActionScript - более дорогостоящий вариант. Чтобы использовать их в своем приложении, потребуется редактор Adobe Flash CS4 Professional.

"Главным достоинством AIR является возможность комбинирования функциональности настольных приложений и веб-приложений. В итоге продукт зачастую получается лучше, чем рядовое веб-приложение и рядовое настольное приложение, - поясняет старший евангелист

Adobe Бен Форта. - Программа для настольных ПК может быть очень удобной и качественной, однако у нее всегда были и будут определенные трудности с распространением, тогда как у веб-приложения таких трудностей нет". У современных веб-приложений недостатков еще больше. "Они гораздо хуже интегрируются с системой, да и интерфейсные возможности у них куда слабее. В частности, drag-n-drop обычно отсутствует, а без Интернета они и вовсе не работают", - говорит Форта.

В качестве простого и наглядного примера AIR-приложения Андрей Суслов демонстрирует фирменный виджет, разработанный одним из автогигантов. С виду это обычные часы, реализованные на Flash и воспроизводящие музыку, которая содержится в прилагающемся аудиофайле. Но если эта мелодия чем-то не угодила пользователю, он может выбрать любой другой музыкальный файл со своего собственного жесткого диска.

AIR-программа хоть и является исполняемым файлом, при работе заключена в сэндбокс, то есть в изолированную безопасную среду, которая жестко ограничивает доступ к системным функциям, а также тем или иным файловым форматам. Разработчики считают, что это не позволит использовать AIR для создания вредоносных программ. В качестве аналогии можно упомянуть платформу Java, вирусов для которой не существует по той же причине.

Несмотря на подобные ограничения, область применения AIR-приложений гораздо шире, нежели игры или виджеты. Как рассказал Андрей Суслов, налоговая служба Южно-Африканской Республики распространяет среди налогоплательщиков специальную AIR-программу, которая представляет собой инструмент для заполнения налоговой декларации. После заполнения всех полей программа автоматически генерирует файл PDF, который при первой возможности отправляется в налоговую службу через Интернет по защищенному соединению.

Как это работает? Данные сохраняются на локальном компьютере в СУБД SQLite. "AIR умеет не только передавать данные на удаленный сервер, но и синхронизировать их с любым сервером, в том числе защищенным, - поясняет наш собеседник. - Фактически могут добавляться и изменяться только обновленные данные. В случае с вышеупомянутой интерактивной программой заполнения налоговых деклараций она автоматически изменится, если произойдут какие-либо изменения налогового законодательства, и они будут отражены на удаленном сервере".

На Западе к возможностям AIR уже серьезно присматриваются. На сайте Adobe перечислено более пятисот приложений на AIR. Одним из самых популярных является специализированный клиент для интернет-аукциона eBay. Эта программа автоматически соединяется с сервером, получает и передает все необходимые данные. Любопытно, что многие популярные приложения на AIR распространяются вовсе не бесплатно. Например, средство организации проектов Agile Agenda продается за сумму от 40 до 79 долларов, а трехмерный глобус EarthBrowser, на котором выводятся данные о погоде, извержениях вулканов и землетрясениях, стоит 30 долларов.

Интересный пример - Desktop Reader версии 2.0, специализированный браузер для чтения газеты New York Times (в первой версии использовался не AIR, а технологии Microsoft). В отличие от сайта газеты, Desktop Reader 2.0 автоматически подстраивает верстку под размер окна. Кроме того, читатель может разгадывать кроссворды непосредственно в этой программе, а в случае отключения Интернета все номера за последнюю неделю останутся доступны.

В самой Adobe для взаимодействия сотрудников разработан специальный клиентский софт на AIR. Если запустить клиент без подключения к Интернету, он отобразит только фамилии и имена сотрудников, которые сохраняются на локальном жестком диске в базе данных, а в онлайн-режиме к ним будут добавлены фотографии, рабочий календарь каждого пользователя и т. д.

Впрочем, не все так радужно. Детище Adobe выходит победителем, только если сравнивать его с Silverlight и JavaFX, которые играют по тем же правилам. Однако в действительности подлинный враг AIR не они, а обычные веб-приложения, работающие в браузере и использующие HTML и JavaScript. На фоне их популярности все успехи AIR меркнут.

Григорий Рудницкий

***

ПРЕИМУЩЕСТВО AIR

Чтобы освоить AIR, разработчику нужно лишь разобраться с преобразованием имеющегося веб-приложения в десктоп-вариант, функциями для работы с треем, функциями drag-n-drop, операциями с файловой системой и локальной базой данных SQLite, входящей в платформу. Пока, увы, не так много людей, которые близко познакомились с AIR, что создает вокруг этой технологии ауру тайного знания. Однако жизнь не стоит на месте, и знания потихоньку проникают в массы. Русскоязычной литературы тоже маловато, но и с технологией, и с экспертами можно познакомиться на регулярных профессиональных тусовках. К примеру, RAFPUG - официальная российская юзер-группа Adobe - проводит ежемесячные встречи, на которых выступают гуру Flash/Flex/AIR. Вход свободный. Сейчас технологии развиваются динамично и активно конкурируют друг с другом. Технически все они примерно на одном уровне, однако у каждой есть и своя специализация. Как и Java, Adobe AIR - технология кроссплатформная, но рынок у них разный. Если Java прочно укрепилась в среде серверных Enterprise-технологий, то с AIR трудно конкурировать на клиенте. Надо понимать, что современные технологии разработки клиентских приложений все больше уходят от программирования набора функций в сторону дизайна, юзабилити и интерактивности. За Adobe AIR в том числе стоит вся тесно интегрированная линейка креативных продуктов Adobe - от Photoshop до Flash и Premiere. С этой точки зрения рынок AIR - это рынок богатых графикой, интерактивных десктоп-приложений. Думаю, если выбирать среди кроссплатформных клиентских технологий, следует отдать предпочтение AIR.

Артемий Малков, генеральный директор компании Flexis

Вернуться к списку публикаций