Nach dem Überblick, wie Apps für das BlackBerry PlayBook entwickelt werden, geht es nun konkret los. Dieser Artikel zeigt die ersten Schritte, um eine App für das PlayBook zu erstellen und es sowohl lokal als auch im Simulator zu testen.
Reines ActionScript- oder Mobile Flex-Projekt?
Es gibt unterschiedliche Ansätze, Anwendungen für das PlayBook zu schreiben. Mit dem ersten SDK war es nur möglich, reine ActionScripte-Projekte aufzusetzen (also AS + QNX-Komponenten) und diese mit dem BlackBerry Flex SDK zu kompilieren.
Mittlerweile lässt sich jedoch auch der Weg gehen, ein „Flex Mobile Projekt” aufzusetzen und somit das Mobile Flex Framework zu verwenden (siehe z.B. dieses Tutorial). Somit wäre es denkbar, eine App für Android und PlayBook zu planen und umsetzen. Es gibt von seitens BlackBerry also nicht die Anforderung, dass die QNX-Komponenten tatsächlich verwendet werden.
Bei einem reinen ActionScript-Projekt ist unter Umständen das Layouten der Anwendung etwas komplizierter. Zwar gibt es QNX-Container ähnlich den Flex-Containern (Box bzw. Group), mit denen ich mit aber nicht so richtig anfreunden konnte (evtl. auch mangels Doku dazu). Ich habe stattdessen eine Open-Source-Layoutengine eingesetzt. Grundsätzlich wird jedoch nur auf Code-Basis das Layout erstellt, was man sich mit einem Flex-Mobile-Projekt erspart. Im Gegenzug kann man in einem ActionScript-Projekt angenehm auf die PlayBook-optimierten QNX-Komponenten zugreifen und bietet dem Nutzer dadurch eine „Standard-konforme PlayBook-App“.
Im Folgenden werde ich die Vorgehensweise an einem reinen ActionScript-Projekt erläutern.
Neues AS-PlayBook-Projekt erstellen
Um zu testen, ob alles funktioniert, erstellt man ein neues ActionScript-Projekt im Flash Builder 4 („Datei > Neu > ActionScript-Projekt”). Dort muss man ggf. zuerst das PlayBook SDK hinzufügen, indem man auf „Flex SDKs konfigurieren” geht und dort den Installationsordner auswählt. Anschließend wählt man das SDK aus, damit es verwendet wird.
QNX-Klassen des PlayBooks verwenden
Wenn das SDK korrekt hinterlegt ist, stehen nun in der AutoCompletion alle Klassen des PlayBook-SDKs zur Verfügung. Hier ein kurzes Beispiel für den Anfang, das einen QNX-Button auf der Bühne hinzufügt:
[as]
package
{
import flash.display.Sprite;
import qnx.ui.buttons.LabelButton;
public class PlayBookDemo extends Sprite
{
public function PlayBookDemo()
{
var button:LabelButton = new LabelButton();
button.label = „Click me“;
addChild(button);
}
}
}
[/as]
Anwendung in der normalen AIR-Runtime starten
In der Regel funktionieren Anwendung, die QNX-Klassen verwenden, auch weiterhin in der gewöhnlichen AIR-Runtime. Nur bei wenigen PlayBook-spezifische Klassen wirft die AIR-Runtime Laufzeitfehler. Deshalb bin ich so vorgegangen, dass ich meine App größtenteils als gewöhnliche Anwendung entwickelt habe und erst gegen Ende den Simulator häufiger genutzt habe.
Dazu klickt man wie bei jeder anderen AIR-Anwendung auf „Ausführen > Debugging als > Desktop-Anwendung” — ein guter Weg, um sich mit den PlayBook-UI-Komponenten vertraut zu machen. Hilfreich ist dabei die BlackBerry Tablet OS for Adobe AIR Reference. Kurzer Hinweis: In diesem Fall wird natürlich die vom Flash Builder erstellte [projektname]-app.xml zur Konfiguration der AIR-Anwendung übernommen. Für den Simulator hingegen legen wir später eine weitere XML-Datei an.
Anwendung im Simulator starten
Möchte man im die App im Simulator starten, fährt man zuerst den VMware Player bzw. VMware Fusion hoch. Dort muss man gemäß der Getting-Started-Anleitung (siehe Artikel zuvor) zuerst den Entwicklermodus starten und sich die IP-Adresse des virtuellen Devices notieren.
Jetzt kann man nach der Konfiguration eines neuen Debug-Targets (Hinterlegen der IP-Adresse) über „Ausführen > Debugging als > BlackBerry Tablet AIR Application” die App direkt auf den Simulator schieben — wenn es denn funktioniert, was bei mir leider nicht der Fall war (Flash Builder schreibt „an internal error occured..”).
Ich habe deshalb die Anwendung einfach per Kommandozeile gepackt und installiert (siehe
Compile and Debug without Flash Builder Using a Command Line).
[as]
/Applications/Adobe\ Flash\ Builder\ 4/sdks/blackberry-tablet-sdk-0.9.1/bin/blackberry-airpackager -package demoapp.bar -installApp -launchApp demoapp-app.xml DemoApp.swf blackberry-tablet-icon.png -device 172.16.47.128 -target bar-debug -connect 192.168.2.105
[/as]
Man benötigt dazu die kompilierte SWF-Datei aus dem bin-debug-Ordner, ein Programmicon mit Namen „blackberry-tablet-icon.png“ (90×90 Pixel). Eine Beispieldatei liegt im SDK-Ordner in „samples > icons”.
Außerdem erstellt man sich eine App-Descriptor-Datei, die speziell für das Kompilieren mit den BlackBerry-AirPackager verwendet wird (die vorhandene XML vom normalen AIR-Projekt kann man parallel bestehen lassen, um sowohl in der AIR-Runtime als auch im Simulator die App zu testen).
[xml]
[/xml]
Hat alles geklappt, sieht man, wie die App im Simulator erscheint und sich öffnet.
Ein allgemeiner Hinweis am Schluss: Nützliche Tipps findet man im PlayBook-Entwickler-Forum.
[ad]
Hier ein passender Link zur blackberry-tablet.xml:
„Exploring the PlayBook application’s blackberry-tablet.xml”
http://renaun.com/blog/2011/01/exploring-the-playbook-applications-blackberry-tablet-xml/
Hi,
Benötigt man wirklich eine VM Ware für den Simulator, oder könnte auch in einem zweiten Rechner den Simulator laufen lassen?
Könntest du mir Bitte mailen, wie und wo du die App dann letztendlich eigereicht hast ? Vielen Dank…
Danke auch für diesen Beitrag. Hat mir auch schon geholfen. Meine erste Version ist auch jetzt *on approval*, wobei ich mir selbst nicht ganz sicher bin, ob ich bei den Metadaten alles richtig gemacht habe.
Wie lange hat es bei Dir vom 'Submit' bis zum 'Approval' gedauert?
@Chrisz: Ja, du benötigst VMware für den Simulator. Wüsste nicht, wie du das Image sonst zum Laufen bekommst.
Wie undwWo genau du die App einreichen musst, bekommst du in der Registrierungsemail des Stores.
@Nick: Bei mir waren's ca. 2 Wochen (11.1. bis 27.1.). Ich denke, dass das aber ziemlich variieren wird (je nach Auslastung der Tester). Würde ich mir keine Gedanken machen – einfach abwarten.
2-3 Tage nach erfolgreicher Freigabe kommt dann eine Email mit Link zum Emailformular für den Versand des kostenlosen PlayBooks.
Ok, danke :) Sollte ich da einen Fehler bei den Metadaten gemacht haben, reicht es wohl hoffentlich noch für eine Korrektur.
Sehe ich keine Probleme ;-)
Ich schätze, dass der größte Schwung an Anwendungen sicher erst kurz vor Ende der Deadline eingereicht wird.
Moin,
hast du es zufällig hinbekommen, bei einem Mobile-Project die QNX Komponenten im Visual Designer zu verwenden?
Die Komponenten sind leider nicht in der Design View verfügbar. Musst du also alles per Hand (Code) machen.
kann man sich diese komponenten irgendwo mal anschauen, oder muss ich die alle per code adden und dann erst rausfinden, was was ist?
gibt von RIM eigentlich auch irgendwelche design richtlinien wie beim apfelverkäufer?
ah, schon gefunden!
Wo? Hast du einen Link?
Mein Spiel wurde inzwischen auch approved. :) http://tinyurl.com/5v2ssbf