Games für Android in Swift und Java

Die Standards für die Entwicklung von Online-Spielen ändern sich ständig. Vor wenigen Jahren noch galt Flash als die einzige Möglichkeit überhaupt, Spiele in einem Browser darzustellen. Von mobilen Geräten wagte man nicht zu träumen, mehr als Tetris und Snake waren nicht möglich.

Heute stehen uns aber modernere Werkzeuge zur Verfügung und deshalb nutzen wir vor allem Java und Swift für Android zur Entwicklung. Java hat sich mittlerweile als der Standard für die meisten Applikationen behauptet. Darunter versteht man in der Regel die Programmiersprache, es gibt aber auch die damit verwandte Java-Technologie, die aus Entwicklungswerkzeugen und einer Laufzeitumgebung sowie den Bibliotheken besteht. Java ist zusammen mit C heute die am meisten verwendete Programmiersprache. Sie ist extrem flexibel und kann auch in kleinen Geräten verwendet werden. Gerade das Internet of Things, wie die Kaffeemaschine mit Web-Interface, besteht in Sachen Software zu einem großen Teil aus Java Programmen.

Für Game-Entwickler besteht der große Vorteil darin, dass Java plattformunabhängig ist, und damit auf fast allen Geräten läuft, gleich ob das Betriebssystem Linux, Windows, Android oder OS ist. Außerdem ist Java heute so weit entwickelt, dass man es als sicher und ausgereift bezeichnen kann. Im Vergleich zu C kompiliert es auch schneller, was es in vielen Fällen leistungsfähiger macht (auch wenn es Situationen gibt, in denen C schneller ist).

Swift für Android

Mit Swift für Android gibt es die Apple-Entwicklungsumgebung jetzt auch für das konkurrierende System. Zwar ist diese noch in den Kinderschuhen, aber wir haben schon Erfahrung mit der Apple Version und die Portierungen zu Android sehen durchaus vielversprechend aus. Der Grund warum viele Entwickler geradezu süchtig nach einer Androidversion von Swift sind, ist, dass man dann mit einem hoch entwickelten Werkzeug für die beiden großen mobilen Plattformen entwickeln kann. Bislang muss immer noch auch das android-eigene NDK verwendet werden, weil dieses die Grundlage bietet.

Deshalb werden die meisten Spiele immer noch für beide Plattformen getrennt entwickelt, auch wenn immer wieder Versuche unternommen werden, zumindest Teile des Swift Codes auch für die Android Software zu verwenden. Apples Angebot ist so gut, dass es bislang keine Anstrengungen gibt, Android-Code für Swift zu portieren. Mittlerweile ist Swift in der Version 4 erschienen. Nicht alle Entwickler verwenden es für Apple Games und in 2017 hat es etwas an Schwung verloren. Gerade Xamarin von Microsoft mit seinem Mono für Android bietet eine zumindest interessante Alternative und viele Programmierer wenden sich auch wieder C zu, mit dem man auch recht einfach Games für mobile Geräte entwickeln kann. Ob diese auch eines der wesentlichen Features, das Syntactic Sugar Prinzio umsetzen, bleibt abzuwarten. Apple hatte damit den Code verständlicher gemacht, um gerade Neulingen den Einstieg in die Programmierung und die App-Entwicklung zu erleichtern.

Android-Applikationen haben den Vorteil, dass heute eine große Bandbreite an Entwicklungsumgebungen und Programmiersprachen bereitsteht und auch die damit verbundene Community sehr aktiv ist.