Was leistet Adobe AIR?
Mittlerweile dürfte sich herumgesprochen haben, dass Adobe AIR nun unter der Versionsnummer 1.0 im Netz kursiert. Adobe AIR ist meiner Meinung nach die Killerapplikation schlechthin, obwohl es momentan noch etwas belächelt wird. Was ist AIR und wie funktioniert es? Welche Vorteile bringt es dem Entwickler bzw. Endbenutzer?
Was ist Adobe AIR?
AIR ist die Kurzform für Adobe Integrated Runtime. Es handelt sich hierbei um eine plattform- und browserunabhängige Laufzeitumgebung zur Integration von Technologien wie Ajax, Flash etc. Simpel gesprochen ist es eine Art Container in den andere Technologien integriert werden können. AIR bietet eine API an, die es z.B. ermöglicht lokal Dateien zu schreiben oder mit SQLite-Datenbanken zu arbeiten (siehe: christianpfeil.com - Mit Adobe AIR SQLite-Datenbanken erzeugen und verwalten). AIR erweitert quasi bestehende Technologien um diese für den Desktop “fit” zu machen.
Welche Vorteile bietet AIR dem Entwickler und Benutzer?
AIR ist meiner Meinung nach das perfekte Modell, wie wir in Zukunft Software vertreiben und Updates ausliefern können. AIR löst die Grenze zwischen On- und Offline Applikation völlig auf. Auf Basis eines Source-Codes, lässt sich (mithilfe von Flex) eine Webapplikation oder eine Desktop-Anwendung erstellen (siehe: Adobe.com - Building Flex and Adobe AIR applications from the same code base). Das reduziert Kosten und sorgt für die Skalierbarkeit von Anwendungen.
Die Vorteile im Überblick:
Eine Datei, viele Plattformen!
Eine AIR-Desktop Applikation endet mit “air”. Alle, für das Programm benötigten, Dateien sind in dieser einen Datei verpackt, welche auf allen Betriebssystemen gestartet bzw. installiert werden kann (egal ob Mac, PC oder Linux). Eine AIR-Applikation verhält sich auf verschiedenen Betriebssystemen gleich. Gleiches Aussehen, gleiches Verhalten dank einer API. AIR kann HTML/Ajax bzw. Flash/Flex darstellen.
Digitale Signaturen, Sicherheit geht vor!
Der Benutzer weiß ob eine AIR-Applikation sicher ist und ob er dieser auch vertrauen kann: AIR unterstützt digitale Software-Signaturen von Thawte und Verisign.
Software Updates in sekundenschnelle!
Den Benutzer hat keinen großen Ärger mit umständlichen Update-Routinen, Neustarts etc. Der Entwickler kann per Auto-Update Änderungen sofort an alle Benutzer ausliefern die seine Software nutzen. Auch hier wird Sicherheit groß geschrieben: Nur signierte Update-Pakete vom gleichen Entwickler können als Update installiert werden. Die Auslieferung von Updates bzw. die Installation wird zum Kinderspiel.
Software-Installation aus dem Web
Mithilfe des Badge Install Features kann man Anwendungen direkt von einer Webseite installieren. Der Umweg über einen Download entfällt.
The biggest benefit of AIR: Nahtloser Übergang zwischen On- und Offline Applikation
Entwickler können von einer “Code-Basis” zwei Applikationen erzeugen. Mit Hilfe von FlexBuilder, erzeugt der Entwickler die gleiche Anwendung in einer HTML Seite und dank AIR nun auch auf dem Desktop.
Die Adobe AIR API erlaubt es dem Entwickler folgende Features zu implementieren:
- Zugriff auf das Dateisystem,
- Lokale SQLite-Datenbanken zu erstellen,
- TCP/IP Verbindungen aufzubauen,
- Binary Sockets zu nutzen,
- Per Drag-n-Drop mit dem Desktop zu interagieren,
- Die Zwischenablage des Betriebssystems zu lesen und das
- Assozieren von Dateitypen zu einem Programm.
Zwar entfallen diese Features, sofern man die gleiche Applikation im Web veröffentlicht, aber mithilfe einer abstrakten Klassen-Architektur lässt sich dieses Problem umgehen. Wer mehr dazu erfahren möchte, sollte sich den Artikel Building Flex and Adobe AIR applications from the same code base durchlesen.
Gleiches gilt natürlich auch für die Entwicklung mit HTML und Ajax.
Ein großer Markt für Entwickler
Laut Ted Patrick (Flex Evangelist bei Adobe Systems), unterstützt AIR momentan über 80% der Funktionen des Software-Markts. Natürlich wird die API zukünftig erweitert, sodass dem Entwickler nahezu unbegrenzte Möglichkeiten zur Verfügung stehen werden komplexere Anwendungen zu entwickeln.
Ein großer Vorteil ist, dass viele Entwickler (egal ob HTML/Ajax oder Flash/Flex) bereits heute schon von ihrem Wissen profitieren und in der Lage sind eigenständig AIR-Applikationen zu erstellen. Die Erstellung von AIR-Applikationen ist sowohl bei Ajax-Entwicklungsumgebungen (siehe: Aptana Studio) als auch beim FlexBuilder schon sehr gut integriert und funktioniert quasi auf Knopfdruck!

Eine der beliebtesten AIR-Applikationen: Analytics Reporting Suite. Download: Analytics Reporting Suite.
Fazit
Warum Adobe AIR momentan von großen Online-Magazinen als direkte Silverlight Konkurrenz oder als Antwort auf Microsoft Silverlight verstanden wird verstehe überhaupt nicht, schließlich sind es zwei völlig unterschiedliche Technologien. Dieser Vergleich ist schlichtweg falsch!
Mein Fazit im Bezug auf AIR fällt absolut positiv aus. Adobe zeigt uns Entwicklern einen ganz neuen Weg zur Erstellung, zum Vertrieb und zur Wartung von Software auf. Obwohl ich denke, dass in den Köpfen der Benutzer noch ein Umdenken stattfinden muss, wie wir Software benutzen und verstehen, bietet AIR eine ganz neue Möglichkeit Software greifbarer zu machen.
Weiterführende Weblinks:




Am 29. Februar 2008 um 23:04 Uhr
Hallo Christian,
nachdem ich jetzt schon einige male im Kontext von Adobe Flex, AIR & Co über Deinen Blog gestolpert bin, dachte ich mir ich lobe diesen einfach mal in Form eines kurzen Kommentares!
Und da das ganze ja ein Kommentar und kein Gästebucheintrag werden soll, nehme ich direkt Bezug zu diesem Artikel über Adobe Air.
Zum Hintergrund: ich arbeite bei einer Schweizer IT-Beratung und beschäftige mich nahezu seit der Stunde Null mit Ajax. Was ich immer häufiger feststelle ist dass neben all den schönen Dingen die uns Ajax ermöglicht (eben die klassischen “fancy GUIs”…) der euphorischen Begeisterung langsam aber sicher eine Welle der Ernüchterung heran rollt: konnten zwar zu Beginn der Ajax (R)evolution Themen wie Performance, Frontend Wartung&Support (gerade wenn unterschiedliche JS Bibliotheken eingesetzt werden…) durch den Vorteil der plötzlich vorhanden “Interaktivität” überspielt werden, so stehen diese jetzt langsam aber sicher wieder im Focus. Bei vielen Kunden bei denen wir Ajax Lösungen implementiert haben würde ich im Nachhinein eher zu einer Rich Client Technologie greifen - gilt jetzt nicht für die 0815-Web-Apps die man überall findet, sondern gilt viel mehr für die Applikationen, die “professionelle User” adressieren; als Beispiel sei hier einfach mal der Sachbearbeiter in einer Versicherung genannt, der die Auftragsabwicklung via Ajax-basierte Formulare o.ä. abwickeln muss. Für uns als Entwickler sind die Mini Verzögerungen die bei einem Ajax Roundtrip entstehen kaum zu spüren, der Sachbearbeiter, der acht Stunden vor der Applikation hängt spürt diese auf Dauer aber sehr wohl! Ohne Zweifel - er spürt diese nicht so stark wie bei einer Non-Ajax Applikation, also ist das in jedem Fall schon ein Fortschritt.
Aus dem o.g. Beispiel lässt sich für mich ableiten dass die Renaissance der Rich-Clients unmittelbar bevorsteht - bisher fehlte lediglich eine Technologie die es ermöglicht an Betsehendem festzuhalten und daraus mit nur geringem Aufwand einen Rich Client zu erschaffen - Adobe AIR schließt genau diese Lücke!
Auch sollte man sich überlegen, wenn man auf ein klassisches “green field Projekt” stößt, welches die Implementierung eines Rich- und Thin-Client verlangt, ob man nicht direkt mit Flex ans Werk geht - denn auch wenn sich jede JS-Bibliothek damit schmückt alle Crossbrowser Issues voll im Griff zu haben, sobald die Applikation mehr beinhaltet als einen Baum und eine zugehörige Tabellen-View, melden sich eben diese Crossbrowser Issues ganz schnell zurück und man ist wieder gezwungen JS-Try&Error Sessions in unterschiedlichen Browsern auszuführen…
Auch an dieser Stelle noch eine kurze Beobachtung meinerseits: in den Anfängen von Ajax war es extrem schwierig Kunden (gerade im Banken Sektor) davon zu überzeugen dass JavaScript keine böse Script-Sprache ist, und wir hatten oft ewig lange Aufklärungssitzungen zu diesem Thema. Mittlerweile können wir Ajax problemlos als GUI Technologie vorschlagen, da sich die Einstellung (zum Glück!) komplett geändert hat. Ich denke mit Flex wird es ähnlich werden - im Augenblick sind wir noch chancenlos bei Kunden im J2EE Umfeld ein Flex-GUI zu platzieren…dennoch bin ich mir sicher dass sich das genau wie mit JavaScript verhalten wird…
So, jetzt ist aus dem Kommentar schon ein riesiger Molloch geworden, sorry - aber da ich Dein Engagement rund um dieses Thema sehr lobenswert finde wollte ich Dir ganz einfach mal ein wenig Rückenwind aus der Schweiz zu fächern…!
Vielleicht sieht man sich ja mal in Nicos Cocktail Bar wenn ich mal wieder in Brensbach bin, schöne Grüße Florian!
Am 1. März 2008 um 22:40 Uhr
Hi Christian,
sehr schöne Übersicht. Danke!
Am 3. März 2008 um 08:41 Uhr
Hallo Florian,
vielen dank für deinen sehr ausführlichen Kommentar. Es freut mich immer wieder wenn ich ein positives Feedback auf meine Beiträge bekomme und es Menschen gibt die gerne den berühmten “Blick über den Tellerrand wagen” und ihre Meinung mit mir teilen.
Warum Ajax von Anfang an eine regelrechte Euphorie auf Seiten der Entwickler auslöste, kann ich bis heute nicht wirklich nachvollziehen. Ich finde, dass sehr viele Technologie heutzutage zu schnell und zu unrecht “gehyped” werden. Das ist aber meiner Meinung nach eine der schlimmsten Krankheiten des Web 2.0.
Das eine Technologie wie AIR erst sehr spät Akzeptanz finden wird, liegt meiner Meinung nach an zwei Faktoren. Einmal denke ich, gibt es auf Seiten der Entwickler und Berater starke Informationsdefizite. Andererseits spielt eine gewisse Arroganz auf Seite der Medienschaffenden sicherlich auch eine nicht zu verachtende Rolle bei der Etablierung neuer Technologien wie AIR. Es ist schon ein wenig eigenartig das JS jahrelang braucht, um den Ruf der gefährlichen Skript-Sprache wieder loszuwerden. Und nun soll es im Banken Sektor in Verbindung mit Ajax genutzt werden, oje! Du hast mit deinem Beispiel aber schon Recht, vielen Dank dafür!
In diesem Zusammenhang könnte man sich auch über das Image von Flash so einige Gedanken machen. Leider verbinden viele Leute mit Flash immer noch nervige Werbung, lästige Intro-Animationen, schlechte Usability auf bunten lustigen Seiten oder einfach nur Games und Animation. Dem Kunden klar zu machen, dass Flash heute mehr ist als das ist in den meisten Fällen nur mit viel Überzeugungsarbeit zu schaffen.
Niemand denkt beim Wort Flash sofort an ein großartiges Flex-GUI, welches problemlos mit J2EE zusammenarbeiten kann oder sogar in SAP zum Einsatz kommt. Wirklich niemand denkt an die großartigen Möglichkeiten der Vertriebswege und des Software-Supports.
All diese Fragen und Probleme brauchen noch ein wenig Zeit. Momentan heißt es den Überblick im Frontend-Jungel zu bewahren und Technologien wie Silverlight eine Chance zu geben.
Grüße in die Schweiz!
Christian
Am 2. Mai 2008 um 15:34 Uhr
Guten Tag!
Auch ich moechte mich sehr fuer dieses Posting bedanken, Christian.
Ich persoehnlich halte AIR fuer eine Revolution in Sachen Web 2.0
Endlich kann man als Entwickler komplexe Webpraesenzen schreiben, die wirklich alles vereinen:
Ein flexibles und maechtiges Dateisystem (das ich nur von PHP kenne),
eine hauseigene Sicherheit,
HTML/CSS/PHP/MySQL integriert in eine FLASH Anwendung. Wieso das? Ganz einfach aus dem Grund, da FLASH uns Entwicklern um einiges mehr Moeglichkeiten besonders im Design und der Benutzerfreundlichkeit bietet, als die vorgefuerten Sprachen.
Außerdem soll es ja in naher Zukunft moeglich sein, C/C /Phyton anwendungen in AIR integrieren zu koennen. Dies waere natuerlich die Kroenung des Ganzens.
Und jetzt eine Frage an dich, Christian, siehst du in AIR 1.0 wenigstens *einen* Nachteil?
Mit freundlichen Gruessen.