zurück zum Artikel

Tools fĂŒr Web- und Cloud-Entwicklung

Golo Roden

Die vergangene Folge von "Götz & Golo" hat sich mit der Frage beschÀftigt, wann Teams gut zusammen arbeiten. Der Fokus lag dabei auf der Arbeit remote und vor Ort. Doch wie sieht es mit den eingesetzten Tools aus?

Die vergangene Folge von "Götz & Golo" hat sich mit der Frage beschÀftigt, wann Teams gut zusammenarbeiten. Der Fokus lag dabei auf der Arbeit remote und vor Ort. Doch wie sieht es mit den eingesetzten Tools aus?

Welche Tools in einem Team zum Einsatz kommen, hĂ€ngt natĂŒrlich in erster Linie vor allem von dem jeweiligen Team sowie dessen BedĂŒrfnissen, Anforderungen und Aufgaben ab. Zumindest die Werkzeuge, die direkt bei der Softwareentwicklung verwendet werden, orientieren sich darĂŒber hinaus auch an den eingesetzten Techniken. Dennoch gibt es einige Dinge, die sich verallgemeinern lassen.

Mehr Infos

Götz & Golo

"Götz & Golo [1]" ist eine gemeinsame Serie von Götz Martinek und Golo Roden. Der eine ist GeschĂ€ftsfĂŒhrer der sodge IT GmbH, der andere CTO der the native web GmbH. Was die beiden vereint, ist ihre große Leidenschaft fĂŒr die Entwicklung von Software. Seit September 2019 nehmen sie sich monatlich ein Thema vor, zu dem dann jeder seine individuelle Perspektive beschreibt, ohne den Artikel des jeweils anderen im Vorfeld zu kennen. Der zugehörige Artikel von Götz findet sich im Blog von sodge IT [2]. Die Fragestellung zu diesem Beitrag lautete: "Welche Tools nutzt Ihr, und warum?"

Daher stelle ich im Folgenden zunĂ€chst einige Tools vor, die ich fĂŒr meine Arbeit im Bereich der Web- und Cloud-Entwicklung einsetze, und komme anschließend auf Werkzeuge fĂŒr andere Bereiche zu sprechen. Darunter finden sich dann auch Tools zur Zusammenarbeit im Team.

Technologisch beschĂ€ftige ich mich primĂ€r mit der Entwicklung verteilter Web- und Cloud-Anwendungen, auf der Basis von JavaScript und TypeScript. Als Laufzeitumgebung setze ich dabei auf Node.js und npm, fĂŒr die umgebende Infrastruktur verwende ich im Wesentlichen Docker und Kubernetes. Das bestimmt letztlich schon einen Großteil der Werkzeuge.

Die Grundlage bildet (logischerweise) Node.js [5], wobei ich hier stets auf die neueste LTS-Version setze. Seit dem 21. Oktober 2019 ist das die 12.x-Reihe, im Herbst kommenden Jahres werde ich dann auf die 14.x-Reihe wechseln. Als Paketverwaltung ist von Haus aus npm [6] enthalten. Mit Alternativen wie yarn [7] beschĂ€ftige ich mich zwar aus Neugier, bleibe fĂŒr den Alltag aber bei npm – einfach deshalb, weil es in der Node.js-Welt der gĂ€ngige Standard ist.

Als Editor nutze ich Atom [8], da er deutlich leichtgewichtiger als eine integrierte Entwicklungsumgebung ist, und mir der Editor von der Art, wie er funktioniert, sehr entgegenkommt: Die Wahl fĂŒr Atom ist also primĂ€r eine Wahl des persönlichen Geschmacks, weniger der technischen Features. Als Plug-ins verwende ich lediglich zwei: zum einen atom-typescript [9] fĂŒr die UnterstĂŒtzung fĂŒr TypeScript, zum anderen linter-eslint [10] fĂŒr die komfortable Integration von ESLint [11], einem Codeanalysetool fĂŒr JavaScript und TypeScript.

Viele Entwickler und auch einige Kollegen setzen inzwischen zunehmend auf Visual Studio Code [12], mit dessen Bedienkonzept ich mich aber nicht anfreunden kann: Die IDE legt einige Verhaltensweisen an den Tag, die mir nicht gefallen oder die ich gar lĂ€stig finde. Sicherlich ließe sich das alles auch irgendwie konfigurieren, den Aufwand kann ich mir durch das Verwenden von Atom jedoch sparen.

FĂŒr Docker [13] und Kubernetes [14] nutze ich tatsĂ€chlich lediglich die jeweiligen Kommandozeilentools, docker und kubectl. Dockerfiles und Konfigurationsdateien fĂŒr Kubernetes editiere ich ebenfalls mit Atom. ErgĂ€nzt wird das Ganze durch Git [15], was ich ebenfalls auf der Kommandozeile ohne weitere Werkzeuge verwende. Als Kommandozeile habe ich lange Bash (den Standard unter macOS) verwendet, bin aber vor kurzem auf zsh umgestiegen, da es die neue Standardshell unter macOS Catalina ist. Als Plug-in fĂŒr zsh habe ich Oh My Zsh [16] installiert.

TatsĂ€chlich sind das im Wesentlichen bereits alle relevanten Werkzeuge, mit denen ich meinen Alltag bestreite. Das Setup bietet fĂŒr mich ausreichend viel Komfort, und lĂ€sst sich vor allem mit wenig Aufwand auf anderen Systemen gleichartig einrichten, ohne erst Stunden in Konfiguration und Ă€hnliches stecken zu mĂŒssen.

Im Rahmen der tech:lounge [17] (die Videoplattform meines Unternehmens, auf der wir kostenlos Videokurse anbieten) nehme ich gelegentlich Webcasts auf. Das mache ich mit dem in macOS integrierten QuickTime Player [18], der den Bildschirminhalt mitsamt dem Ton aufzeichnet. Zur Nachbearbeitung des Tons verwende ich Wavelab [19] von Steinberg. FĂŒr KlĂ€nge und Grafiken greife ich gelegentlich noch auf Apple Logic Pro X [20] und die Adobe Creative Cloud [21] zurĂŒck.

FĂŒr die Planung der tĂ€glichen Arbeit verwenden wir GitHub [22]. ZusĂ€tzlich zu den Repositories, die Code enthalten, gibt es noch einige private Repositories, die wir zur Dokumentation interner Prozesse und fĂŒr organisatorische Aufgaben einsetzen. Dazu kommt hauptsĂ€chlich die Projektverwaltung von GitHub zum Einsatz: Besonders schĂ€tze ich an GitHub Issues [23], dass sie Ă€ußerst leichtgewichtig, zugleich aber ausgesprochen flexibel sind. Ich bin immer wieder ĂŒberrascht, wie weit man mit einigen wenigen Feldern und frei definierbaren Labels kommt.

FĂŒr meine persönliche To-do-Liste nutze ich außerdem Remember The Milk [24], wo ich vor allem Aufgaben eintrage, die zu einem festen Termin erledigt werden mĂŒssen.

FĂŒr die interne Kommunikation und auch fĂŒr die Kommunikation mit der wolkenkit-Community [25] verwenden wir Slack [26]: Wir nutzen Slack dabei nicht nur als Chat, sondern auch fĂŒr Telefonate, Videotelefonie und Screensharing. Slack stellt bei uns auch die Basis fĂŒr Pair Programming dar – eine Arbeitsweise, die wir sehr schĂ€tzen. Als E-Mail-Programm verwende ich Outlook fĂŒr Mac [27].

Da ich hĂ€ufig unterwegs bin, brauche ich regelmĂ€ĂŸig ein verlĂ€ssliches VPN. Dazu verwende ich TunnelBear [28], das ohne weitere Konfiguration einfach funktioniert und dessen Entwickler viel Liebe in eine hĂŒbsche grafische OberflĂ€che gesteckt haben: TunnelBear ist fĂŒr mich das Paradebeispiel dafĂŒr, dass man selbst etwas so unspektakulĂ€res wie ein VPN durch eine Ă€sthetische Darstellung ansprechend gestalten kann. Vom gleichen Herstelle stammt ĂŒbrigens auch der Passwortmanager Remembear [29], fĂŒr den prinzipiell das gleiche gilt: Es macht einfach Spaß, diese beiden Produkte zu benutzen.

Fasst man die Liste der von mir verwendeten Tools zusammen, fĂ€llt auf, dass sie relativ kompakt ist und vor allem dadurch auffĂ€llt, dass ich auf Werkzeuge setze, die bereits in den Werkseinstellungen weitgehend dem entsprechen, was ich mir wĂŒnsche beziehungsweise brauche. Dahinter steckt der Gedanke, dass ich mich wenig mit den Tools an sich beschĂ€ftigen, sondern mich mehr auf die Aufgaben konzentrieren möchte, die ich zu bewĂ€ltigen habe.

tl;dr: Node.js, npm, Atom, Docker, kubectl, zsh, Oh My Zsh, QuickTime Player, Wavelab, Logic Pro X, Creative Cloud, git, GitHub, Remember The Milk, Slack, Outlook, TunnelBear und Remembear – diese Anwendungen sind die Basis fĂŒr meine tĂ€glich Arbeit. ( [30])


URL dieses Artikels:
https://www.heise.de/-4569861

Links in diesem Artikel:
[1] https://www.heise.de/blog/Neue-Serie-Goetz-Golo-4496312.html
[2] https://www.sodgeit.de/aus-dem-blog/golo-goetz-01.html
[3] https://www.heise.de/developer/artikel/Virtuell-vereint-Wann-Teams-remote-und-oder-vor-Ort-gut-zusammenarbeiten-4522570.html
[4] https://www.heise.de/blog/Credo-fuer-eine-offene-und-tolerante-Kommunikation-in-der-IT-Unternehmenskultur-4493541.html
[5] https://nodejs.org/en/
[6] https://www.npmjs.com/
[7] https://yarnpkg.com/
[8] https://atom.io/
[9] https://atom.io/packages/atom-typescript
[10] https://atom.io/packages/linter-eslint
[11] https://eslint.org/
[12] https://code.visualstudio.com/
[13] https://www.docker.com/
[14] https://kubernetes.io/
[15] https://git-scm.com/
[16] https://ohmyz.sh/
[17] https://www.techlounge.io/
[18] https://support.apple.com/de-de/quicktime
[19] https://new.steinberg.net/de/wavelab/
[20] https://www.apple.com/de/logic-pro/
[21] https://www.adobe.com/de/creativecloud.html
[22] https://github.com/thenativeweb
[23] https://github.com/features/project-management/
[24] https://www.rememberthemilk.com/
[25] http://slackin.wolkenkit.io/
[26] https://slack.com/intl/de-de/
[27] https://apps.apple.com/de/app/microsoft-outlook/id985367838
[28] https://www.tunnelbear.com/
[29] https://www.remembear.com/
[30] mailto:webmaster@goloroden.de