Die technologische Entwicklung von Smartphones hat in den letzten Jahren einen bemerkenswerten Sprung gemacht. Heutige Android-Geräte verfügen über leistungsstarke Prozessoren, die früher klassischen Laptops vorbehalten waren. Diese Entwicklung eröffnet neue Möglichkeiten: Warum sollte man für die Anwendungsentwicklung unterwegs zwingend auf einen Laptop angewiesen sein? Mit den richtigen Tools lässt sich eine vollwertige Entwicklungsumgebung direkt auf dem Smartphone einrichten, die vor allem für Java-Anwendungen im SAP-Umfeld, konkret mit dem Cloud Application Programming Model (CAP), hervorragend geeignet ist. Die Basis für die Nutzung eines Android-Smartphones als Entwicklungsplattform ist der Umstand, dass Android auf einem Linux-Kernel basiert. Dadurch kann man mit geeigneten Hilfsprogrammen eine Linux-ähnliche Umgebung auf dem Gerät betreiben, ohne auf Root-Zugriff oder komplexe Anpassungen angewiesen zu sein.
An erster Stelle steht hier die Linux-Terminal-App Termux. Termux ist ein kostenloser Terminalemulator, der eine minimalistische Linux-Distribution mit Paketverwaltung direkt auf Android installiert. Zusätzliche Programme lassen sich unkompliziert per APT-Paketmanager nachinstallieren und der gesamte Linux-Stack steht nativ zur Verfügung. Ein großer Vorteil von Termux ist, dass keine Root-Rechte benötigt werden. Es lässt sich einfach aus dem Play Store oder alternativen Quellen beziehen und ist set-up-technisch sehr freundlich.
Entwickler können mit gängigen Unix-Tools arbeiten, Versionierungssysteme wie Git nutzen und SSH-Verbindungen direkt vom Smartphone aus aufbauen. Für Java ist Termux prädestiniert, da OpenJDK als fertiges Paket verfügbar ist. OpenJDK 21 beispielsweise kann problemlos installiert und gestartet werden, was eine solide Basis für Java-Projekte schafft. Das traditionelle Coden via Terminaleditor wie Vim oder Nano stellt aber für viele den Engpass dar. Die Lösung ist Visual Studio Code, eine überall beliebte Entwicklerumgebung.
Während die offizielle VSCode-App nicht auf Termux läuft, existiert die Alternative Code-Server, ein Fork von VSCode, der als Server im Terminal läuft und auf den via Webbrowser zugegriffen wird. Die Installation von Code-Server in Termux ist relativ unkompliziert, erfordert jedoch einige zusätzliche Pakete aus dem Termux-User-Repository. Über den Browser kann der Nutzer so seine Entwicklungsumgebung mit Vollbild und Syntaxhighlighting direkt am Handy bedienen. Es gibt jedoch Einschränkungen: Der Code-Server unterstützt nicht alle offiziellen VSCode-Erweiterungen und die Einrichtung von Java-spezifischen Entwicklungswerkzeugen ist etwas umständlicher, da viele Erweiterungen manuell aus VSIX-Dateien installiert werden müssen. Das lädt zur kreativen Suche nach Workarounds ein.
Eine andere Möglichkeit, eine näher am konventionellen Linux-System ausgerichtete Umgebung zu schaffen, ist die Nutzung von 'proot-distro'. Diese Methode erlaubt es, eine komplette Ubuntu-Distribution virtuell innerhalb von Termux zu betreiben. Hiermit lässt sich nicht nur die Entwicklung auf dem Smartphone beschleunigen, sondern man kann auch das offizielle VSCode zum Laufen bringen und sogar alternative JDK-Distributionen wie SapMachine pflegen, die nativ nicht im Termux-Repositorium enthalten sind. Die Ubuntu-Emulation erlaubt einen vollwertigen Zugang zu den bekannten Paketquellen, was gerade bei komplexeren Java-Stacks die Arbeit erleichtert. Allerdings muss man auch mit Performance-Einbußen durch die Emulation rechnen.
Das Starten von dicken Toolchains dauert länger, und der Emulationslayer wirkt sich spürbar bei vielen Dateioperationen negativ aus. Dennoch ist diese Methode für Entwickler relevant, die eine möglichst native Linux-Erfahrung auf ihrem Smartphone wünschen. Damit ist die Basis geschaffen, komplexe Anwendungen wie das SAP CAP Advanced Java Framework samt Beispielprojekt SFlight zu entwickeln und zu betreiben. SFlight ist ein Referenzprojekt, das die Möglichkeiten des SAP CAP Frameworks illustriert. Es verbindet Backend-Services mit einer Fiori-Element-Oberfläche und ist in Java und Node.
js verfügbar. Der Clou bei der Entwicklung direkt auf dem Handy liegt darin, dass beim Installieren und Kompilieren des SFlight-Projekts einige native npm-Pakete, die auf Android ARM64 nicht vorkompiliert zur Verfügung stehen, Probleme verursachen können. Während Maven und reine Java-Komponenten wunderbar laufen, bringt die JavaScript-gestützte Toolchain mit ihrem nativen C++-Code an einigen Stellen Fehler mit sich. Hier erweist sich die Methode, vorgefertigte Artefakte von einem leistungsfähigeren Gerät zu committen und in einer separaten Branch für mobile Entwicklung bereitzustellen, als pragmatische Lösung. Diese praxisorientierte Vorgehensweise erlaubt, den Java-Backend-Code direkt auf dem Smartphone zu bearbeiten, zu bauen und lokal zu starten.
Für die Frontend-Generierung und tiefgreifende npm-Verarbeitung kann die ebenfalls am Laptop ausgeführte Pipeline genutzt werden. So entsteht eine hybride Entwicklermethodik, die den mobilen Einsatz sinnvoll unterstützt. Die Nutzung von VSCode auf dem Smartphone ermöglicht, Quellcode zügig zu durchsuchen, zu debuggen und Fehler zu beheben – also ein vollständiges Developer-Experience-Gefühl trotz kleinem Bildschirm. Mit einer auf dem Handy installierten Tastatur oder angeschlossener Bluetooth-Tastatur lässt sich sogar ein halbwegs komfortables Coding-Setup etablieren. Abgesehen von Termux bietet Google seit kurzem eine native Linux-Terminal-App für verschiedene Pixel-Geräte an.
Diese läuft innerhalb einer virtuellen Debian-Umgebung auf dem Android-System und bringt eine stärkere Isolierung sowie mehr Stabilität, allerdings auch Einschränkungen bei Dateizugriffen und längeren Bootzeiten mit sich. Für die Entwicklung ist diese Linux-Terminal-App interessant, weil sie eine traditionelle Debian-Oberfläche und Paketverwaltung bietet. Diese Art von Virtualisierung ist vergleichbar mit dem Windows Subsystem for Linux und eröffnet weitere Optionen für die Arbeit mit JDKs und VSCode. Doch trotz aller Fortschritte zeigt sich in der Praxis, dass die Linux-Terminal-App aktuell noch einige Probleme besitzt. So ist der Zugriff auf Systemverzeichnisse sehr limitiert, die App stürzt gelegentlich bei intensiven Workflows wie Webentwicklung ab und das Handling von großen Projekten ist erschwert aufgrund der begrenzten Speicherkapazität innerhalb der VM.
Dennoch ist dies ein vielversprechender Ansatz, der mit kommenden Android-Versionen weiter reifen wird. Die Kombination aus leistungsfähiger Linux-Emulation, OpenJDK-Installation, VSCode-Server und Cloud Application Programming Model eröffnet Entwicklern eine neue Flexibilität. App-Entwicklung wird damit deutlich flexibler und entkoppelt vom klassischen Laptop oder Desktop-Rechner. Wer sich intensiver mit dem Szenario beschäftigt, kann sogar mit externen Displays, Tastaturen und Mäusen das Smartphone zur mobilen Workstation aufrüsten. Android Desktop Mode und ähnliche Konzepte zeigen bereits, dass das Konzept einer mobilen Entwicklungsumgebung sehr gut funktionieren kann.
Die längere Akkulaufzeit gegenüber Laptops ist ein zusätzlicher Pluspunkt. Neben dem reinen Setup gibt es auch Tools, die das Entwickler-Feedback direkt in VSCode verbessern. So existiert die experimentelle VSCode-Erweiterung "CAP-in-the-Pocket", mit der das Starten und Neustarten des CAP-SFlight-Servers innerhalb der IDE vereinfacht wird. Solche Erweiterungen tragen zu einem geschmeidigeren Workflow bei und zeigen, dass mobile Entwicklung auf dem Handy nicht nur eine technische Spielerei, sondern ein tatsächlich produktives Arbeitsumfeld sein kann. Die Limitierungen bezüglich nativ vorkompilierter npm-Pakete und teils fehlender Extension-Kompatibilität bei Code-Server zeigen, dass vor allem das Java-Backend auf dem Smartphone seinen Platz hat, während manche Frontend- oder Node.
js-Abhängigkeiten besser extern vorbereitet werden. Zusammenfassend zeigt sich, dass mit Android, Termux oder der Linux-Terminal-App, einer modernen Java-Distribution wie SapMachine oder OpenJDK und dem Einsatz von VSCode im Browser eine bisher undenkbare Flexibilität entsteht. Die Fähigkeit, SAP CAP Anwendungen direkt auf dem Smartphone zu entwickeln, stellt einen Paradigmenwechsel dar, der alle Entwickler, die viel unterwegs sind und trotzdem produktiv bleiben möchten, begeistern kann. Während dieses Konzept aktuell vielleicht noch nicht für den täglichen Vollzeit-Einsatz auf Laptop-Niveau geeignet ist, bietet es sich hervorragend für schnelle Bugfixes, Prototyping oder Demonstrationen an. Die stetige Verbesserung der zugrunde liegenden Werkzeuge verspricht, dass das Smartphone bald eine ernsthafte Alternative für die Java-Anwendungsentwicklung werden kann.
In der Zukunft wird sich zeigen, wie der Mix aus mobilen Entwicklungsumgebungen, Cloud-Workflows und Container-Ansätzen das Bild der Softwareentwicklung verändert. Bis dahin ist CAP in der Tasche ein innovativer und praktischer Weg, den eigenen Code jederzeit bei der Hand zu haben – ganz ohne Laptop.