Dezember-Newsletter - 01.12.2022
Liebe Freundinnen, liebe Freunde!
hier ist der Steve. Willkommen im Dezember '22, und damit auch willkommen bei der 1. Ausgabe dieses monatlichen Newsletters.
Wer eine ordentliche Software erstellen möchte, der kommt nicht drumherum, sich damit zu beschäftigen, was das überhaupt bedeutet. Und damit ich das nicht im stillen Kämmerlein machen muss, und weil das alles im Rahmen von Open-Source Projekten passiert, habe ich mich für dieses News-Format entschieden.
Einmal im Monat werde ich mir einige Stunden Zeit dafür reservieren, vergangene und kommende Ereignisse zu reflektieren, spannende Themen herauszufiltern und diese für euch aufzubereiten. Alles immer im Kontext von quelloffener und kostenfreier Software.
Neues im Projekt
- Ein Pagination-Modul wurde umgesetzt, mit dem man Daten seitenweise anzeigen lassen kann, und dass hoffentlich in weiteren Bestandteilen ebenfalls verwendet werden kann.
- Ein Linter wurde hinzugefügt, der dabei helfen soll, dass Quelltexte einheitlich formatiert werden.
- Eine Seite zum Beenden eines aktiven Projekt-Trackings wurde hinzugefügt.
- Axios wurde hinzugefügt, und unterstützt zukünftig bei der Durchführung von Ajax-Anfragen.
- Eine Domain wurde registriert (BetterTime.org) und eine minimalistische Projekt-Webseite erstellt.
Was war so los in der Welt?
- Elon Musk hat Twitter übernommen, und ein größerer Teil der User ist zu Mastodon gewechselt, was ich als FOSS-Alternative ebenfalls sehr empfehlen kann. Vielen Twitter Mitarbeitern wurde gekündigt. Einige von ihnen sollten später wieder zurückgeholt werden, als man wohl merkte, dass man versehentlich essentielle Positionen entfernt hatte.
- Amazon hat verkündet, dass die Weiterentwicklung von Alexa eingestellt wird.
- Im Disneyland Paris fand die Symfony-Con statt, die mir persönlich einfach viel zu teuer war. Schade, hätte ich mich doch auf den Austausch mit anderen Entwicklern ansonsten sehr gefreut.
Technische Entscheidungen: Vanilla Javascript oder Vue?
Als ich das Projekt begonnen habe, sind mir einige Entscheidungen noch sehr leicht gefallen.
Das ich ein Framework verwenden würde, stand für mich außer Frage. Immerhin leben wir im Jahr 2022. Die Schaffung von Basis-Funktionen kann wirklich nicht mehr die Hauptbeschäftigung sein, wenn man ein Programm für Endanwender schaffen möchte. Einer meiner OSS-Eckpfeiler ist, die Einstiegshürde für weitere Entwickler so gering wie möglich halten. Deshalb versuche ich so wenig Frameworks und Abhängigkeiten einzusetzen wie möglich. Eine Analogie aus der Geschäftswelt wäre MiniMax: Minimaler Einsatz von Tools und Bibliotheken unter Maximierung der Möglichkeiten.
Im Fall von Javascript fällt mir diese Entscheidung gerade wirklich nicht leicht. Für Ajax-Anfragen habe ich inzwischen schon Axios im Einsatz. Denn komplette, promis-fähige Javascript Request-Handler mag ich einfach nicht in Vanilla Javascript schreiben. (Als Vanilla Javascript bezeichnet man den Einsatz von Javascript ohne irgendwelche Drittbibliotheken).
Aber inzwischen merke ich bei der Entwicklung auch, wieviel Mehrarbeit in jeder einzelnen Komponenete steckt. Der Javascript-Anteil des Projekts beträgt laut Github über 50%, nimmt also den größten Raum im Projekt ein.
Atuell wäge ich noch ab, aber es ist gut möglich, dass ich in Kürze Vue zur Unterstützung hinzuziehe.
Ich möchte die Reaktivität der Anwendung stark erhöhen, wobei ich uns allen mit reinem Javascript wwohl keinen Gefallen tun würde.
Auch wenn ich die Einstiegshürde mit Vanilla Javascript für einige Entwickler niedriger legen würde, weil sie sich dann nicht erst mit Vue beschäftigen müssten, überwiegen die Vorteile von Vue nach meiner Ansicht:
- weniger Code
- bessere Wartbarkeit
- bessere Vernetzung von Komponenten
Gebt mir noch ein paar Tage Bedenkzeit, aber die Chancen für Vue stehen gerade nicht schlecht.
Streaming & Youtube
GIT ist super. Es dokumentiert den kompletten Entwicklungsprozess des Projekts. Jede kleine Quelltextänderung wird festgehalten. Wer sich die Readme-Dateien mal genauer ansieht, kann feststellen, dass es hier mal Links zu Youtube und Twitch gab. Ich habe in den ersten Wochen die meiste Zeit der Entwicklung auf Twitch gestreamt und aufgenommen. Die Videos habe ich, größtenteils dann auch auf Youtube veröffentlicht.
Es hat mir viel Spaß bereitet, in den Twitch-Sessions durch Raids gestört zu werden. Und der Austausch mit anderen Entwicklern über den Chat war super. Aber leider muss ich auch zugeben, dass die Nachteile überwiegen. Die Qualität war nicht annähernd so gut, wie ich mir das gewünscht hätte. Live-Coding ist eben doch was anderes als Spiele-Streaming.
Als ich die Folgen durchgeschaut habe, fand ich das schon gruselig bis ermüdend. Wie sollte ich jemand anderem zumuten, sich das anzusehen? Außerdem störte der angenehme Teil des Live-Codings die Entwicklung. Während es mir Spaß machte, mit anderen über Fachthemen zu sprechen, musste ich auch feststellen, dass ich jede Menge Zeit in dieser Kommunikation verlor, und Dinge einfach nicht fertig wurden.
Trotzdem möchte ich den Fortschritt des Projekts nicht gänzlich undokumentiert lassen. Deshalb habe ich mich dazu entschieden, statt der Videos und des Live-Streamings zunächst einmal monatlich einen News-Beitrag zu verfassen. Die erste Ausgabe davon habt ihr gerade gelesen. Weitere werden folgen. Spätestens nach der vierten Ausgabe werde ich beurteilen, wie gut das läuft, und ob ich das so fortführen kann.
Bis dahin,
vielen Dank fürs Lesen,
dein Steve