© Excellent backgrounds/Shutterstock.com
Java Magazin
Aktueller Stand von Flex Mobile und Möglichkeiten des Single Sourcings

ROXX Mobile

Letzten Monat wurde ein kompletter Technologie-Stack mit Scala auf dem Server und einem Flash-Frontend für den Desktopwebbrowser vorgestellt. Im zweiten Teil soll es nun darum gehen, wie man mit minimalem Aufwand weitere Frontends für unterschiedliche Zielplattformen schaffen kann. Hierbei stehen Android-Geräte (Smartphones und Tablets) sowie Apples iPhone und iPad mit iOS im Vordergrund.

Johannes Hohenbichler, Philipp Burgmer


Apps für mobile Endgeräte zu schreiben kann eine zeitaufwändige und komplizierte Geschichte sein. Seit geraumer Zeit ist die Entwicklung noch etwas komplizierter geworden, denn Apple hat die Alleinherrschaft auf diesem Sektor definitiv verloren. Damit kann es sich kein Hersteller mehr erlauben, eine App nur für eine Zielplattform zu entwickeln. An dieser Stelle kommen so genannte Cross-Plattform-Frameworks ins Spiel. Ihr Anspruch ist es, dass eine Anwendung nur einmal entwickelt werden muss und mit der gleichen Codebasis auf möglichst vielen unterschiedlichen Zielplattformen einsetzbar ist. Flex Mobile ist ein solches Framework. Wie es sich in der Praxis schlägt und welche Alternativen es gibt, soll dieser Artikel zeigen.

Flex Mobile

Zunächst ein kleiner Überblick: Flex Mobile ist seit Flex 4.5 (Mai 2011) Bestandteil des Flex SDK. Die Sprache für Flex Mobile ist genauso wie für Flex ActionScript 3 plus das optional einsetzbare MXML, ein XML-Derivat zur deklarativen Oberflächenprogrammierung. Schaut man sich das Flex-SDK an, so fällt auf, dass es keine klare Trennung zwischen Komponenten gibt, die 100 % mobile-ready sind, überhaupt nicht auf dem Mobilgerät laufen, oder nur mit Einschränkungen verwendet werden können. Grob unterteilen lassen sich die Komponenten dennoch recht einfach: Aus dem mx-Namespace sind grundsätzlich nur die Charting-Komponenten freigegeben. Aus dem Spark-Namespace hingegen lassen sich die meisten Komponenten zumindest einbinden (mehr Details dazu später). Der Grund für diese Unterteilung ist einfach: Spark steht in Flex für eine neue Komponentenarchitektur. Dabei sind Layout und Controller-Logik sauber voneinander getrennt, wodurch die Komponenten hinsichtlich Verhalten und Darstellung sehr leicht angepasst werden können. Die Elemente aus dem Spark-Namespace, die als mobile-ready freigegeben sind, erkennen automatisch, in welcher Zielplattform sie ablaufen und passen sich dementsprechend an: Touch-, anstelle von Mouse-Events, Device-Orientation Ja/Nein, Anordnung von Elementen. Außerdem sind die meisten Mobile-Ready-Komponenten auch hinsichtlich Performance optimiert. An dieser Stelle lautet auch die Empfehlung von Adobe: Bei Mobile-Projekten lieber ActionScript anstelle von MXML.

Aktueller Stand – Flex Mobile

„Komponenten, die als mobile-ready freigegeben sind“ … genau das ist einer der Punkte, die einem Neuling im Flex-Mobile-Umfeld unter Umständen zum Verhängnis werden können, wenn es darum geht, den Aufwand zu beurteilen, eine b...

Java Magazin
Aktueller Stand von Flex Mobile und Möglichkeiten des Single Sourcings

ROXX Mobile

Letzten Monat wurde ein kompletter Technologie-Stack mit Scala auf dem Server und einem Flash-Frontend für den Desktopwebbrowser vorgestellt. Im zweiten Teil soll es nun darum gehen, wie man mit minimalem Aufwand weitere Frontends für unterschiedliche Zielplattformen schaffen kann. Hierbei stehen Android-Geräte (Smartphones und Tablets) sowie Apples iPhone und iPad mit iOS im Vordergrund.

Johannes Hohenbichler, Philipp Burgmer


Apps für mobile Endgeräte zu schreiben kann eine zeitaufwändige und komplizierte Geschichte sein. Seit geraumer Zeit ist die Entwicklung noch etwas komplizierter geworden, denn Apple hat die Alleinherrschaft auf diesem Sektor definitiv verloren. Damit kann es sich kein Hersteller mehr erlauben, eine App nur für eine Zielplattform zu entwickeln. An dieser Stelle kommen so genannte Cross-Plattform-Frameworks ins Spiel. Ihr Anspruch ist es, dass eine Anwendung nur einmal entwickelt werden muss und mit der gleichen Codebasis auf möglichst vielen unterschiedlichen Zielplattformen einsetzbar ist. Flex Mobile ist ein solches Framework. Wie es sich in der Praxis schlägt und welche Alternativen es gibt, soll dieser Artikel zeigen.

Flex Mobile

Zunächst ein kleiner Überblick: Flex Mobile ist seit Flex 4.5 (Mai 2011) Bestandteil des Flex SDK. Die Sprache für Flex Mobile ist genauso wie für Flex ActionScript 3 plus das optional einsetzbare MXML, ein XML-Derivat zur deklarativen Oberflächenprogrammierung. Schaut man sich das Flex-SDK an, so fällt auf, dass es keine klare Trennung zwischen Komponenten gibt, die 100 % mobile-ready sind, überhaupt nicht auf dem Mobilgerät laufen, oder nur mit Einschränkungen verwendet werden können. Grob unterteilen lassen sich die Komponenten dennoch recht einfach: Aus dem mx-Namespace sind grundsätzlich nur die Charting-Komponenten freigegeben. Aus dem Spark-Namespace hingegen lassen sich die meisten Komponenten zumindest einbinden (mehr Details dazu später). Der Grund für diese Unterteilung ist einfach: Spark steht in Flex für eine neue Komponentenarchitektur. Dabei sind Layout und Controller-Logik sauber voneinander getrennt, wodurch die Komponenten hinsichtlich Verhalten und Darstellung sehr leicht angepasst werden können. Die Elemente aus dem Spark-Namespace, die als mobile-ready freigegeben sind, erkennen automatisch, in welcher Zielplattform sie ablaufen und passen sich dementsprechend an: Touch-, anstelle von Mouse-Events, Device-Orientation Ja/Nein, Anordnung von Elementen. Außerdem sind die meisten Mobile-Ready-Komponenten auch hinsichtlich Performance optimiert. An dieser Stelle lautet auch die Empfehlung von Adobe: Bei Mobile-Projekten lieber ActionScript anstelle von MXML.

Aktueller Stand – Flex Mobile

„Komponenten, die als mobile-ready freigegeben sind“ … genau das ist einer der Punkte, die einem Neuling im Flex-Mobile-Umfeld unter Umständen zum Verhängnis werden können, wenn es darum geht, den Aufwand zu beurteilen, eine b...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang