Adobe AIR: Связующее звено между десктопом и веб-пространством

9

Джон Уорнок и Чарльз Гешке не просто создали компанию в 1982 году. Они построили инфраструктуру того, как мы воспринимаем информацию сегодня. Adobe Systems. Именно с этим именем связан формат переносимых документов (PDF). Это стандарт компактных файлов, которые достаточно малы для отправки по электронной почте, но стабильны для печати. Бизнес полагается на него, чтобы делиться документами без нарушения форматирования. Вы используете его для чтения статей или просмотра фотографий. По сути, это неограниченный фотокопир, сидящий на вашем жестком диске. Затем есть творческий пакет. Illustrator. Photoshop. InDesign. Эти инструменты позволяют любому, от профессионалов до любителей, манипулировать изображениями и макетами. Без Photoshop? Никаких LOLcats. Интернет был бы значительно менее веселым.

Adobe изменила создание контента. И теперь они хотят изменить то, как этот контент существует в сети. Цель проста. Сделать так, чтобы десктоп и веб ощущались как единое целое.

В начале 2008 года они выпустили версию 1.0 Adobe AIR. Это кроссплатформенная среда выполнения. Разработчики используют ее для упаковки технологий HTML, Ajax, Flash и Flex. Затем они могут развертывать их как Интернет-приложения с расширенным функционалом (RIA) непосредственно на рабочем столе. Adobe предлагает ее разработчикам, бизнесу и обычным пользователям. Вы можете скачать ее бесплатно.

Но что она на самом деле делает? И почему вам должно быть интересно?

Как Интернет-приложения с расширенным функционалом меняют ваш рабочий процесс

Итак, что такое RIA? Это приложение, которое выглядит и ощущается как десктопное программное обеспечение, но создано с использованием веб-технологий. Традиционные веб-приложения ограничены «песочницей» вашего браузера. Им требуется постоянное подключение к интернету. Они работают медленно.

Adobe AIR устраняет эти ограничения. Он позволяет разработчикам упаковывать свой веб-код в автономные приложения. Вы устанавливаете его. Оно запускается независимо. Ему не нужны Chrome или Firefox для работы. Оно получает доступ к вашим локальным файлам, календарю, контактам. Оно ощущается как нативное.

Вспомните Adobe Bridge. Или даже простые инструменты, такие как расширение Adobe Reader. До AIR это были громоздкие плагины или ограниченные веб-виджеты. С AIR они становятся полноценными приложениями. Быстрее. Плавнее. Способны работать офлайн.

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

Почему разработчики выбирают Adobe AIR

Для тех, кто любит возиться с кодом, привлекательность очевидна. Вы создаете один раз. Развертываете везде. Windows. macOS. Linux. Нет необходимости писать отдельные приложения на C++ или Java для каждой платформы. Вы придерживаетесь HTML, CSS и JavaScript.

И дело не только в переносимости. Дело в доступе. AIR дает веб-приложениям доступ к функциям операционной системы. Диалоги выбора файлов. Значки в системном трее. Офлайн-хранилище. Это устраняет разрыв. Вы перестаете создавать «сайты, которые ведут себя как приложения», и начинаете создавать «приложения, которые живут в вебе».

Бизнесу это нравится. Они могут мгновенно推送 обновления. Больше не нужно ждать, пока ИТ-специалисты установят патчи на каждое устройство. Просто обновите сервер. Пользователи получают новую версию при следующем запуске приложения.

Что это означает для обычных пользователей

Вам, вероятно, все равно на архитектуру среды выполнения. Вам важно, что на ней работает.

Для

Что на самом деле представляет собой AIR «под капотом»

Прежде чем погружаться в детали Adobe AIR, необходимо отбросить маркетинговый жаргон и понять, что на самом деле означает кроссплатформенное окружение выполнения (runtime). По своей сути Adobe AIR — это движок выполнения (runtime engine). Представьте его как переводчика.

Когда вы пишете код, вы пишете не на машинном языке — на сырых нулях и единицах, которые понимает процессор. Вы используете высокоуровневые языки, такие как HTML, XML или JavaScript. Движок выполнения преобразует этот код в исполняемые инструкции. Без этого слоя ваш компьютер остается просто молчаливым кирпичом.

Возьмем для примера Java. Если приложение создано на Java, для его работы требуется установленная виртуальная машина Java (JVM). Без JVM приложение не запустится. Здесь действует та же логика. Adobe AIR предоставляет инфраструктуру, необходимую для отображения графического пользовательского интерфейса (GUI) на вашем рабочем столе. Речь идет не только о окнах и значках; это человеко-машинный интерфейс, позволяющий взаимодействовать с программным обеспечением с помощью мыши или клавиатуры. Фактически, вся ваша операционная система по сути является гигантским движком выполнения, опосредующим взаимодействие между вашим оборудованием и каждым запускаемым приложением.

Почему важно понятие «Кроссплатформенность»

Когда Adobe называет AIR кроссплатформенным решением, они имеют в виду, что оно может игнорировать различия между операционными системами. Программе, работающей на macOS, не нужно переписывать код, чтобы она выглядела нативно в Windows XP. AIR берет на себя процесс рендеринга.

Именно здесь AIR резко отличается от стандартного Flash Player. Flash Player живет внутри браузера. Это плагин. Однако приложения Adobe AIR работают на рабочем столе. Им не нужны Chrome или Firefox для функционирования. Поскольку AIR включает в себя открытый движок рендеринга HTML WebKit, он может отображать сложный веб-контент непосредственно в среде рабочего стола. Он стирает границу между изолированным миром браузера и нативными возможностями операционной системы.

Определение RIA

Вы часто будете слышать, как Adobe использует термин Интернет-приложения с расширенными возможностями (Rich Internet Applications, RIA). Это широкий термин для веб-приложений, которые ощущаются как десктопное программное обеспечение. Они обеспечивают высокую интерактивность и связность. Такие сайты, как Flickr или Google Maps, являются классическими примерами. Они увлекательны, но notoriously difficult to program (славятся сложностью в разработке).

Adobe AIR был разработан для упрощения этого процесса разработки. Он позволяет разработчикам взять лучшие черты веб-взаимодействия и упаковать их в автономный десктопный опыт. Цель? Пользовательский опыт, который ощущается как нативный, но сохраняет связность веб-среды.

Кто выигрывает от использования Adobe AIR?

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

Разработчики получают значительное преимущество. Поскольку AIR поддерживает HTML, XML и JavaScript, им не нужно изучать проприетарный язык программирования. Они могут использовать знакомые веб-технологии для создания десктопных приложений. Это снижает порог входа. Разработчик, умеющий создавать веб-сайты, может создать десктопное приложение с минимальными трудностями.

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

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

Реальное применение: eBay Desktop

Не верьте на слово Adobe. Посмотрите на eBay. Они выпустили приложение eBay Desktop, созданное на базе Adobe AIR.

Зачем? Потому что проверка аукционов в браузере неудобна. Вам приходится постоянно обновлять страницу или заново входить в систему. Приложение eBay Desktop работает независимо. Оно предоставляет непрерывные обновления по товарам, на которые вы делаете ставки. Оно полностью устраняет трение, связанное с браузером. В этом заключается обещание AIR: взять веб-рабочий процесс и оптимизировать его для среды рабочего стола.

Актуально ли это сегодня?

Ландшафт изменился. Хотя некоторые разработчики все еще поддерживают проекты на Adobe AIR, эта технология в значительной степени была вытеснена современными фреймворками и методами нативной разработки приложений.

Если вы спрашиваете, нужен ли он вам сегодня, ответом, как правило, будет «нет». Он не требуется в современных системах macOS. Многие сценарии его использования были поглощены приложениями на базе Electron или инструментами нативной разработки для iOS/Android. Он работал. Он решил конкретную проблему в середине 2000-х и начале 2010-х годов. Но веб и десктопы объединились такими способами, которые не требовали отдельного слоя выполнения.

«Adobe AIR был мостом. Он позволял веб-разработчикам создавать десктопные приложения, не изучая нативный код. Этот мост в основном был перестроен».

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

Наследие Adobe AIR и эволюция веба

Ландшафт веб-разработки кардинально изменился с тех пор, как проводились первые эксперименты. То, что начиналось как любопытство — попытка преодолеть разрыв между браузером и рабочим столом, — превратилось во что-то гораздо более обыденное, но столь же повсеместное. Нам больше не нужна выделенная среда выполнения, такая как Adobe AIR, для запуска богатых интернет-приложений. Сам браузер стал платформой.

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

Преодоление разрыва до доминирования PWA

В 2007 и 2008 годах веб был ориентирован на работу в режиме онлайн. Если соединение прерывалось, приложение переставало работать. Adobe AIR изменил это, позволив разработчикам упаковывать HTML, JavaScript и CSS в автономные приложения, способные хранить данные локально. Это дало представление о программном обеспечении будущего, где ваше веб-приложение живет на рабочем столе и работает без сигнала.

«Adobe AIR дарит свежий воздух веб- и настольной разработке».

Это не было просто уловкой. Технология устраняла ограничения стандартных лицензионных соглашений (EULA) и «закрытых садов» настольного ПО. Она позволяла разработчикам обходить ограничения браузерных песочниц, продолжая использовать веб-стандарты. Для пользователей это означало приложения, которые ощущались как нативные, но были созданы с использованием веб-технологий.

Почему произошел сдвиг

Появление Прогрессивных веб-приложений (PWA) и улучшение браузерных API эффективно сделали AIR избыточным. Браузеры получили сервис-воркеры, кэш-хранилища и файлы манифестов. Они могли выполнять офлайн-кэширование, отправлять push-уведомления и даже устанавливаться на рабочий стол без отдельной среды выполнения. В конечном итоге Adobe сместила фокус, признав, что веб-платформа догоняет конкурентов.

Источники того периода, такие как материалы Джекки Чэн в Ars Technica или первые обзоры Райана Пола, подчеркивают переходный этап. Они передавали воодушевление от технологии, обещавшей объединить веб- и настольную разработку. Однако в них также намечались проблемы: вопросы безопасности, сложность установки и неизбежное устаревание самой среды выполнения.

Чему мы научились

Урок эпохи AIR очевиден: платформы сходятся. Когда одной платформе не хватает какой-либо функции, другая ее внедряет. Граница между «веб-приложением» и «настольным приложением» все больше стирается. Пользователи ожидают, что их веб-инструменты будут работать офлайн, синхронизироваться между устройствами и отзывчиво реагировать на действия. Разработчики ожидают, что единая кодовая база позволит охватить множество экранов.

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

Сегодня, создавая приложения для веба, мы строим будущее, независимое от типа устройства. Средой выполнения является браузер. API — это операционная система. Задача больше не заключается в преодолении разрыва. Она состоит в оптимизации производительности, доступности и конфиденциальности в среде, которая всегда находится в сети.

Инструменты меняются. Цель остается прежней: предоставлять пользователям мощные и бесшовные впечатления. Будь то автономный исполняемый файл или URL-адрес во вкладке, цель одна. Мы просто стали лучше скрывать внутреннюю механику.