Christian Pfeil - New Media Blog

Inhalt

Adobe AIR

 Adobe AIR - RIAs für den Desktop entwickeln: Know-how für HTML/Ajax- und Flash/Flex-Entwickler

Suche

Persönlich

Archiv

Täglich

RSS-Feeds

Was leistet Adobe AIR? (Update)

Adobe AIR Technologie bringt Flash und Flex Anwendungen mit zahlreichen Features auf den Desktop.

Mittlerweile dürfte sich herumgesprochen haben, dass Adobe AIR in der Version 1.5 im Netz kursiert. Adobe AIR ist meiner Meinung nach die Killerapplikation schlechthin. Was ist AIR und wie funktioniert es? Welche Vorteile bringt es dem Entwickler bzw. Anwender?

Was ist Adobe AIR?

AIR ist die Kurzform für Adobe Integrated Runtime. Es handelt sich hierbei um eine plattformunabhängige Laufzeitumgebung, zur Erstellung von so genannten Rich Internet Applications (kurz: RIA) für den Desktop.

Mit Adobe AIR, können bereits bestehende Technologien wie HTML, Ajax oder Flash als Desktop-Applikation eingesetzt werden. D.h. HTML, Ajax, Flash oder Flex Entwickler sind in der Lage, ihr bestehendes Wissen einzusetzen, um Applikationen für den Desktop zu entwicklen. Simpel gesprochen ist es eine Art Container, in den andere Technologien integriert werden können. Adobe AIR bietet eine API (engl. Application Programming Interface) 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). Adobe AIR erweitert quasi bestehende Technologien um diese für den Desktop fit zu machen.

Adobe AIR Technologie bringt Flash und Flex Anwendungen mit zahlreichen Features auf den Desktop.
Eine der beliebtesten AIR-Applikationen: Analytics Reporting Suite. Download: Analytics Reporting Suite.

Welche Vorteile bietet AIR dem Entwickler bzw. Anwender?

AIR ist meiner Meinung nach, dass 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 (z.B. mithilfe von FlexBuilder) 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.

Adobe AIR steht für Einfachheit und Sicherheit in der Entwicklung von Desktop-Applikationen.

Die Vorteile im Überblick:

Vorteil 1: Eine Datei, viele Plattformen!

Eine AIR-Applikation besitzt die Endung .*air. Alle, für das Programm benötigten Dateien, sind in dieser einen Datei verpackt, welche auf allen Betriebssystemen gestartet bzw. installiert werden kann. Eine AIR-Applikation verhält sich auf verschiedenen Betriebssystemen gleich. Gleiches Aussehen, gleiches Verhalten. AIR kann HTML/Ajax bzw. Flash/Flex oder PDF Inhalte darstellen.

Vorteil 2: Digitale Signaturen, Sicherheit geht vor!

AIR-Applikation sind sicher! AIR unterstützt digitale Software-Zertifikate von Thawte und Verisign. Dies macht es unmöglich, bereits installierte AIR-Applikationen oder Updates zu manipulieren. Jeder Entwickler verpasst seiner AIR-Applikation einen eigenen, einzigartigen, Fingerabdruck.

Vorteil 3: Software Updates in sekundenschnelle!

Der Anwender hat keinen großen Ärger mit umständlichen Update-Routinen, Neustarts etc. Ist ein Update, für eine bereits installierte Applikation vorhanden, so wird der Anwender benachrichtigt. Stimmt der Anwender einem Update zu, so wird dieses heruntergeladen, installiert und die Applikation automatisch neu gestartet. Das alles geschieht reibungslos und in sekundenschnelle.

Dank des integrierten Adobe AIR Update Frameworks, kann der Entwickler bereits auf bestehende Routinen, beim Umgang mit Software-Updates, zurückgreifen. Auch bei Updates von AIR-Applikationen wird Sicherheit groß geschrieben: Nur signierte Update-Pakete vom gleichen Entwickler können als Update installiert werden.

Die Auslieferung von Updates bzw. die Installation von AIR-Applikationen wird zum Kinderspiel! Für Anwender und Entwickler.

Vorteil 4: Installation und Start von AIR-Applikationen von einer Webseite

Mithilfe des Badge Install Features lassen sich AIR-Applikationen direkt von einer Webseite installieren. Der übliche Umweg über einen Download entfällt.

Ebenso können, auf dem System installierte AIR-Applikationen von einer Webseite gestartet werden. Auch hier ist Adobe Sicherheit sehr wichtig: Nur wenn der Entwickler einen Start der Applikation zulässt ist dies auch möglich.

Vorteil 5: The biggest benefit of AIR: Nahtloser Übergang zwischen On- und Offline Applikation

Entwickler können, auf Grundlage einer Code-Basis, eine Applikation für verschiedene Medien erzeugen. So kann eine Applikation, einmal als AIR-Applikation für den Desktop oder in einer HTML-Seite als Flash-Film deployed werden. Wer mehr dazu erfahren möchte, sollte sich den Artikel Building Flex and Adobe AIR applications from the same code base durchlesen.

Vorteil 6: Die Features von Adobe AIR

Die Adobe AIR API erlaubt es dem Entwickler folgende Features zu implementieren:

  • Zugriff auf das Dateisystem
  • Verwendung von SQLite-Datenbanken
  • TCP/IP Verbindungen aufzubauen
  • Nutzung von Binary Sockets
  • Drag and Drop
  • Copy and Paste
  • Assozieren von Dateitypen mit einer AIR-Applikation

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 Applikationen 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!

Fazit

Warum Adobe AIR momentan von großen Online-Magazinen als direkte Konkurrenz zu Microsofts Silverlight oder als Antwort auf Microsoft Silverlight verstanden wird verstehe überhaupt nicht, schließlich sind es zwei völlig unterschiedliche Technologien. Dieser Vergleich ist schlichtweg unmöglich!

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 Anwender noch ein Umdenken stattfinden muss, wie wir Software benutzen und verstehen, bietet AIR eine ganz neue Möglichkeit Software greifbarer zu machen.

Adobe AIR - RIAs für den Desktop entwickeln - Know-how für HTML/Ajax- und Flash/Flex-Entwickler

Weiterführende Weblinks:

16 Reaktionen zu “Was leistet Adobe AIR? (Update)”

  1. Florian Müller

    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!

  2. Flo

    Hi Christian,
    sehr schöne Übersicht. Danke!

  3. Christian

    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

  4. Max

    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.

  5. Simon

    Hallo,
    auch ich möchte mich für die immer wieder großartigen Blogeinträge bedanken. Auch ich beschäftige mich momentan mit den aktuellsten w3c Standards, Silverlight und Adobes Produkte.
    Meiner Meinung nach ist AIR für Clients mit genügend Power eine wirkliche Revolution. Jedoch finde ich Adobes Splitterung auch beachtlich. Mittlerweile gibt es Flash, Flash Lite und AIR als Runtimes, wobei nicht alle überall laufen, das sollte man im Hinterkopf behalten. Will man eine Eingabemaske mit Flex schreiben und dann auf ein Handy portieren funktioniert das nicht, denn swf von Flex ist nicht mit Flash Lite ausführbar, auch AIR gibt´s nur für richtige PCs. Daher sind ECMA Script, XML, und die mobilen Bestrebungen von w3c auch nicht webzuwischen und wir werden in einigen Jahren hoffentlich erleben, dass die offenen Standards endlich nicht mehr working drafts sind und in den Browsern einzug halten (Die Webkit-Platform sollte man im Auge behalten, da sie nicht nur auf iPhones sondern auch auf Nokias s60 Handys läuft). Doch auch Silverlight kämpft sich ins Mobile vor und will auf Nokia s60 und s40 laufen, daher sollte Adobe das Flash Lite doch erweitern.

    Bevor ich nun aber komplett abschweife, nochmals zum Kern: Adobe AIR ist grandios für Anwendungen auf “echten” PCs und vereinfacht dort wirklich viel, doch ist es noch nicht der Weishet letzte Schluss.

  6. Nico

    Hi,

    ein super Beitrag! Spiegelt zu 100% meine Gedanken wieder und lässt sich sehr gut lesen. (Auch für “Nicht-Entwickler”)

    Hoffen wir, dass es sich schon bald durchsetzen kann und in den Köpfen der Leute festigen wird.

    Greets, nico

  7. Oliver

    Hi,
    wie beurteilt Ihr denn die Problematik im Bezug auf AIR und dem Einsatz in größeren Unternehmen. Dort hat ja bekanntlich die IT-Sicherheit einen sehr hohen Stellenwert und das installieren von Software ist meistens nur auf Admin-Ebene gestattet. Selbst der Badge Install über die Website ist dort nicht gestattet. Man kann froh sein, wenn ein Flash Plugin vorhanden ist und jedes weitere Plugin bzw. Stück Software muss man sich hart “erkämpfen”.

    Für mich und unsere Agentur war das ein K.O.-Kriterium bei der Entwicklung & Distribution unserer Flex-Apps und wir sind auf Zinc ausgewichen. Kostet zwar Geld, aber es wird eine Exe-Datei erstellt sowie falls erwünscht auch ein Flash Projektor mit eingebunden. Hat natürlich auch noch andere Vor-/Nachteile, aber das ist hier unrelevant..

    Wie sind denn euere Erfahrungen mit der IT und AIR?

    Gruß
    Olli

  8. Rolf

    Hallo Christian,

    habe gerade Deinen Artikel gelesen, weil auf meinem Desktop zum erstenmal ein Icon von Adobe AIR erstellt wurde.

    Im großen und ganzen hab ich das verstanden – danke für die einfache Schreibweise (ich bin kein IT-ler).
    Für die von Dir geschilderten Möglichkeiten in größeren Netzwerken sicher eine tolle Sache. Wie ist das aber bei den einfachen Usern, kleinen Netzwerken, Privatrechnern usw.?

    Was mich stört sind folgende Punkte:
    Zugriff auf das Dateisystem
    TCP/IP Verbindungen aufzubauen

    Ist da nicht die Wahrscheinlichkeit extrem groß, das diese Technik von gewissen Produkten missbraucht wird?
    Man hat ja heute schon als einfacher User kaum noch die Möglichkeit zu kontrollieren, ob nicht ungebetene Gäste auf der Festplatte rumschnüffeln.

    Gruß
    Rolf

  9. Christian

    Hallo Rolf,

    wenn du dir, ganz unabhängig von Adobe AIR, eine Desktop Applikation installierst die mit einer anderen Technologie (Java, C++ etc.) erstellt wurde, dann ist die Gefahr ebenfalls vorhanden, dass die Applikation Daten ausspäht und über das Netzwerk versendet.

    Was ich damit sagen will: Adobe AIR ist genau sicher bzw. unsicher wie jede andere Technologie, die Applikationen auf den Desktop bringt. Adobe AIR besitzt ein Sicherheitsmodell aus mehreren Sandboxen, welches z.B. verhindert, dass aus dem Netzwerk nachgelandener Code ausgeführt werden kann und Schaden anrichtet.

    Ich kann daher deine Sorge nicht ganz nachvollziehen. Eine Adobe AIR Applikation besitzt grundsätzlich die gleichen Rechte und Privilegien wie Desktop Applikationen, die z.B. mit C++ erstellt wurden. Alles andere sind wilde Spekulationen und Gerüchte. Dank der gut recherchierten Beiträge, einschlägiger Online-Magazine, bekomme ich solche Äußerungen leider öfter zu Hören.

    Grüße Christian

  10. Rolf

    Hallo Christan,

    Du hast Recht.
    Ich habe inzwischen weitergegoogelt und bei Dr. Web gelesen, das meine Bedenken unbegründet sind, weil sich die Zugriffsrechte nach den Benutzerrechten, Firewall usw. orientieren. Laut Dr. Web sind die Gefahren auch nicht größer als sie heute schon sind.
    Aber der Vermerk “uneingeschränkten Zugriff” ist für einen Laien halt etwas erschreckend.

    Hier noch der Link:
    http://www.drweb.de/magazin/adobe-air-und-die-vermeintliche-sicherheitsproblematik/

    Gruß Rolf

  11. LUCERNA NEWS» Blogarchiv » Unbegrenzte Möglichkeiten?

    [...] Christian Pfeil >> Was leistet Adobe AIR [...]

  12. Adobe AIR 1.5 für Linux Netbooks | Netbooknotes.de

    [...] und miteinander kombinieren. Wer diese Anwendung von Adobe noch nicht kennt, der sollte bekommt auf Christian Pfeils Homepage einen guten Überblick über die Vorteile, die Adobe AIR bietet. Die neueste Version 1.5 gibt es [...]

  13. Adobe Air - ich finds klasse ! | C3 surfs the web.

    [...] erklären lassen will, was genau Adobe Air ist (also vom technischen Aspekt her) kann sich mal den Artikel von Christian Pfeil in seinem NEWMEDIA-Blog durchlesen. Sehr nett [...]

  14. Jürgen

    Ich stehe solchen proprietären Ansätzen wie Adobe AIR kritisch gegenüber. Und hier wird AIR geradezu hemmungslos über den grünen Klee gelobt.

    Das ständige Update-Generver stört mich schon jetzt an den Adobe-Programmen. Selbst bei Linux-Distributionen, wo es sehr gute allgemeingültige Update-Technologien gibt, muss Adobe sein proprietäres Generve praktizieren.

    Adobe sollte sich mal fragen, warum Apple Flash von iPhone und iPad verbannt hat. Nicht dass ich die ebenfalls proprietäre Strategie von Apple gutheisse, aber seit Macromedia von Adobe gekauft wurde, nervt auch Flash mit überladenem Adobe-Gedöns. Schaut Euch mal an, wie groß der Acrobat-Player allein ist? Dafür kann man schon ein komplettes, schlankes Betriebssystem anbieten.

  15. Max

    Dass Apple Flash ablehnt, liegt daran, dass Flash den Entwicklern etwa die selben Möglichkeiten eröffnet wie die proprietäre App-API – und das unabhängig von den Entscheidungen seitens Apple. Das würde natürlich unmittelbar zu einem Einbruch im App-Verkauf führen, was Apple natürlich zu verhindern versucht.

  16. Jake

    Hallo zusammen!

    Ich habe hierzu eine Frage: Warum sollte ich als 0815-PC-User an Adobe Air interessiert sein?

    Grüsse.

Einen Kommentar schreiben