Bugfixes und Updates für Boehrsi.de
Anfang der Woche fiel mir auf das einige Kategorien und Tags hier im Blog Probleme machen, Grund dafür ist ein Update des Code Generators des Blogs gewesen. Um derartige Probleme in Zukunft zu vermeiden habe ich die Art und Weise wie meine Kategorien, Tags und weitere Daten gespeichert werden angepasst. Hierfür war ein Update von ca. 5000 Beiträgen nötig, was etwas Zeit in Anspruch nahm, vor allem da die Daten nach derart großen Änderungen zumindest grundlegend validiert werden sollten.
Mit dem heutigen Update sollten alle Kategorien, Tags und weitere Einträge wieder funktionieren und alle Daten sollten wieder sichtbar sein. Außerdem habe ich Kleinigkeiten bei der Anzeige von Kommentaren verbessert und ein weiteres Update des Code Generators des Blogs vorgenommen. Kleinere weitere Fixes und Optimierungen gab es nebenher ebenfalls.
Sollten euch Probleme auffallen oder ihr generell Feedback haben, meldet euch gerne in den Kommentaren.
Flutter Designsysteme - Es muss nicht immer Material sein
Ich bin ein Freund von Designsystemen die entweder direkt in einem Framework integriert oder als zusätzliche Plugins verfügbar sind. Das heißt nicht das ich der Meinung bin das der Entwickler keine Freiheit haben sollten, aber eine Basis zu bieten, die bei Bedarf genutzt werden kann, ist für mich persönlich sehr praktisch. Ich bin Softwareentwickler und kein Designer, insofern fällt es mir mitunter schwer einheitliche Konzepte, die innerhalb einer gesamten App gut aussehen und konsistent sind zu erschaffen. Genau dabei helfen besagte Designsysteme.
Nur weil allerdings ein Standard vorhanden ist, wie z.B. bei Flutter mit Material und Cupertino, was quasi Android und iOS abbildet, heißt dies nicht das man nicht auch mal über den Tellerrand hinaus schauen sollte. Genau dies habe ich in den letzten Monaten getan und ich kann sagen es war durchaus ein Erfolg. Ich habe dabei kein komplett eigenes Designsystem erstellt, denn wie oben erwähnt ist dies nicht unbedingt mein Fachgebiet, ich habe stattdessen andere Systeme ausprobiert und war durchaus angetan.
Droidcon / Fluttercon 2024 - Sessions sind online
Vor etwa zwei Monaten war ich auf der Droidcon / Fluttercon und ich war wieder jedes Jahr sehr zufrieden mit dem Event. Mein komplettes Fazit könnt ihr übrigens auch hier im Blog nachlesen.
Heute soll es aber darum gehen, dass auch alle die nicht vor Ort waren sich die Talks ansehen und anhören können. Dies ist nun möglich da alle Sessions online auf der Droidcon / Fluttercon Webseite verfügbar sind. Folgt einfach den Related Links, dort gibt es den jeweiligen Content und noch einiges mehr.
Ich kann interessierten Entwicklern nur empfehlen mal einen Blick auf die Sessions zu werfen, denn derartige Events bieten oft neue Perspektiven und Ansätze, welche auch für erfahrene Entwickler interessant sein können.
Dartpad - Dart Code im Browser ausführen
Manchmal will man schnell etwas ausprobieren, egal ob innerhalb eines großen Projekts oder auch komplett losgelöst von einem spezifischen Kontext. Dafür kann man eine dedizierte IDE öffnen, einen Test schreiben und ausführen, wenn das Ganze innerhalb eines großen Projekts ist oder verschiedene andere Tricks nutzen. Meiner Meinung nach ist eine weitere IDE allerdings nerviger Overhead und einen Test zu schreiben, welcher dann wieder entfernt wird, weil man nur kurz etwas ausprobieren wollte ist auch unpraktisch, z.B. wenn man vergisst ihn wieder zu löschen.
Für solche Dinge habe ich mir tatsächlich angewöhnt einfach Dartpad zu nutzen. Die Webseite ist sofort offen, die Umgebung ist bereit und ich kann direkt ein paar Zeilen Dart schreiben und selbige ohne weiteren Aufwand ausführen. Vor allem wenn es um das Verhalten von System- oder Framework Methoden geht, welche man anhand eines konkreten Beispiels ausprobieren will, finde ich diesen Ansatz durchaus gangbar.
In diesem Kontext würde mich interessieren wie ihr derartige Situationen behandelt. Darüber hinaus plane ich für die Zukunft mal einen Blick auf Googles Project IDX open_in_new zu werfen. Hier erhält man eine komplette IDE im Browser, welche bereits jetzt diverse Sprachen und Frameworks unterstützt. Hier bin ich allerdings noch skeptisch, denn für eine komplette IDE habe ich tatsächlich lieber eine lokale Umgebung, auch wenn selbige etwas mehr Aufwand für die Einrichtung bedarf.
Optimierungen für Boehrsi.de
Nach längerer Zeit habe ich mal wieder ein kleines Update an meinem Blog und nicht den dahinterliegenden Services vorgenommen. Das Update sorgt für eine bessere UI / UX durch minimale Anpassungen bei Abständen, Schriftgrößen und der Anordnung von Elementen. Ebenfalls verbessert wurde die Ladezeit in einigen Usecases. Zusätzlich sollten Screenreader nun besser funktionieren, da ich die Hierarchie der Elemente besser strukturiert habe.
Alles in allem ist es zwar nur ein kleines Update, aber ich finde es wichtig am Ball zu bleiben und neue Techniken oder UI / UX Flows zu unterstützen. Dazu gehört in diesem Update das Lazy Loading von Bildern open_in_new und die damit verbundene Verbesserung von Ladezeiten.
Devlog #7 - Project Space - Aktueller Status und Devlog Pläne
Devlog Nummer 7 steht an und ich merke gerade das ernsthaft schon wieder ein halbes Jahr vergangen ist, seit meinem letzten Beitrag zu diesem Thema. In diesem Kontext muss ich sagen, dass das aktuelle Format so nicht funktioniert. Denn auch wenn ich extrem viel zu tun habe und mitunter auch mehrere Wochen nicht aktiv am Spiel arbeiten konnte, so gab es diverse Fortschritte, welche in Form eines Beitrags hätten erscheinen können.
Doch wie wir sehen ist dies nicht der Fall, denn die Art und Weise wie ich dieses Format erstelle ist denkbar unpraktisch. Ich sammele diverse Inhalte, fasse selbige dann später zusammen und bastele daraus einen größeren Artikel. Doch ab wann habe ich genug Informationen für einen derartigen Artikel, wann finde ich die Zeit selbigen zu schreiben und wie schaffe ich es aufgrund des längeren Zeitraums nichts zu vergessen? Viele Fragen auf die es keine zufriedenstellenden Antworten gibt. Aus diesem Grund werde ich ein weiteres Mal eine mitunter große Änderung am Format vornehmen, doch zuvor erst einmal ein aktuelles Status Update zu Project Space.
Raffle Companion - Update 1.4.0 & Gewinnspiel-Erinnerung
Seit einigen Tagen ist eine neue Version meines Raffle Companion Tools verfügbar. Diese ist wie gewohnt für Windows über den Microsoft Store verfügbar. Sofern es Interesse gibt werde ich ebenfalls versuchen Linux open_in_new und Mac open_in_new Builds bereitzustellen. Für den Moment bleibt es aber bei Windows und selbige Version hat nun eine überarbeitete, logischer aufgebaute UI, Fehler in der Suche wurden behoben und einige Übersetzungen wurden angepasst.
Die App ist komplett in Dart und Flutter geschrieben, nutzt das auf Windows angepasste Fluent UI Design System und ist als Open Source Anwendung via GitHub open_in_new auch auf Code-Ebene einsehbar. Falls ihr eure Gewinnspiele lokal verwalten wollt, schaut euch das Tool doch mal an. Bei Fragen meldet euch gerne in den Kommentaren.
Und wo wir gerade von Gewinnspielen reden, an dieser Stelle eine kleine Erinnerung an meine beiden aktuellen Gewinnspiele, die noch bis morgen Abend aktiv sind. Zum einen das Bitdefender Gewinnspiel, welches ich jährlich veranstalte und mein monatliches Games Gewinnspiel.
Patchday - Updates und Pull Requests
Während ich meine Android und Flutter Libraries pflege bin ich meist allein unterwegs. In der letzten Zeit hat sich dies zwar nicht grundlegend geändert, aber die ersten kleinen Community Patches für meine beliebteste Library (Device Marketing Names - Dart / Flutter) freuten mich doch sehr. Neben kleineren Fehlerbehebungen in der Dokumentation (GitHub Pull Request open_in_new) gab es Verbesserungen bei der Fehlerbehandlung im Fall von nicht unterstützten Plattformen (GitHub Pull Rquest).
Abseits davon gab es seit der letzten News zu meinen Libraries die gewohnten monatlichen Daten- und Dependency-Updates für meine Device Marketing Names Libraries, sowie kleinere weitere Anpassungen für meine OnUpgrade Library. Alle drei Libraries werden weiterhin aktiv gepflegt und unterstützten jeweils die aktuellen Framework- und Betriebssystem-Versionen. Falls ihr ganz konkret wissen wollt was sich in diesem Bereich tut, kann ich euch die Related Links empfehlen. Dort findet ihr die GitHub Repositories, welche neben dem Code auch Releases mit Change Logs beinhalten, sodass ihr dort immer konkret erfahren könnt was sich getan hat.
Wie immer gilt, falls es Fragen gibt meldet euch gerne in den Kommentaren.
- Device Marketing Names - Dart / Flutter Projektseite open_in_new
- Device Marketing Names - Dart / Flutter auf pub.dev open_in_new
- Device Marketing Names - Dart / Flutter auf GitHub open_in_new
- Device Marketing Names - Kotlin Projektseite open_in_new
- Device Marketing Names - Kotlin auf Maven Central open_in_new
- Device Marketing Names - Kotlin auf GitHub open_in_new
- OnUpgrade Projektseite open_in_new
- OnUpgrade auf pub.dev open_in_new
- OnUpgrade auf GitHub open_in_new
Droidcon / Fluttercon 2024 - Mein kurzes Fazit
In der letzten Woche durfte ich ein weiteres Mal die Droidcon / Fluttercon besuchen und entsprechend wird es Zeit für ein kleines Fazit. Allem voran sei gesagt das ich ausschließlich Flutter Talks / Sessions besucht habe. Denn auch wenn natives Android mein täglich Brot ist, so wirkten die meisten Flutter Talks einfach etwas interessanter. Grund dafür ist vermutlich, dass ich nach ca. 10 Jahren Android sehr viel gesehen und ausprobiert habe. Entsprechend sind einige Talks eher nicht so interessant für mich und der Rest der bleibt ist oft extrem problemspezifisch oder komplex.
Doch nun zum eigentlichen Thema, der Konferenz an sich. Ich konnte dieses Mal alle drei Tage komplett wahrnehmen, da meine Rückfahrt erst am späten Freitagnachmittag war. Somit gab es die volle Ladung Flutter Talks. Die Talks waren im Schnitt alle sehr gut, auch wenn es je nach persönlicher Präferenz natürlich interessantere und weniger spannendere gab. Ich persönlich werde zwar gerne inspiriert und motiviert, kann aber mit konkreten Inhalten mehr Anfangen als mit Meta-Talks. Alles in allem war die Mischung aber sehr gut und ich konnte etwas neues Programmierwissen aufbauen und gleichzeitig neue Motivation und Energie schöpfen.
Boehrsi.de - Backend Release Plan
Auch wenn der Plan minimal hinter dem Zeitplan ist, so geht es nächste Woche vermutlich mit dem neuen Backend los. Damit einher geht dann auch das neue Gewinnspielsystem und verschiedene anderen Spielereien, die allerdings eher was für mich persönlich sind und für den normalen Nutzer nicht sichtbare sein werden.
Da es sich hier um ein komplett neues System handelt, mich neuer Technologie und den vermutlich vorhandenen Kinderkrankheiten, betrachte ich den initialen Rollout als Beta. Die lokalen Integration Tests für die bereits bekannten Features, also die Kommentare und die Suche, sind bereits erledigt und auch die UI Integration für das Gewinnspielsystem ist bereits vorhanden. Für letzteres fehlt allerdings noch der Integration Test. Selbiger sollte in den nächsten Tagen fertiggestellt werden. Die Migration der alten Kommentare plane ich zwar noch, aber auch das sollte zeitnah erledigt sein, sodass alle Bausteine für einen Release vorhanden sind.