IDE auf dem iPad - Are we there yet?

In meinem allerersten Blogpost vor 8 Jahren habe ich (neben viel Cringe) erwähnt, dass ich diesen Blog (damals noch mit WordPress und anderem Namen) komplett über das iPad aufgesetzt hatte. Das war natürlich vergleichsweise einfach, alles, was man dafür brauchte, war ein SSH-Client und einen Webbrowser. Das ging vor 8 Jahren schon, wenn auch etwas umständlich.

Heute aber, in 2020, sieht die Welt etwas anders aus. Meine Freundin ist dazu übergegangen, ihren Arbeitslaptop durch ein Tablet mit Keyboard-Case zu ersetzen, und damit ist sie nicht alleine. Mit Surface-Tablets und iPad Pros neigen immer mehr Leute dazu, dem alten Computer oder Laptop lebewohl zu sagen und dafür nur noch ein Tablet als Arbeitsgerät zu verwenden.

Als damals, vor etwa 10 Jahren, die ersten Tablets angekündigt wurden, war ich noch sehr skeptisch und war der Meinung, dass diese Tablet zwar ganz gut sind, um im Bett mal einen Film zu gucken, aber nicht wirklich eine Daseinsberechtigung haben. Sie waren ja nur große Smartphones, oder eben Laptops ohne Tastatur und mit nur 10% der Features. Mittlerweile bin ich da anderer Meinung. Wenn ich könnte, würde ich meinen Laptop aus dem Fenster schmeißen und nur noch mein Tablet verwenden. Warum? Weil ein Managed OS einfach besser funktioniert. Das war ja damals auch schon die Debatte zwischen macOS und Linux. Bei Linux konntest du alles machen, aber musstest eben auch alles machen, damit es so läuft, wie du es dir vorstellst. Bei macOS bekommst du das Ding hingestellt und dann gewöhnst du dich schon dran und dann läuft es auch. Mit iOS und Android ist das nochmal ein bisschen stärker und mittlerweile migrieren macOS und Windows in diese Richtung. Mehr dazu gibt es in meiner ersten Podkast-Episode.

Der Punkt ist: Viele Berufe sind mittlerweile so weit, dass sie auf Tablet vorzüglich erledigt werden können: Manager, Künstler, Projektleiter, Podcaster, YouTuber, Journalisten, Autoren und viele mehr. Als Programmierer hat man es nicht so einfach. Je nach Branche brauchen wir fette Kisten, die Dinge kompilieren oder rendern können, viel Arbeitsspeicher für virtuelle Maschinen, dicke IDEs und andere komplexe Entwicklungstools. Aber moment.. kann das nicht alles auch in..

via GIPHY

die Cloud!

Na klar! Also, theoretisch. In der Tat gibt es einige Services, die Web-IDEs anbieten. Inklusive SSH-Zugriff auf Docker-Container und den ganzen schönen Krams. Zugegeben, als Spieleentwickler wird man hier vermutlich als letzter den Wechsel machen können, und auch Entwickler für native Systeme mit GUI (also Windows, Linux oder macOS) haben hier vermutlich etwas größere Hürden, aber für Entwickler von Backend-Anwendungen, Web-Frontends oder Linux-CLI-Tools, haben heute schon die Möglichkeit, in der magischen Wolke zu entwickeln. Ein paar IDEs lassen sich sogar auf den eigenen Server installieren, man muss also hier nicht auf den Cloud-Anbieter vertrauen.

Stand 2020 konnte ich die folgenden Web-IDEs finden:

  • Coder
  • codeanywhere
  • AWS cloud9
  • Visual Studio Codespaces
  • Codiad

Coder

Den Anfang macht Coder. Dieses Projekt ist Open Source und kann auf dem eigenen Server gehostet werden. Im Endeffekt ist es Visual Studio Code, was ja ohnehin nur eine JavaScript-Anwendung ist, mit ein paar Tweaks. Inspiriert hat mich dafür dieser Medium-Post. Er scheint auf dem iPad damit keine Probleme zu haben und kann direkt loscoden. Ich habe das Ganze natürlich auch direkt ausprobiert. Am PC im Browser: Super! Wie Visual Studio Code, nur eben auf einem Server. Was will man mehr? Aber: Am iPad bekomme ich leider nur eine weiße Seite. Ich weiß nicht, ob es an meiner Konfiguration liegt, oder ob mittlerweile bei Coder etwas kaputt ist, aber ich kann hier leider nur sagen: Geht nicht.

codeanywhere

Dieser Service hat mich bisher eigentlich am meisten überzeugt. Für 8 USD pro Monat kann man hier bis zu 10 Container verwenden und sich damit ganz gut austoben. Auch sonst ist das Interface recht übersichtlich und kann am iPad ganz gut bedient werden. Das einzige Problem: Die zwei wichtigsten Dinge gingen (bei mir) am iPad nicht: Rechtslick durch Langklick ist in der Ordnerstruktur nicht möglich. Darüber öffnet man aber leider auch die SSH-Verbindung und andere wichtige Optionen, ist also nicht ganz optimal. Auch das Öffnen der Preview klappt dank Verwendung der Popup-Funktion nicht und muss manuell getätigt werden. Ich bin mir aber sicher, dass codeanywhere diese Fehler sehr schnell beheben könnte(!).

AWS cloud9

Wie man es von AWS erwartet, ist die Kostenstruktur für den kleinen Entwickler sehr vorteilhaft gestaltet. So kostet der Cloud-Editor nur ein paar Euro pro Monat bei aktiver Nutzung. Auf dem iPad kann man die IDE auch ganz gut verwenden, allerdings funktionieren auch hier ein paar Dinge nur schwerfällig oder gar nicht. Das Schließen von Fenstern ist relativ umständlich. Positiv: Ein Debugger ist eingebaut und ermöglicht es daher zumindest einigermaßen, seinen Code zu debuggen. Auch SSH-Verbindungen auf die eigenen Server sind kein Problem.

Visual Studio Codespaces

Tja, was soll man sagen… Aktuell noch in der Public Beta, wird der iPad-Browser noch nicht unterstützt. Entsprechend landete ich beim Login direkt in einer unendlichen Redirect-Loop und konnte das Projekt nicht testen. Schade.

Codiad

Dieser Service kann nur genutzt werden, wenn man ihn selbst hostet. An sich natürlich ein Pluspunkt, aber leider ist es wie die meisten Open Source Projekte nicht gut supported und nicht sonderlich ausgereift. Es gibt einige Forks und Weiterentwicklungen, aber trotzdem ist alles meiner Ansicht nach noch mit viel Frickeln verbunden und damit für mich keine Option. Ich möchte ja gerade deswegen meinen Laptop hinter mir lassen, um eben nicht mehr frickeln zu müssen.


Generelle Probleme bieten sich bei der Entwicklung über Web IDEs natürlich immer: Debuggen ist schwierig und man ist limiertiert in dem, was die IDE-Entwickler anbieten. Client-JavaScript oder HTML/CSS zu debuggen ist ohne Inspector-Tools im Browser relativ schwierig und ich bin mir sicher, dass durch die Limitierungen des Betriebssystemes und der Kombination mit der Browser-IDE noch einige andere Nachteile enstehen werden.

Davon abgesehen scheitern sowieso aktuell schon alle Web IDEs an den Basics: An der Bedienung der Website über den Browser des iPads. Finde ich sehr schade. Ich bin mir aber sicher, dass wir hier in den kommenden Jahren große Sprünge machen werden. Sowohl in der Weiterentwicklung der Tablet-Browser, als auch in der Priorisierung von Tablet-Usern der Web-IDE-Entwickler.


Fazit: Aktuell kann ich meinen Laptop also noch nicht aus dem Fenster werfen. Es wird wohl noch ein paar Jahre dauern, bis man als (Web-)Entwickler komplett auf das Web und Tablet setzen kann und keinen Laptop mehr benötigt.

Allerdings: Nutzer von Chrome OS-Geräten oder ähnlichen Systemen, können sogar schon heute viele Arbeitsprozesse ohne das lokale Dateisystem durchführen.

Bildquelle: Pexels