Der Adobe Mitarbeiter Christian Cantrell hat in seinem Blog die neuen Funktionen des bald erscheinenden AIR 2.0 vorgestellt. Mit Adobe AIR lassen sich normale Webseiten und allen voran natürlich Flash Anwendungen als Desktop Anwendungen speichern lassen – und das plattformübergreifend. Wer AIR noch nicht kennt, kann sich auf der offiziellen Produktseite oder bei Wikipedia ein Bild machen.

Vor allem bei Twitter Anwendungen erfreut sich AIR bereits jetzt einer immer stärkeren Bekanntheit. So sind die verbreiteten Anwendungen Seesmic Desktop und Twhirl in Adobes Runtime verpackt.

Nun erscheint also bald die Version 2.0 – und ich übersetze einfach mal die Feature Liste ins Deutsche. Cantrell weißt darauf hin, dass alle Features geplant sind – was heißt, dass es unter Umständen einigen Features nicht gelingt in das finale Release zu gelangen.

Funktionen von AIR 2

  • Multi-touch: Touch Events verhalten sich ähnlich wie Mouse Events, aber bei Multi-touch Geräten (z.B. Microsoft Surface), kann man nun mehrere Touch Points gleichzeitig erkennen.
    • Multi-touch wird unterstützt von:
      • Windows 7 und höher.
      • Benötigt Multi-touch Hardware (logisch).
  • Gesten: Anwendungen können auf Multi-touch Events oder auf Gesten (Gesture events) reagieren – allerdings nicht beides zur gleichen Zeit. Gesten sind quasi die Zusammenfassung von mehreren Multi-touch Events in einen Einzelevent.
    • Gesten werden unterstützt von:
      • Windows 7 und höher.
      • Macs mit MacOSX 10.6 (Snow Leopard) und darüber (mit multi-touch Trackpads).
    • Unterstützte Gesten:
      • GESTURE_TWO_FINGER_TAP (Zweifinger-Klick)
      • GESTURE_PRESS_AND_TAP (Ein Finger gedrückt halten und mit dem anderen Klicken – eine verbreitete Geste bei Windows Geräten um Kontextmenus aufzurufen)
      • GESTURE_PAN (Zwei Finger zusammenziehen)
      • GESTURE_ROTATE (Drehen mit zwei Fingern)
      • GESTURE_SWIPE (Mit zwei Fingern wegschieben)
      • GESTURE_ZOOM (Zwei Finger auseinanderziehen)
  • Dateien mit ihrer verknüpften Anwendung öffnen: Die neue File.openWithDefaultApplication API ermöglicht es, Dateien mit dem jeweiligen Programm öffnen, die der Anwender damit (lokal) verknüpft hat. Dadurch wird es einfach plattformübergreifend andere Programme anzusprechen, da es nun nicht mehr nötig ist zu schauen, welches Betriebssystem der Benutzer hat und welche Programme er installiert hat.
  • OS Download Security Dialog: Die neue File.downloaded Eigenschaft läßt ein die AIR Application dem Betriebssystem mitteilen, dass eine Datei heruntergeladen wurde und läßt dieses die jeweilige Sicherheitsmeldung anzeigen, wenn der Benutzer die Datei öffnen möchte.
    • Unterstützte System:
      • Windows XP SP2 und höher.
      • Mac OS 10.5 (Leopard) und höher.
      • (Keine Linux Unterstützung, da solche Warnmeldungen bei Linux nicht vorhanden sind.)
  • Festplatten-Erkennung: Die neue Festplatten API erkennt nun alle gemounteten Disks (ungemountete ebenfalls) und kann diese auflisten, anzeigen welche ansprechbar sind und weitere Details zu den Platten anbieten. Darunter: verfügbarer Speicherplatz, den Dateisystemtyp, ob es auswerfbar ist, ob man darauf schreiben kann, den Festplatten Buchstaben und den Namen der Festplatte.
  • Native Prozesse: Starten und Kommunikation mit nativen "bandexternen" Prozessen. Man kann seine eigene nativen executables zusammenstellen, oder executables ausführen, von denen man weiß, dass sie sich auf der jeweiligen Maschine befinden. Dieses Feature setzt voraus, dass die Anwendung mittels des nativen Installers installiert wurde und nicht via einer .AIR Datei (Adobe bietet Tools um native Installer zu erstellen).
    • Unterstützte Installer-Arten:
      • OS X: DMG
      • Windows: EXE
      • Linux: Debian und Red Hat Package Manager
  • File Promises: File promises lassen Benutzer mittels Drag&Drop mit Dateien, die entweder noch nicht existieren (und erstellt werden sollen) oder die auf einem entfernten Server liegen, hantieren. Dafür wird eines Implementierung geben, die automatisch entfernte Dateien herunterlädt und auf die lokale Position speichert (dort wo der Drop gelandet ist) und außerdem soll es möglich sein, neue Dateien „on-demand“ zu erstellen. Eine Video zu den File Promises gibts am Ende der Liste.
  • Server Sockets: Die neue ServerSocket API ermöglicht es zu beliebige Sockets zu überwachen. Dadurch wird es möglich mit anderen Anwendungen besser zu kommunizieren – zum Beispiel mit P2P Anwendungen, oder mit erweiterten Netzwerkprotokollen wie FTP, etc.
  • Datagram Sockets: Zu der bisherigen TCP Unterstützung gesellen sich in AIR 2.0 nun auch UDP Sockets.
  • Sockets verschlüsseln: Sockets können jetzt mittels TLS/SSL verschlüsselt werden.
  • IPv6 Unterstützung.
  • Zugriff auf Low-Level Network Informationen: Das NetworkInfo Objekt lässt den Entwickler die lokalen Netzwerk-Interfaces der Benutzer erkennen. Man bekommt Informationen zu ihren Aktivierungsstati, IP Adressen und den Anzeigenamen.
  • Sockets mit bestimmten Netzwerk-Interfaces verknüpfen: Die neue Socket.bind Funktion kann dazu benutzt werden ein bestimmtes Netzwerk-Interface (welches mittels der NetworkInfo API erkannt wurde) mit einem beliebigen Port zu verknüpfen – so dass das Standard-Binding nicht mehr gilt. Somit wird es möglich die beste Netzwerkverbindung für die speziellen Anforderungen der Anwendung zu wählen.
  • DNS Auflösung: Mit DNSResolver können folgende Daten abgerufen werden:
    • ARecord (IPv4 Adresse eines Hosts)
    • AAAARecord (IPv6 Adresse eines Hosts)
    • MXRecord: Mail Exchange Record eines Hosts
    • PTRRecord: Hostname einer IP Adresse
    • SRVRecord: Service Record eines Services
  • Einstellbare HTTP Idle Timeouts. URLRequest.idleTimeout und URLRequestDefaults.idleTimeout lassen den Entwickler die Zeit (in Millisekunden) wählen, die eine Verbindung offen gehalten werden soll, bevor es anfängt Daten zu empfangen. Das ist zum Beispiel für long polling praktisch.
  • Lokales Audio Encoding: Audio Daten können direkt vom Mikrofon empfangen werden. Bisher mussten die Daten an einen Server geschickt werden um Sie von dort aus weiter zu verwenden, fortan läuft das komplett clientseitig ab.
  • Globales Error Handling: Das globale Error Management lässt den Entwickler alle unerfassten Fehlermeldungen (sowohl synchrone als auch asynchrone Fehler-Events) an einer Stelle des Codes abhandeln. (Mehr Informationen zum globalen Error Handling.)
  • Barrierefreiheit: AIR 2.0 wird Screenreader so gut unterstützten, wie es bereits Flash tut. (Mehr Informationen zur Barrierefreiheit in AIR 2.0.)
  • NativeWindow und Bitmap Größen erhöht: Die maximale Größe der NativeWindow und Bitmap Instanzen war bisher 2880×2880 Pixel. In AIR 2.0 werden es 4094×4094 Pixel sein.
  • Verbessertes Drucken.
    • Vektor-Druck auf Mac (bereits in FP 10).
    • Unterstützung von komplexen Transparenzen.
  • Verschachtelte Transaktionen. SQLite wird jetzt nested transactions unterstützten.
  • Beim Herunterfahren: Beenden Event. In AIR 2.0 wird es den Event.EXITING Event geben, der ausgeführt wird, wenn der Computer heruntergefahren wird. So kann man ungespeicherte Daten sichern.
  • WebKit Upgrades:
    • Nitro JavaScript Engine (SquirrelFish Extreme).
    • CSS3 Module Unterstützung (2D Transformationen, Transitions, Animationen, etc.).
    • Scrollbar styling.
    • Textumbrüche zwischen Spalten.
    • Die neusten Canvas Änderungen.
  • Generelle Verbesserungen:
    • Geringerer CPU Verbrauch im Leerlauf (Idle).
    • Geringerer RAM Verbrauch.

File Promises

Im Anschluss zu der dieser Liste veröffentlichte Christian Cantrell noch ein Video (samt Beispielcode), welches auf die neuen File Promises eingeht.

Den Beispielcode findet man bei Google Code: S3E Beispiel.

Vortrag zum Thema Barrierefreiheit in Adobe AIR

Michael A. Jordan und Daniel Koestler hielten auf der Adobe MAX einen Vortrag zur Barrierefreiheit in AIR (+ Flash) und wie man die Usability für Menschen mit Behinderung erhöhen kann.

Weitere Links zu Adobe AIR 2.0

There are currently no comments.