Als Ergänzung zum vorigen Beitrag Textmate: Flex und ActionScript 3 Bundle zeige ich kurz, wie man mit diesen Bundles Textmate zum Erstellen von Adobe AIR Anwendungen nutzen kann.

Adobe AIR Hello World

Hinweis: Vorraussetzung ist die aktuelle Version des Flex SDK (Beta 2), die bis Ende Januar 2008 gültig ist.

Neues Flex-Projekt

Man erstellt ein neues Flex-Project ("File > New from Template > Flex > Project MXML") und speichert dieses unter dem Namen AIRHelloWorld ab.

AIRHelloWorld.mxml

Das Projekt öffnet sich. Man sieht die Datei AIRHelloWorld.mxml und ersetzt den bestehenden Quellcode der Anwendung vollständig durch den folgenden:

XML:
  1. <?xml version="1.0" encoding="utf-8"?>
  2. :WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" title="Hello World">
  3.     :Label text="Textmate + Adobe AIR" horizontalCenter="0" verticalCenter="0"/>
  4. :WindowedApplication>

Application Descriptor app.xml

Jetzt benötigt man den Application Descriptor von AIR. Es handelt sich um eine XML-Datei, die die Eigenschaften der Anwendung beschreibt.

Dazu erstellt man eine neue Datei (File > New), kopiert den nachstehenden Inhalt hinein und speichert sie im Unterverzeichnis deploy des Projektverzeichnises ab. Der Dateiname lautet app.xml, der Pfad also .../AIRHelloWorld/deploy/app.xml.

Application Descriptor

XML:
  1. <?xml version="1.0" encoding="UTF-8"?>
  2.  
  3. xmlns="http://ns.adobe.com/air/application/1.0.M5" appId="com.company.appName" version="1.0">
  4. >AppName>
  5. >A test AIR application.>
  6. >2007>
  7. >
  8.     >AIRHelloWorld.swf>
  9.     >none>
  10.     >true>
  11.     >true>
  12.     >
  13. >

Wichtig: Diese Datei hat sich im Vergleich zur letzten Beta von AIR geändert. Zum einen kennzeichnet das Kürzel M5 (zuvor M4) in der zweiten Zeile die neue Version von AIR. Zum anderen hat sich auch der Aufbau der XML-Datei geändert, denn der Tag initialWindow hieß zuvor rootContent.

Build AIR

Das Projekt ist nun soweit erstellt. Jetzt muss eine kleine Anpassung an dem ActionScript 3 Bundle vorgenommen werden.

Man öffnet den Bundle Editor mit "Bundles > Bundle Editor > Show Bundle Editor", wählt das ActionScript 3 Bundle aus und markiert den Befehl "Build". Mit dem Plus-Symbol unten dupliziert man den "Build" und nennt den neuen Befehl "Build AIR".

Adobe AIR Bundle

Man passt zwei Stellen im Text an (siehe Abbildung). Zum einen heißt der Compiler statt mxmlc (für Flex) jetzt amxmlc (für AIR). Zum anderen soll mit adl (=AIR Debug Launcher) die Anwendung gestartet werden. Hier der entsprechenden Abschnitt:

XML:
  1. amxmlc \
  2.         -sp+=$TM_AS3_LIB_PATH \
  3.         -file-specs="$TM_FLEX_FILE_SPECS" \
  4.         -output="$TM_FLEX_OUTPUT" \
  5.         -incremental=true \
  6.         -optimize=true 2>&1 | parse_mxmlc_out.py;
  7.  
  8.     if [ "$?" == "0" ]; then
  9.  
  10.         echo "> href='tm-file://$TM_PROJECT_DIR/$TM_FLEX_OUTPUT'>open $TM_FLEX_OUTPUT>>";
  11.          adl $TM_PROJECT_DIR/deploy/app.xml;

Pfad zum Compiler

Damit der Compiler von Textmate gefunden wird, sollte man den Pfad in die Voreinstellungen für Bash-Skripte eintragen. Man startet das Terminal von Mac OS X. Der Befehl "mate .profile" öffnet (bzw. erstellt, falls nicht vorhanden) die entsprechende Datei im Home-Verzeichnis des Users. Hier trägt man den Pfad ein und speichert. Im meinem Fall ist das Flex SDK in /Applications/Flex/ abgelegt. Die Compiler sind dann im Unterverzeichnis bin.

XML:
  1. export PATH=$PATH:/Applications/Flex/bin/

Fertig

Jetzt sollte man mit "Build AIR" die AIR Anwendung kompilieren und anschließend betrachten können.