© Excellent backgrounds/Shutterstock.com
iOS-Applikation mit RoboVM erstellen

Die Bohne im Apfel


Wer als Java-Entwickler in die iOS-Welt eintaucht, fühlt sich dort nicht ganz wohl. Es beginnt mit den Programmiersprachen. Objective-C erscheint sehr archaisch, für Swift hingegen bekommt man aufgrund der relativen Neuheit kaum Literatur. Aber nicht nur das notwendige Erlernen einer neuen Programmiersprache erschwert den Einstieg. Genauso, wenn nicht sogar schwerwiegender, erweist sich das Problem der fehlenden Bibliotheken. Auch die zwingend notwendige IDE Xcode ist recht eigen in der Benutzung, und die Refactoring-Werkzeuge sind sehr dürftig und funktionieren aktuell nur innerhalb von Objective-C-Projekten.

Es wurden bereits einige Anläufe unternommen, Java auch auf Apples mobilen Geräten für den Programmierer zur Verfügung zu stellen. Fast alle scheiterten sie an Apples Richtlinien, die nur Objective-C, Swift und JavaScript unter iOS zulassen. Eine rettende Idee kam 2007 der sich auf dotNet-Portierungen spezialisierenden Firma Xamarin. Wenn das Programm im Binärcode vorliegt, kann seitens Apple nicht mehr erkannt werden, ob es sich hierbei um eine aus Objective-C, Swift oder einer anderen Programmiersprache hervorgegangenen App handelt. Da aber bei .NET ähnlich wie bei Java die Deployments aus Bytecode bestehen, die erst auf der Zielmaschine während der Ausführung übersetzt werden, kam man auf die Idee, den Übersetzungsvorgang bereits vor den Zeitpunkt des Zusammenbaus der fertigen App zu verschieben. Exakt den gleichen Weg haben die Entwickler von RoboVM gewählt. Auch hier übersetzt der vorverlagerte Compiler die Java-Klassen der Anwendung und der notwenigen Bibliotheken. Zuvor geht ein spezielles, Tree Shaker genanntes, Tool über den Bytecode und entfernt dort nicht benutzte Methoden, damit die Ergebnis-App möglichst schlank wird.

Wie kann man’s essen?

RoboVM setzt auf bewährten Komponenten auf. Als IDE wird der Standard in der Java-Welt verwendet – Eclipse. Das Erstellen der App wird wahlweise über ein Ant-Skript, Maven aber auch Gradle gesteuert. Im Normalfall ist das Plug-in nach der Installation ohne weitere Konfiguration einsatzfähig. Seit der Version 1.5 erhielt auch die Integration in JetBrains IDEA den Releasestatus. Dieses Tutorial beschäftigt sich allerdings mit dem Eclipse-Plug-in.

Messer und Gabel: Voraussetzungen

Um RoboVM zu benutzen, benötigt der geneigte Benutzer einen Apple-Rechner mit einem aktuellen Betriebssystem, also OS X Yosemite (10.10). Die Betaversion von ElCaptain (10.11) würde ich nicht empfehlen, da dort aufgrund diver...

Exklusives Abo-Special

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