Adobe AIR: Połączenie między komputerem stacjonarnym a Internetem

6

John Warnock i Charles Geschke nie tylko założyli firmę w 1982 roku. To oni zbudowali infrastrukturę tego, jak dzisiaj postrzegamy informacje. Systemy Adobe. Z tą nazwą powiązany jest format Portable Document Format (PDF). Jest to standard dla plików kompaktowych, które są wystarczająco małe, aby można je było wysłać pocztą elektroniczną, ale wystarczająco stabilne, aby można je było wydrukować. Firmy polegają na nim, aby udostępniać dokumenty bez przerywania formatowania. Używasz go do czytania artykułów lub przeglądania zdjęć. Zasadniczo jest to nieograniczona kserokopiarka znajdująca się na Twoim dysku twardym. Następnie jest pakiet kreatywny. Ilustrator. Photoshopa. InDesign. Narzędzia te pozwalają każdemu, od profesjonalistów po hobbystów, manipulować obrazami i układami. Bez Photoshopa? Żadnych LOLcatów. Internet byłby znacznie mniej zabawny.

Firma Adobe zrewolucjonizowała tworzenie treści. A teraz chcą zmienić sposób, w jaki treści istnieją w Internecie. Cel jest prosty. Spraw, aby komputer stacjonarny i Internet były jednością.

Na początku 2008 roku wypuścili wersję 1.0 Adobe AIR. Jest to wieloplatformowe środowisko wykonawcze. Programiści używają go do pakowania technologii HTML, Ajax, Flash i Flex. Następnie mogą wdrożyć je jako Rich aplikacje internetowe (RIA) bezpośrednio na komputerze. Adobe oferuje je programistom, firmom i zwykłym użytkownikom. Możesz pobrać go za darmo.

Ale co ona właściwie robi? A dlaczego powinno Cię to obchodzić?

Jak bogate aplikacje internetowe zmieniają Twój przepływ pracy

Czym zatem jest RIA? Jest to aplikacja, która wygląda i działa jak oprogramowanie komputerowe, ale jest zbudowana przy użyciu technologii internetowych. Tradycyjne aplikacje internetowe są ograniczone przez piaskownicę przeglądarki. Wymagają stałego połączenia z Internetem. Działają powoli.

Adobe AIR eliminuje te ograniczenia. Umożliwia programistom pakowanie kodu internetowego w samodzielne aplikacje. Instalujesz to. Działa niezależnie. Do działania nie jest wymagana przeglądarka Chrome ani Firefox. Uzyskuje dostęp do lokalnych plików, kalendarza i kontaktów. To sprawia wrażenie rodzimego.

Pomyśl o Adobe Bridge. Lub nawet proste narzędzia, takie jak rozszerzenie Adobe Reader. Przed środowiskiem AIR były to kłopotliwe wtyczki lub ograniczone widżety internetowe. Dzięki środowisku AIR stają się one pełnoprawnymi aplikacjami. Szybciej. Gładsza. Możliwość pracy offline.

Jest to ważne, ponieważ sieć nigdy nie została zaprojektowana do ciężkiej pracy. Jest przeznaczony do dokumentów i linków. Teraz dzięki Adobe AIR możesz uruchamiać złożone aplikacje przetwarzające duże ilości danych bez opuszczania środowiska komputerowego. Otrzymujesz zasięg sieci dzięki mocy natywnego oprogramowania.

Dlaczego programiści wybierają Adobe AIR

Dla tych, którzy lubią majstrować przy kodzie, atrakcyjność jest oczywista. Tworzysz raz. Wdrażaj wszędzie. Okna. macOS. Linuksa. Nie ma potrzeby pisania oddzielnych aplikacji C++ lub Java dla każdej platformy. Trzymasz się HTML, CSS i JavaScript.

I nie chodzi tylko o przenośność. To kwestia dostępu. Środowisko AIR zapewnia aplikacjom internetowym dostęp do funkcji systemu operacyjnego. Okna dialogowe wyboru pliku. Ikony w zasobniku systemowym. Pamięć offline. To wypełnia lukę. Przestajesz tworzyć „witryny działające jak aplikacje” i zaczynasz tworzyć „aplikacje działające w Internecie”.

Firmy to uwielbiają. Mogą aktualizować się natychmiast. Koniec z czekaniem, aż dział IT załata każde urządzenie. Wystarczy zaktualizować serwer. Użytkownicy otrzymają nową wersję przy następnym uruchomieniu aplikacji.

Co to oznacza dla zwykłych użytkowników?

Prawdopodobnie nie zależy Ci na architekturze wykonawczej. Dla Ciebie liczy się to, co na to działa.

Dla

Czym właściwie jest AIR „pod maską”

Zanim zagłębisz się w szczegóły Adobe AIR, ważne jest, aby przełamać żargon marketingowy i zrozumieć, co tak naprawdę oznacza międzyplatformowe środowisko wykonawcze. W swej istocie Adobe AIR jest silnikiem wykonawczym. Pomyśl o nim jako o tłumaczu.

Kiedy piszesz kod, nie piszesz w języku maszynowym – w surowych zerach i jedynekach zrozumiałych dla procesora. Używasz języków wysokiego poziomu, takich jak HTML, XML czy JavaScript. Silnik wykonawczy konwertuje ten kod na instrukcje wykonywalne. Bez tej warstwy komputer będzie jedynie cichą cegłą.

Weźmy jako przykład Javę. Jeśli aplikacja jest napisana w języku Java, do działania wymaga wirtualnej maszyny Java (JVM). Bez JVM aplikacja nie będzie działać. Tutaj obowiązuje ta sama logika. Adobe AIR zapewnia infrastrukturę potrzebną do wyświetlania graficznego interfejsu użytkownika (GUI) na pulpicie. Nie chodzi tylko o okna i ikony; Jest to interfejs człowiek-maszyna umożliwiający interakcję z oprogramowaniem za pomocą myszy lub klawiatury. W rzeczywistości cały system operacyjny to w zasadzie gigantyczny silnik wykonawczy, pośredniczący w interakcji między sprzętem a każdą uruchomioną aplikacją.

Dlaczego koncepcja „międzyplatformowości” jest ważna?

Kiedy firma Adobe nazywa środowisko AIR wieloplatformowym, ma to na myśli, że może ignorować różnice między systemami operacyjnymi. Program działający w systemie macOS nie musi przepisywać swojego kodu, aby wyglądać natywnie w systemie Windows XP. AIR zajmuje się procesem renderowania.

Pod tym względem środowisko AIR znacznie różni się od standardowego programu Flash Player. Flash Player żyje wewnątrz przeglądarki. To jest wtyczka. Jednak aplikacje Adobe AIR działają na komputerze stacjonarnym. Nie potrzebują przeglądarki Chrome ani Firefoksa do działania. Ponieważ środowisko AIR zawiera silnik renderujący HTML typu open source WebKit, może renderować złożoną zawartość internetową bezpośrednio w środowisku graficznym. Zaciera granicę pomiędzy izolowanym światem przeglądarki a natywnymi możliwościami systemu operacyjnego.

Definicja OSR

Często słyszy się, że firma Adobe używa terminu Rich Internet Applications (RIA). Jest to szerokie określenie aplikacji internetowych przypominających oprogramowanie komputerowe. Zapewniają wysoką interaktywność i łączność. Klasycznymi przykładami są witryny takie jak Flickr czy Mapy Google. Są fascynujące, ale niezwykle trudne do zaprogramowania.

Adobe AIR zaprojektowano tak, aby uprościć proces programowania. Umożliwia programistom wykorzystanie najlepszych funkcji rozwiązań internetowych i umieszczenie ich w samodzielnym środowisku komputerowym. Cel? Doświadczenie użytkownika, które wydaje się natywne, ale zachowuje spójność środowiska internetowego.

Kto odnosi korzyści z używania Adobe AIR?

Adobe pozycjonuje platformę tak, aby służyła trzem odrębnym grupom: programistom, firmom i użytkownikom końcowym.

Programiści zyskują znaczącą przewagę. Ponieważ środowisko AIR obsługuje HTML, XML i JavaScript, nie muszą uczyć się zastrzeżonego języka programowania. Potrafią używać znanych technologii internetowych do tworzenia aplikacji komputerowych. To obniża barierę wejścia. Programista, który wie, jak tworzyć strony internetowe, może stworzyć aplikację komputerową przy minimalnych trudnościach.

Firmy korzystają ze środowiska AIR w celu pogłębienia interakcji z użytkownikami. Jeśli użytkownik może pobrać aplikację bezpośrednio na swój komputer, bez otwierania przeglądarki, jest bardziej prawdopodobne, że nadal będzie działał. Ciągła interakcja eliminuje efemeryczny charakter karty przeglądarki.

Użytkownicy końcowi otrzymują aplikacje, do których łatwiej uzyskać dostęp i które działają szybciej. Po zainstalowaniu środowiska AIR aplikacje te można uruchomić jednym kliknięciem. Mniej mają ochotę odwiedzić stronę internetową, a bardziej uruchomić oprogramowanie.

Aplikacja w świecie rzeczywistym: eBay Desktop

Nie wierz na słowo Adobe. Poszukaj na eBay’u. Wydali aplikację eBay Desktop opartą na Adobe AIR.

Po co? Bo sprawdzanie aukcji w przeglądarce jest niewygodne. Trzeba stale odświeżać stronę lub logować się na nowo. Aplikacja komputerowa eBay działa niezależnie. Zapewnia ciągłe aktualizacje dotyczące przedmiotów, które licytujesz. Całkowicie eliminuje tarcie związane z przeglądarką. Oto obietnica środowiska AIR: przejęcie przepływu pracy w Internecie i optymalizacja go pod kątem środowiska komputerowego.

Czy to jest aktualne dzisiaj?

Krajobraz się zmienił. Chociaż niektórzy programiści nadal obsługują projekty Adobe AIR, technologia ta została w dużej mierze zastąpiona nowoczesnymi frameworkami i natywnymi metodami tworzenia aplikacji.

Jeśli zapytasz, czy potrzebujesz tego dzisiaj, odpowiedź zwykle brzmi „nie”. Nie jest to wymagane w nowoczesnych systemach macOS. Wiele jego przypadków użycia zostało wchłoniętych przez aplikacje oparte na elektronach lub natywne narzędzia programistyczne dla iOS/Android. Pracował. Rozwiązał konkretny problem w połowie XXI wieku i na początku 2010 roku. Jednak internet i komputer stacjonarny połączyły się w sposób, który nie wymagał osobnej warstwy wykonawczej.

“Adobe AIR był pomostem. Umożliwił twórcom stron internetowych tworzenie aplikacji komputerowych bez konieczności uczenia się kodu natywnego. Most ten został w zasadzie przebudowany.”

Technologia nie umarła, ale nie jest już wyborem domyślnym. Dla większości użytkowników nie ma potrzeby jego instalowania. Dla programistów jest to przestarzałe narzędzie. Tworzenie stron internetowych posunęło się dalej.

Dziedzictwo Adobe AIR i ewolucja Internetu

Krajobraz tworzenia stron internetowych zmienił się radykalnie od czasu przeprowadzenia pierwszych eksperymentów. To, co zaczęło się jako ciekawostka – próba wypełnienia luki między przeglądarką a komputerem stacjonarnym – zmieniło się w coś znacznie bardziej przyziemnego, ale równie wszechobecnego. Nie potrzebujemy już dedykowanego środowiska wykonawczego, takiego jak Adobe AIR, aby uruchamiać zaawansowane aplikacje internetowe. Sama przeglądarka stała się platformą.

Jednak spojrzenie na epokę, w której środowisko AIR obiecywało zapewnić technologie internetowe na poziomie komputera stacjonarnego, wyjaśnia, dlaczego nowoczesny stos technologii ma znaczenie. Nie chodziło tylko o nostalgię. Chodziło o rozwiązanie konkretnego problemu: dostępu offline.

Wypełnianie luki w dominacji PWA

W latach 2007 i 2008 sieć skupiała się na pracy online. Jeśli połączenie zostało przerwane, aplikacja przestała działać. Adobe AIR zmienił to, umożliwiając programistom pakowanie HTML, JavaScript i CSS w samodzielne aplikacje, które mogą lokalnie przechowywać dane. Dało to wgląd w przyszłość oprogramowania, w którym aplikacja internetowa znajduje się na pulpicie i działa bez sygnału.

„Adobe AIR wnosi świeży powiew do tworzenia stron internetowych i komputerów stacjonarnych.”

To nie był tylko podstęp. Technologia wyeliminowała ograniczenia standardowych umów licencyjnych (EULA) i zamknięte ogrody oprogramowania komputerowego. Pozwoliło to programistom ominąć ograniczenia piaskownic przeglądarek, jednocześnie korzystając ze standardów sieciowych. Dla użytkowników oznaczało to aplikacje, które wydawały się natywne, ale zostały zbudowane przy użyciu technologii internetowych.

Dlaczego nastąpiła zmiana

Pojawienie się Progressive Web Apps (PWA) i ulepszenia interfejsów API przeglądarek skutecznie sprawiły, że środowisko AIR stało się zbędne. Przeglądarki otrzymały workery usług, magazyny pamięci podręcznej i pliki manifestu. Mogły buforować w trybie offline, wysyłać powiadomienia push, a nawet instalować na komputerze stacjonarnym bez osobnego środowiska wykonawczego. Ostatecznie firma Adobe zmieniła punkt ciężkości, uznając, że platforma internetowa dogania konkurencję.

Źródła z tamtego okresu, takie jak relacje Ars Technica Jackie Chenga czy wczesne recenzje Ryana Paula, podkreślają tę zmianę. Wyrazili podekscytowanie technologią, która obiecała połączenie tworzenia stron internetowych i komputerów stacjonarnych. Jednakże powodowały one również problemy: kwestie bezpieczeństwa, złożoność instalacji i nieuniknione starzenie się samego środowiska wykonawczego.

Czego się nauczyliśmy

Lekcja płynąca z ery AIR jest jasna: platformy zbliżają się. Kiedy na jednej platformie brakuje danej funkcji, inna ją implementuje. Granica pomiędzy „aplikacją internetową” a „aplikacją komputerową” coraz bardziej się zaciera. Użytkownicy oczekują, że ich narzędzia internetowe będą działać w trybie offline, synchronizować się między urządzeniami i reagować. Programiści oczekują, że pojedyncza baza kodu będzie obejmować wiele ekranów.

Konkretne odniesienia do artykułów „Jak działa sieć semantyczna” i „Jak działa infrastruktura internetowa” z tamtego czasu przypominają, że podstawy tych aplikacji są złożone. Nie chodzi tylko o interfejs. Ważny jest także sposób przenoszenia danych, sposób renderowania stron i ewolucja protokołów bezpieczeństwa.

Dziś, tworząc aplikacje internetowe, budujemy przyszłość niezależną od urządzeń. Środowiskiem wykonawczym jest przeglądarka. API to system operacyjny. Wyzwaniem nie jest już wypełnianie luki. Chodzi o optymalizację wydajności, dostępności i prywatności w środowisku zawsze online.

Narzędzia się zmieniają. Cel pozostaje ten sam: zapewnić użytkownikom wydajne i bezproblemowe korzystanie z aplikacji. Niezależnie od tego, czy jest to samodzielny plik wykonywalny, czy adres URL na karcie, cel jest ten sam. Po prostu zaczęliśmy lepiej ukrywać wewnętrzne mechanizmy.