thomaskekeisen.de

Aus dem Leben eines Bildschirmarbyters

Vorwort

So wie ein professioneller Handwerker auf entsprechendes, hochwertiges und auch im höheren Preissegment angesiedeltes Werkzeug setzt, gilt es auch als Softwareentwickler zu prüfen, ob ein kostenpflichtiges Tool bestimmte Arbeitsabläufe nicht vereinfacht und somit letztlich Zeit und Geld spart. Selbstverständlich gibt es auch quelloffene Software, die ebenfalls unverzichtbare Dinge leistet. Hier eine Übersicht meines "Software-Stacks" als Full-Stack-Web- und App-Entwickler in Verwendung mit einem MacBook Pro. Ich bin natürlich auch immer bemüht, mein Setup zu optimieren, zu verbessern und nicht mehr länger benötigte Software wieder zu entfernen.

PhpStorm

PhpStorm ist eine Entwicklungsumgebung aus dem Hause Jetbrains. Ich entwickle damit Webseiten und Apps auf Basis von React Native und würde sagen, dass 95% meines Arbeitstages in diesem Programm ablaufen. Für die App-Entwicklung auf Basis von JavaScript würde es auch noch den abgespeckten WebStorm geben, da ich aber meist Front- und Backends parallel entwickle, hat der größere PhpStorm für mich mehr Nutzen gestiftet. Die Lizenz für diese IDE schlägt jährlich mit gut angelegten 71€ zu Buche.

Das Logo von PhpStorm

iTerm und Oh My Zsh

Neben einer guten IDE benötigt ein Entwickler eine gute Konsole respektive Kommandozeile. Hier greife ich, wenn ich nicht das in PhpStorm eingebaute Pendant verwende, auf iTerm2 zurück. In Verbindung mit Oh My Zsh habe ich so eine mächtige Konsole die mir sehr viel Schreibarbeit abnimmt und Informationen lesbar aufbereitet. Alle diese Tools sind quelloffen und kostenlos.

Das Logo von iTerm2

1Password

Auch die Verwaltung von Passwörtern überlasse ich weder dem Zufall noch meinem Erinnerungsvermögen. Da ich für jede Webseite ein einzigartiges und sehr langes Passwort verwende, merke ich mir nur ein noch viel längeres Master-Passwort und überlasse dem Dienst 1Password den Rest. In Verbindung mit dem Fingerabdruck-Sensor meines MacBook Pro brauche ich selbst mein Master-Passwort im Regelfall nicht einzugeben.

Der vom Bedienkomfort kaum zu übertreffende Passwort-Manager kostet mich jährlich knappe 38€. Vor meinem Umstieg auf 1Password habe ich die Open-Source-Alternative KeePassX verwendet.

Das Logo von 1Password

Little und Micro Snitch

Um zu wissen, welches Programm zu welchem Zeitpunkt eine Verbindung zur Außenwelt aufbaut, verwende ich die FirewallLittle Snitch 3. Damit kann ich jedem Programm den kompletten Internetzugriff verweigern oder nur ganz bestimmte Aufrufe erlauben. Außerdem hat ein vermeintlicher Trojaner oder Virus keine Chance, Daten zu versenden, ohne, dass ich das bemerke.

Um auch unabhängig von deaktivierbaren Status-LEDs mitzubekommen, wann Kamera oder Mikrofon meines MacBooks aktiviert sind, nutze ich außerdem Micro Snitch. Das Programm zeigt ein nicht übersehbares Kästchen an, sobald ein Programm au die entsprechenden Sensoren zugreift. Ich bekomme also sofort mit, falls ich abgehört werde. Beide Programme gab es im Bundle und haben mit einmaligen 37,96€ zu Buche geschlagen.

Das Logo von Little Snitch

Bartender

Zugegeben, den Zweck von Bartender mag nicht jeder verstehen. Mit diesem kleinen Helfer lassen sich die Icons aus der meist viel zu vollen OSX-Systemleiste verstecken und nach Belieben sortieren. Ich habe so satte neun Icons, die ich quasi nie benötige, entfernt und kann meinen Fokus auf die verbleibenden und für mich relevanten Icons richten, die sich außerdem immer an der selben Stelle befinden. Die einmaligen 13,78€ war mir dieser Luxus wert.

Das Logo von Bartender

Colorsnapper 2

Als Softwareentwickler benötige ich sehr oft die Farbdefinitionen von Dingen, die auf meinen Monitoren zu sehen sind. Um so einfach wie möglich an diese Information zu gelangen, verwende ich ColorSnapper 2. Das Programm zeigt mir nach einem bequemen Druck der Tastenkombination Shift (⇧) + CMD (⌘) + C eine Lupe an, die immer direkt den Hex-Farbwert direkt unter meiner Maus anzeigt. Ein weiteres Drücken auf CMD (⌘) vergrößert den Zoom der Lupe nochmals. Mit einem anschließenden Klick wird der ermittelte Wert direkt in meine Zwischenablage kopiert und ich kann ihn an der eigentlich benötigten Stelle einfügen. Auch dieses Programm möchte für 8.99€ gekauft werden, spart aber ab dem ersten Verwenden Zeit und Nerven.

Das Logo von Colorsnapper 2

Shuttle

Den Tipp zu Shuttle habe ich einst von Michael Malura bekommen. Das Entwickler-Tool ist nur als kleine Rakete in der Statusleiste zu sehen und erlaubt das Ausführen bestimmter Kommandozeilenbefehle. Ich verwalte damit alle Server, auf die ich mich per SHH verbinden muss und kann bei Bedarf bequem mit einem Klick eine entsprechende Verbindung herstellen. Shuttle ist quelloffen und kostenlos.

Das Logo von Shuttle

BetterTouchTool

Das BetterTouchTool habe ich mir initial zur besseren Konfiguration der TouchBar meines MacBooks installiert. Ich nutze das Programm auch weiterhin zur Konfiguration eigener TouchBar-Buttons in Abhängigkeit der gerade aktiven Anwendung - das ist vor allem sinnvoll, wenn die Anwendung selbst noch keine Unterstützung für die TouchBar implementiert hat.

BetterTouchTool ist aber nicht nur in der Lage, die TouchBar sinnvoller zu nutzen sondern bietet auch die systemweite Konfiguration von Tastenkürzeln und Trackpad-Gesten an. Auch diese Funktionen nutze ich mittlerweile. Der Hersteller bietet Pay what you want als Bezahlmodell an, ich habe 5,99€ in eine Lizenz investiert.

Das Logo von BetterTouchTool

f.lux

Mit f.lux haben die Entwickler schon früh eine Funktion geboten, die mittlerweile zum guten Ton auf jedem gängigen Desktop- und Mobil-Betriebssystem gehört: Das entfernen von Blautönen aus dem Display gegen Abend um besser einschlafen zu können. Je nach Konfiguration zeigt der Bildschirm kurz vor der eingestellten Einschlafzeit überhaupt keine Blautöne mehr an. Außerdem erinnert die Anwendung mit lokalen Push-Nachrichten daran, dass man zumindest laut Konfiguration in acht Stunden wieder aufstehen wird und darum vielleicht an das rechtzeitige Schlafengehen denken sollte. f.lux kann kostenlos heruntergeladen werden.

Das Logo von f.lux

Keka

Wer beruflich nicht nur mit ZIP-Dateien sondern mit der kompletten Bandbreite an Verfügbaren Kompressions- und Packprogrammen zu tun hat, stößt mit dem Standardumfang des Mac-Betriebssystems schnell an seine Grenzen. Abhilfe schafft hier Keka. Das kleine Programm kann quasi jedes relevante Dateiformat entpacken und auch in die notwendigsten Formate verpacken. Keka kann kostenlos auf der Webseite des Entwicklers heruntergeladen werden. Der Quellcode ist aufgrund rechtlicher Probleme leider nicht frei verfügbar.

Das Logo von Keka

Charles

Bevor ich zu Charles gewechselt habe, hatte ich eine lange Zeit Burp Suite im Einsatz. Beide Programme sind Proxys, die sich zwischen Verbindungen meines MacBooks und einem Zielserver schalten können. Auch kann ich damit Verbindungen meiner Apple- und Android-Testgeräte über mein MacBook leiten und gucken, was gesendet und empfangen wird. Das ist vor allem beim Entwickeln von Apps mit React Native praktisch, da es dort keine bequeme Möglichkeit gibt, die Netzwerkaktivität von Apps zu debuggen. Eine Charles-Lizenz kostet knapp 53€ und rechnet sich, in gespartem Arbeitsaufwand umgerechnet, schon nach wenigen Tagen.

Das Logo von Charles

Visual Studio Code

Mit Visual Studio Code habe ich erst kürzlich die Programme Text Wrangler und Sublime Text komplett ersetzt. Der smarte Editor von Microsoft, der übrigens auf Electron basiert und damit eine Cross-Plattform-Implementierung ist, kommt immer dann zum Einsatz, wenn ich fremden Code oder sonstige Dateien mit nicht-binärem Inhalt be- und verarbeiten möchte. Ein toller und kostenloser Editor, der sich qualitativ sehr hochwertig in das Office-Angebot von Microsoft einreiht und vergleichbarer Software in nichts nachsteht.

Das Logo von Visual Studio Code

Memory Clean

Leider hat es Apple nicht geschafft, meinen 3200€-teuren Computer mit mehr als 16 Gigabyte an Arbeitsspeicher auszustatten. Selbst die erst kürzlich veröffentlichte, zweite Generation der neue MacBooks mit TouchBar, verfügen nicht über mehr. Da aber das Simulieren eines Smartphones, der Betrieb eines lokalen Webservers und natürlich das Entwickeln in einer IDE durch aus rechen- und speicherintensiv sein kann, nutze ich Memory Clean.

Das Programm erledigt seinen Job in der kostenlosen Variante schon zuverlässig und nötigt alle anderen Programme dazu, so schnell es geht wieder Speicher freizuräumen. Außerdem zeigt es den aktuell freien Arbeitsspeicher in der Statusleiste an und ich kann so recht schnell erkennen, ob ein nicht mehr oder langsam reagierendes Programm einfach über nicht ausreichend Speicher verfügt.

Das Logo von Memory Clean

Virtual Box

Mit Virtual Box ist es möglich, einen kompletten Computer zu emulieren. Ich betreibe mit dieser Software so einige Linux- und Windows-Instanzen. Teilweise als isoliertes Test-Betriebssystem, teilweise aber auch um Datenbanken für meine App- und Web-Projekte getrennt von meinem Hostrechner zu betreiben. Auch die später noch genannte Anwendung Kitematic setzt intern auf Virtual Box. Virtual Box ist kostenlose für alle gängigen Betriebssysteme verfügbar.

Das Logo von Virtual Box

SourceTree

Nahezu jede moderne Software wird heutzutage mit der Software-Versionsverwaltung Git entwickelt. Ich nutze für die Verwaltung meines Quellcodes das Programm SourceTree. Damit kann ich die verschiedenen Zweige meiner Software bequem in einem GUI bedienen und muss nur sporadisch für komplexere Git-Kommandos auf meine Kommandozeile zurückgreifen. Auch wenn beispielsweise ein Bug in einem meiner Programme auftaucht, kann ich so bequem nachforschen, wo und wann ich diesen verursacht habe.

Das Logo von Sourcetree

React Native Debugger

Ich habe jahrelang nativ für das iPhone entwickelt. Seit ungefähr dem ersten Quartal 2016 allerdings vermehrt plattformunabhängig auf Basis von React Native. Der React Native Debugger bündelt eine Handvoll Entwickler-Tools und erlaubt mir das einfache Debuggen meiner Anwendungen. Hierbei wird auf die Entwickler-Tools des Web-Browsers Google Chrome gesetzt. Als langjähriger Web-Entwickler eine gewohnte und bekannte Umgebung. Der React Native Debugger und alle verwendeten Abhängigkeiten sind kostenlos und quelloffen verfügbar - wie React Native selbst auch.

Das Logo von React Native Debugger

Android Studio

Zugegeben, freiwillig habe ich mir Android Studio nicht installiert. Da aber bei der App-Entwicklung mit React Native neben einer App für das iPhone eben auch eine Version für Android erzeugt wird, benötige ich Android Studio um beispielsweise auch den mitgelieferten Android-Simulator verwenden zu können. Glücklicherweise ist Google hier vor einigen Jahren von Eclipse auf Jetbrains als Entwicklungsumgebung umgestiegen, was die ganze Sache zumindest in einem gewissen Rahmen erträglich macht.

Das Logo von Android Studio

Physics Editor

Den Physics Editor habe ich insbesondere bei der Entwicklung meiner eigenen Webseite benötigt. Konkret habe ich mit diesem wertvollen Helfer die bewegbaren Elemente im Kopfbereich meiner Seite mit einer Maske versehen, damit das im Hintergrund laufende Spiele- Frameworkphaser.io eine schöne Physik berechnen kann. Zum Ausprobieren: einfach mit der Maus die Dinge im Kopfbereich dieser Seite herumwerfen oder die Pfeiltasten zur Steuerung des Superheldens verwenden. Der Physics Editor schlägt mit einmaligen 19,99€ zu Buche und lohnt sich schon nach dem ersten, einfach gerasterten Objekt.

Das Logo von Physics Editor

Xcode

Xcode ist das Pendant zu Android Studio. Unterm Strich vermutlich nicht wirklich stabiler oder bequemer, nach jahrelanger Benutzung aber ein Stück Software, das ich in und auswendig kenne. Mit Xcode werden Apps für iOS und macOS entwickelt und auch für die App-Entwicklung mit React Native ist das Tool unabdingbar. Xcode ist kostenlos und kann im Mac-App-Store heruntergeladen werden.

Das Logo von Xcode

Kitematic

Wie schon zuvor im Absatz zu Virtual Box kurz angesprochen, verwende ich Kitematic zur Verwaltung meiner virtuellen Maschinen. Konkreter richtet Kitematic mit einem Mausklick und ohne Konfigurationsaufwand komplette Installationen, wie beispielsweise die einer MySQL-Datenbank, auf Basis von Docker ein. So könnten auch mehrere Entwickler ohne Mehraufwand identische Testumgebungen auf ihren eigenen Computern einrichten. Kitematic ist kostenlos, den Tipp dazu habe ich von Michael Malura bekommen, danke!

Das Logo von Kitematic

Sketch

Mit Sketch habe ich nach längerer Suche ein einfaches und schnelles Grafikprogramm gefunden. Da ich selbst maximal einfache Grafiken erstelle, benötige ich einen sehr großen Funktionsumfang von Konkurrenzprodukten wie Photoshop oder der ganzen Adobe Creative Cloud nicht. Ich muss meist nur Grafiken passend exportieren. Außerdem erinnert Sketch an das früher von mir sehr intensiv genutzte Fireworks, das aber leider von Adobe gekauft wurde damit quasi seinen Todesstoß erhalten hat. Sketch ist einfach, leicht verständlich, viele Grafiker die ich kenne arbeiten damit und ich kann sogar im Notfall selbst die ein oder andere Grafik entwerfen. Mit nicht ganz günstigen 88€ ist das Grafikprogramm allerdings eine größere Investition.

Das Logo von Sketch

Zeplin

Ergänzend zu Sketch benutze ich außerdem Zeplin. Dieser kleine Helfer bildet quasi das Zwischenglied zwischen Grafiker und Entwickler und versucht entsprechend zu vermitteln. Das erledigt Zeplin beispielsweise mit dem Generieren von CSS-Code , der zumindest als zeitsparende Basis weiterverwendet werden kann und das ständige Neuerfinden das Rades erspart. Außerdem können Grafiken noch bequemer exportiert werden und neuerdings sogar Code für React Native erzeugt werden. Die Umsetzung eines App-Designs wird so nochmals massiv beschleunigt.

Das Logo von Zeplin

FileZilla

Vor einigen Jahren war FileZilla noch gang und gebe. Wer heute noch Webseiten per FTP-Zugang aktualisiert, hat entweder eine eher kleine Webseite, die das rechtfertigt, oder ein Problem. Code-Deployment in 2017 funktioniert schon längst vollautomatisiert und über bessere, schnellere und sicherere Protokolle und Lösungen. Aber falls ich eben doch Mal manuell auf einen FTP-Server zugreifen muss, leistet FileZilla einen wunderbaren Dienst.

Das Logo von FileZilla

Window Tidy

Die Fensterorganisation auf Mac war lange Zeit mühsam. Hier hat Apple zwar mittlerweile nachgebessert, ich setze aber nach wie vor gerne auf das Zusatzprogramm Window Tidy. Im Januar 2017 durch Mosaic ersetzt, genügt mir der Vorgänger noch immer. Window Tidy erkennt wann immer ein Fenster verschoben hat und zeigt entweder sofort oder wahlweise bei einem Tastendruck - ich habe die Alt (⌥) -Taste eingestellt - eine Liste von möglichen Fenstergrößen und Positionen an. Wir das Fenster auf einen dieser Vorschläge geschoben und losgelassen, wird es sofort entsprechend angepasst. Für mich ein Must-Have, das allem Anschein nach mittlerweile sogar kostenlos heruntergeladen werden kann.

Das Logo von Window Tidy

GIF Brewery

Ich bin viel in der Open-Source-Szene unterwegs und auch immer bestrebt, gefundene Probleme - beispielsweise in Tickets auf GitHub- möglichst genau zu beschreiben. Hierzu erstelle ich gerne mit dem auf macOS mitgelieferten Quick Time Player Videos von Apps oder der reproduzierten Bugs und stelle diese mit ins Netz. Da die Video-Dateien meist zu groß sind bietet GIF Brewery eine bequeme und kostenlose Möglichkeit, die erstellten Videos in eine GIF-Datei umzuwandeln. Und auch ein Kunde freut sich, wenn man im Ticket-System entsprechend sauber dokumentieren oder nachweisen kann.

Das Logo von GIF Brewery

Homebrew

Mit Homebrew existiert eine schöne Paketverwaltung für macOS, mit der vor allem Entwickler-Tools die sich sonst schwer oder umständlich installieren lassen, oder gar noch kompiliert werden müssen, mit einem einfachen Kommandozeilenbefehl installiert und einrichtet. Neben abgefahrenen Nerd-Tools verwaltet Homebrew aber auch mit Homebrew Casc gängige macOS-Anwendungen und erspart lästiges, manuelles Installieren von Software. Ein Must-Have für jeden Entwickler.

Das Logo von Homebrew

Postman

Postman ist quasi das Gegenteil von vorhin schon beschriebenen Charles. Die Anwendung kann HTTP-Anfragen nachbilden und auch projektbezogen speichern. So kann ich eine Programmierschnittstelle zwischen einer App und einem dazu passenden Server einfacher testen und muss dafür nicht zwingend die App bedienen, die diese Schnittstelle eigentlich aufruft - ich kann sogar theoretisch die ganze Server-Logik implementieren ohne, dass es überhaupt schon eine App gibt. Postman ist damit auch ein kostenloses Tool, das keinem Web- oder App-Entwickler fehlen darf.

Das Logo von Postman

Fazit

Ein beachtlicher Berg an Software, der für die Entwicklung neuer Software zum Großteil unabdingbar ist und mit einem einmaligen Betrag von knappen 228€ erworben werden wollte. Außerdem fallen jährlich weitere 109€ für Abo-Modelle an, die ich aber aufgrund der hervorragenden Qualität gerne bezahle. Von den bezahlten Programmen abgesehen sind extrem viele Programme von und für die Open-Source- und Entwickler-Community geschrieben und auch teilweise quelloffen auf GitHub verfügbar.

Ich hoffe sehr, dass ich den ein oder anderen Tipp vermitteln konnte und stelle die alles entscheidende Frage: Was habe ich vergessen?

Teilen

Kommentare