Java

Java wird häufig bei der Backend Entwicklung eingesetzt, aber unter Android. Android Apps setzen voraus, dass diese in Android programmiert werden. Leider ist Java trotz der plattformunabhängigen Konzeption nicht auf allen Systemen verfügbar, da Java eine entsprechende Virtual Machine auf dem jeweiligen System voraussetzt, damit Code ausgeführt werden kann.

Obwohl Java einige herausragende Stärken besitzt, die es unter anderem dem Programmierer erleichtern, typische Fehlerquellen zu vermeiden und daher für den Entwickler in vielerlei Hinsicht komfortabel einsetzbar ist, hat es sich im Bereich der Grafikprogrammierung nicht durchgesetzt.

Unter anderem ist beispielweise auf der iOS-Plattform keine Java VM verfügbar, so dass es nicht möglich ist, in Java Apps für iOS zu programmieren.

Um Code zu entwickeln, der auf unterschiedlichen Smartphone-Systemen einsetzbar ist, habe ich den Weg eingeschlagen, systemübergreifende Komponenten in C++ zu entwickeln und diese für Android mittels JNI einzubinden. Auf diese Weise bewahrt man die hohe Leistungsfähigkeit des kompilierten C++ Codes und bindet diesen problemlos in Java ein. Damit kann man elegant das Problem umgehen, Code in einer zweiten Programmiersprache duplizieren zu müssen.

Nichtdestotrotz programmiere ich Java-Komponenten wie beispielsweise die für die Android API notwendigen Systemeinbindungen.