Adobe AIR

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

Технический директор Adobe Кевин Линч

В компьютерной прессе много писалось про концепцию веб-2 и про веб-приложения. Но всё то была теория. И вот компания Adobe уже на практике реализовала первую действующую платформу AIR (Adobe Integrated Runtime), которая как раз и предназначена для создания и комфортного употребления этих самых web-приложений. Забегая вперёд, скажу, что, по-моему, у Adobe эта затея получилась достаточно хорошо.

Первое, что меня подкупило сразу же в этом AIR, это то, что разработчики не стали изобретать велосипед. Они здраво рассудили, что, с точки зрения пользователя, локальное web-приложение должно практически ничем не отличаться от обычных классических настольных программ. То есть оно должно компилироваться в отдельный исполняемый пакет, устанавливаться в систему, интегрируясь в системные меню, и, создавая иконку на рабочем столе, запускаться в окошке как какой-нибудь простой Adobe Acrobat или навороченный MS notepad. Так же совершенно необязательно, чтобы это веб-приложение предоставляло доступ к какому-нибудь веб-сервису. Это приложение может работать и без подключения к Интернету, как аналог того же блокнота. То есть, благодаря возможностям среды AIR, веб-приложения, подобно обычным программам, могут обращаться к файловой системе компьютера, управлять другими приложениями, поддерживать "drag&drop" и т.д.

И действительно, готовая air-программа представляет собой файл с расширением air, который компилируется из html-, javascript- или flash-файлов. Устанавливается air-программа не сложнее, чем файл msi, и, установившись в систему, создаст иконку в меню. А после запуска откроется в отдельном окошке, радуя пользователя не обычным gui, а модным flash- или AJAX-интерфейсом. В отличие от обычных приложений, веб-приложение не лазает по системному реестру и не использует системные DLL-библиотеки Windows. Таким образом, после её деинсталляции в системе не останется никаких следов. Естественно, для установки этого добра в системе должна быть установлена среда исполнения Adobe AIR, версии которой существуют и для Windows, и для Mac. Есть тестовая версия уже и для Linux.

И второе, что понравилось, - это реализация самой среды исполнения air-приложений. Здесь тоже обошлось без велосипедов, и AIR основывается на готовых решениях. Это уже известный мультиплатформенный свободный html-рендер WebKit, движок Flash и база данных SQL-Lite. Движок рендеринга html-страниц WebKit активно использует Apple в своём интернет-браузере Safari. Также опционально, если есть намерение самому создавать air-приложения, то для сборки установочных air-пакетов нужно, чтобы в системе была установлена java. Со своей стороны Adobe добавила фреймворки javascript, которые обеспечивают взаимодействие air-программы с системой. Также разработчиками было обеспечено визуальное соответствие air-приложения той графической среде, где они выполняются. Проще говоря, ваше локальное веб-приложение в "Висте" будет иметь стиль "аэро", в GNOME будет иметь стиль GTK+, в композитных менеджерах типа Compiz будет поддерживать все графические эффекты этой среды и т.д.

 

Использование уже готовых решений позволило Adobe значительно опередить конкурирующие проекты, например, тот же Prism, что разрабатывает фонд Mozilla. Но главное - это то, что Air не требует переобучения и длительного освоения как потребителем, так и разработчиком. Air - это не то, что нужно осваивать с нуля. Тот же разработчик, который уже имеет хоть какой-то опыт в работе с html, javascript или flash, может уже сейчас сразу же начинать писать свои веб-программы.

Саму среду исполнения нужно скачать с официального сайта Adobe (www.adobe.com). Она весит около 15 мегабайт и распространяется бесплатно. Также в Интернете множество готовых программ. Причём среди них есть даже и полезные. Полезные - это, в основном, те, которые являются интерфейсом к уже готовым интернет-сервисам, таким, как, например, eBay, Google Analytics.

Что же касается десктопных "офлайновых" air-программулек, то тут есть нюансы. Всё-таки главная проблема - это стереотипы при создании пользовательских интерфейсов. Дорвавшись до визуальных возможностей флэш, программист создаёт совершенно невообразимый по красоте и эффектам интерфейс, но при этом программуля только запускается минут десять. А на самом деле интерфейс air-программ должен быть ближе к юниксовой консоли, чем к эффектам "аэро".

Чтобы самому создавать собственные веб-программы, нужно загрузить отдельный Adobe Air SDK. Он практически ничем не отличается от самой среды как по размеру, так и по содержанию. Этот SDK содержит две утилитки adt и adl. Первая создаёт установочный air-пакет, а вторая позволяет запустить air-приложение прямо из исходников без установки. AIR SDK существует также в виде плагинов к Adobe Dreamweaver CS3, Aptana Studio. Компилирование является довольно несложным делом: чтобы скомпилировать в установочный пакет html-страницу или флэшку, достаточно создать один XML-файл - дескриптор приложения. В этом файле содержатся описания основных атрибутов, название программы, ее версия, размеры окна и т.д. На основании этого дескриптора и компилируется установочный пакет.

Конечно же, волнует такой вопрос, как безопасность. Ведь air-приложение - это практически тот же браузер. Проблемы с безопасностью, свойственные flash-плееру, будут свойственны и всем air-программам. Код javascript этих программ имеет большие возможности, чем код в обычном браузере. Поэтому веб-приложения могут быть подвержены большему количеству атак, чем выполняемые в том же браузере. Для безопасности в AIR предусмотрены определённые механизмы. Это и цифровые подписи программ, и запуск внешнего кода, подгружаемого через фреймы в отдельной "песочнице". Но время покажет, насколько надёжна система защиты AIR.

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

Михаил АСТАПЧИК

Версия для печатиВерсия для печати

Номер: 

17 за 2008 год

Рубрика: 

Software
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!