Teil 1 – Das große Bild: Mobile Entwicklung heute
Wer heute eine App entwickeln will, steht vor einer Frage, die sich vor zwanzig Jahren so noch nicht gestellt hat: Welche Sprache soll das eigentlich sein? Damals gab es kaum eine Wahl – J2ME für Handys, fertig. Heute dagegen türmt sich eine Liste an Optionen auf, die auf den ersten Blick mehr verwirrt als hilft.
Dabei ist die Entscheidung keine rein technische. Sie zieht Konsequenzen nach sich, die das gesamte Projekt prägen: Entwicklungszeit, Wartbarkeit, Performance, Teamgröße. Als jemand, der aus der Elektronik kommt und irgendwann den Sprung in die Softwareentwicklung gemacht hat, kenne ich das Gefühl gut – man will verstehen, was unter der Haube passiert, bevor man sich auf ein Werkzeug einlässt.
Die mobile Welt teilt sich grob in drei Lager auf. Das erste: native Entwicklung. Kotlin für Android, Swift für iOS – jede Plattform bekommt ihre eigene Codebasis, ihre eigenen Werkzeuge, ihre eigene Logik. Das zweite Lager setzt auf Cross-Platform-Frameworks wie Flutter oder React Native, die versprechen, mit einer Codebasis beide Welten zu bedienen. Und dann gibt es noch den hybriden Ansatz, bei dem im Grunde eine Web-App in eine App-Hülle verpackt wird.
Klingt übersichtlich? Ist es nicht. Denn innerhalb dieser Lager gibt es weitere Unterschiede, die den Alltag eines Entwicklers massiv beeinflussen. Welches Rendering-Modell steckt dahinter? Wie eng ist das Framework an die Plattform-APIs gebunden? Wie groß und wie aktiv ist die Community? Das sind die Fragen, die zählen – nicht das Marketing auf der jeweiligen Website.
In den nächsten Teilen dieser Serie schaue ich mir die wichtigsten Kandidaten genauer an: Swift und Kotlin als native Vertreter, Flutter und React Native als die beiden Cross-Platform-Schwergewichte, und Kotlin Multiplatform als das, was mich persönlich gerade am meisten beschäftigt. Am Ende steht kein Ranking und kein Gewinner – sondern ein ehrlicher Entscheidungsrahmen, der je nach Projekt, Team und Budget zu unterschiedlichen Antworten führt.
Eines schon mal vorab: Die „beste“ Sprache existiert nicht. Aber die falsche Wahl für das eigene Projekt – die gibt es durchaus.