JAXenter.de

Das Portal für Java, Architektur, Cloud & Agile
X

Schon abgestimmt im Quickvote? Docker versus Rocket - wer hat Recht?

Fragmentierung auf der Android-Plattform

Ein, zwei, viele APKs

Als letzter Punkt, wie man der Fragmentierung begegnen kann, sei hier noch die Unterstützung von unterschiedlichen APKs für eine App erwähnt. Seit Ende Juli kann man basierend auf der Bildschirmgröße, der Android-Version oder dem OpenGL-Textur-Kompressionsformat seine Anwendung in einzelne APKs aufteilen, ohne dabei unterschiedliche Produkte in den Marketplace stellen zu müssen. Auch dies wird nur dann empfohlen, wenn es zum Beispiel unzumutbar wird, große, monolithische APKs (solche über 50 MB) für alle bereitzustellen, oder andere gewichtige technische Gründe eine Aufspaltung unausweichlich machen. Die einzelnen APKs werden dabei strikt als einzelne Projekte gehandhabt und gebaut. Gemein ist ihnen lediglich der für jede App einheitliche Package-Name.

Handwerkszeug

Allgemein zum Thema UI-Entwicklung sei noch auf den hervorragenden Toolsupport der Plattform hingewiesen. Die Benutzung des VisualEditors von Eclipse sei jedem UI-Entwickler ans Herz gelegt. Ohne zeitaufwändige Build-, Package- und Deployment-Zyklen lässt sich hier vorab das UI einzelner Layouts gestalten, begutachten und verfeinern. V. a. die Möglichkeit schnell zwischen einzelnen Bildschirmkonfigurationen wechseln zu können, macht sich für die Multiscreen-Entwicklung schnell unentbehrlich. Weiter bietet der sog. HierarchyViewer, der als Standalone-Applikation über das tools-Verzeichnis gestartet wird, die Möglichkeit, das UI einzelner Activites zu debuggen und zu profilen. Neben der View-Hierarchie werden Anhaltspunkte bzgl. Rendering-Performance gegeben, was es erlaubt, Performance-Killer im UI zu identifizieren und zu beheben. Mittels Layoutopt-Tool, das mit einzelnen Layout-XML-Dateien gefüttert wird, lassen sich statisch die gröbsten Layout-Bugs identifizieren. Und mit der PixelPerfectView kann man pixelgenau die Vorlagen des Designers umsetzen. Der spezielle Developer Guide auf der Android-Entwicklerseite sei hier an dieser Stelle wärmstens empfohlen.

Fazit

Die Fragmentierung der Android-Plattform ist ein Thema, mit dem sich jeder App-Entwickler auseinandersetzen sollte. Zwar ist es möglich, ein relativ großes Marktsegment ohne spezielle Anpassungen abzudecken, doch spätestens wenn man auch Tablet-Geräte sinnvoll unterstützen möchte, muss man sich mit den Konzepten der Fragmentierungsbewältigung auseinandersetzen. Gerade in Hinblick auf eine erfolgreiche Marktstrategie können aber v. a. die kleineren Marktbereiche attraktiv sein, da sich dort in der Regel wesentlich weniger App-Anbieter tummeln. Dies kann die eigene Sichtbarkeit erheblich steigern.

Wie wir zeigen konnten, ist das Thema Fragmentierung nichts wovor man sich fürchten sollte. Die Plattform bietet einem alle mögliche Unterstützung, um dieser mit vernünftigem Aufwand zu begegnen. Dazu muss man lediglich die Grundkonzepte verstanden haben und sich an eine überschaubare Anzahl von Empfehlungen der Dokumentation halten.

Als Entwickler sollte man die Vielfalt der Plattform v. a. als Chance sehen. Eine Chance mit neuen, interessanten Konzepten entwickeln zu können, wie dem neueren Fragments-API, das Smartphone- und Tablet-Entwicklung intelligent vereinheitlicht. Doch davon vielleicht ein anderes mal.

Andreas Hölzl ist Senior Software Engineer bei der Canoo Engineering AG in Basel und zuständig für den Bereich Mobile Projects. Mit Android beschäftigt er sich seit dem Milestone-5-Release des SDKs. Beim ersten Android Developer Challenge schaffte er es mit Canoo unter die Top 25 %.
Als Mitgründer von Wikihood schaffte er es in die Top 10 der weltweiten iPhone/iPad-Charts.
Sein Wissen über mobile Technologien gibt er gerne auf Konferenzen in Talks und Workshops weiter.

Andrei Socaciu ist Senior Software Engineer bei der Canoo Engineering AG in Basel. Erfahren in allen Aspekten rund um die Java-Entwicklung ist er v. a. spezialisiert in Java-basierter Webapplikationsentwicklung und End-to-End-Enterprise-Applikationen. Als Android Developer hat er sein erstes Spiel im Android-Markt publiziert und etwickelt weitere Apps.

 
Verwandte Themen: 

Kommentare

Ihr Kommentar zum Thema

Als Gast kommentieren:

Gastkommentare werden nach redaktioneller Prüfung freigegeben (bitte Policy beachten).