Boehrsi.de Version 8.6 erschienen
Seit langem gab es mal wieder ein umfangreicheres Update für meinen Blog. Denn neben der angekündigten und auch durchgeführten Umstellung auf ausschließlich WebP Bilder, erfolgte auch eine Anpassung des Designs. In diesem Bereich setze ich bereits seit langem auf Material Design open_in_new und habe hier nun Änderungen vorgenommen, um Version 3 der genannten Designsprache zu implementieren.
Material Design Version 3 open_in_new setzt auf ein noch einheitlicheres Farbschema. Ansonsten wurden die Stile von Karten, Buttons und Chips angepasst, was ich entsprechend adaptiert habe. Ich nutze keine Library für CSS oder JavaScript, das genannte Design ist in SCSS / SASS selbst implementiert.
Durch die Neuerungen sollte sowohl im hellen, wie auch im dunklen Modus alles noch etwas mehr wie aus einem Guss wirken und dies Lesbarkeit sollte sich verbessert haben. Diverse Formen sind nun etwas geschwungener und zusätzlich wurden einige kleine Bugs des alten Designs entfernt. Auch alter Content wurde an einigen Stellen überarbeitet und von Fehlern befreit.
IntelliJ Fleet - Mein erster Eindruck
Ich nutze bereits seit vielen Jahren sehr erfolgreich IntelliJ Produkte. Dazu gehören maßgeblich Android Studio und IntelliJ Idea. Doch neben diesen umfangreichen IDEs brauche ich vor allem fürs Scripting oder für meine Webprojekte auch kleine schnelle Editoren. In diesem Bereich bin ich mit VSCode unterwegs. Hier bin ich mit ein paar Plugins und dem schnellen Editor sehr gut bedient, um z.B. meinen Blog Code und Content zu pflegen oder um ein Dart CLI zu entwickeln.
Auch wenn mein derzeitiger Flow durchaus funktioniert, ist ein Wechsel zwischen diesen Welten natürlich nicht immer ideal. Angefangen bei den Shortcuts die angepasst werden müssen, bis hin zu grundsätzlichen Konzepten und Abläufen. Es sind verschiedene Produkte von verschiedenen Firmen und entsprechend sind Unterschiede logisch.
WebP - Fallbacks für alte Browser werden entfernt
Ich nutze wie schon öfters erwähnt WebP als Bildformat hier im Blog. Da es sich bei diesem um ein recht neues Format handelt, habe ich bis dato immer auch einen Fallback angeboten. Konkret gab es durch die Nutzung der HTML picture
und source
Tags immer auch ein PNG oder JPG, je nachdem was das Quellbild war. Dies zu ändern und so die Größe meines Blog quasi zu halbieren plane ich schon lange.
Ende der nächsten Woche wird dies nun auch umgesetzt, vermutlich zwischen dem 01. bis 03. Oktober. Die meisten Nutzer sollten keine Veränderung wahrnehmen, denn alle aktuellen Browser unterstützen WebP bereits seit einigen Versionen (97.17 Prozent laut caniuse.com open_in_new). Für mich ergibt sich daraus nicht nur eine Reduktion der Größe des Blogs, sondern auch eine Vereinfachung der Build Pipeline. Denn dort wurden neuen PNGs und JPGs automatisiert auch im WebP Format zur Verfügung gestellt. Zusätzlich kann ich die aktuell noch nötigen Code Unterscheidungen in diesem Kontext ebenfalls entfernen, was auch sehr dankbar ist.
Game-Dev Projekt - Engine Umzug und konkrete Pläne
Meine privaten Projekte haben hin und wieder die Angewohnheit in ihrem Ausmaß massiv zu wachsen und das vom einen auf den anderen Tag. Genau dies ist nun auch mit meinem Game-Dev Projekt passiert.
Initial wollte ich meine Ideen für die Spieleentwicklung, welche ich bereits lange mit mir herum trage, in Flutter / Dart und der darauf aufsetzenden Engine Flame open_in_new implementieren. Diverse kleine Komponenten habe ich dort bereits umgesetzt und einige Konzepte erarbeitet. Nun bin ich aber an einem Punkt an dem ich etwas mehr Tooling und vor allem auch die Gewissheit benötige, dass ich das Spiel wirklich, falls es denn irgendwann fertig ist, z.B. bei Steam relativ einfach veröffentlichen könnte.
Denn ich plane, auch wenn es sich hier um ein Pet-Project handelt, am Ende falls möglich etwas funktionales zu produzieren. In diesen Bereichen, also Tooling und Release-Management, habe ich das Gefühl das ich mit Flame auf Probleme stoßen könnte. Dies ist nicht primär der Fehler von Flame sondern eher von mir selbst, da ich vor allem im Bereich Tooling gerne mehr als weniger Hilfe hätte, weil die Spielentwicklung eben noch etwas neues für mich ist. Vor allem alle grafischen Aspekte sind eine Herausforderung für mich und da hilft es natürlich wenn man einen vollwertigen Editor hat, in welchem man z.B. direkt die 2D Welt sieht während man sie baut.
Raffle Companion Status Update und Release Plan
Mein kleines Tool Raffle Companion kann sich mittlerweile sehen lassen. Bei selbigem handelt es sich um ein Gewinnspiel-Key-Management-Tool, geschrieben in Flutter und gedacht für die Nutzung auf dem Desktop. Da Flutter viele Freiheiten bietet habe ich hier auf Microsofts Fluent UI open_in_new (via fluent_ui open_in_new) gesetzt, denn nicht alles im Kontext Flutter muss mit Googles Material Design gebaut werden.
Die Release-Version wurde vor einigen Wochen fertiggestellt und wäre nach einem weiteren Review bereit für einen Release. Durch den Flutter 3.3 Release werde ich allerdings noch ein paar kleinere Anpassungen vornehmen. Ich versuche dies in den nächsten Wochen und spätestens im Oktober endlich durchzuziehen. Dann muss nur noch das Repository, das Deployment und der eigentliche Release via GitHub umgesetzt werden. Auch eine kleine Projektseite hier im Blog wird es geben, damit ihr schnell und einfach an relevante Informationen kommt.
Das Tool nutze ich selbst bereits sein einiger Zeit z.B. im Rahmen meiner Games Gewinnspiele hier im Blog und bin bis dato durchaus zufrieden. Flutter auf dem Desktop, in meinem Fall auf einem Windows System, funktioniert ziemlich gut.
Der erste Release wird in Form einer Beta stattfinden, da auch wenn ich das Tool bereits lange produktiv einsetze, eine einzelne Testperson meist keine verlässliche Aussage über die generelle Stabilität in der freien Wildbahn liefern kann. Finden könnt ihr das Ganze wie erwähnt auf GitHub, sobald meine Vorbereitungen erledigt sind. Im Rahmen des Deployments bin ich gespannt ob es bei einem schlichten Download bleibt oder ob ich mir mal den Windows Store anschaue. Dazu zu gegebenem Zeitpunkt mehr. Falls ihr Fragen habt meldet euch gerne in den Kommentaren.
Tessa App 2.0 - Full Test abgeschlossen & Release Vorbereitung gestartet
Bei den Status Updates zu meinen aktuellen Projekten geht es heute weiter mit der Tessa App, welche die Full Test Phase für den Release von Version 2.0 überstanden hat. Aufgrund von diversen umfangreichen Änderungen in diesem Release gab es doch noch die eine oder andere Kleinigkeit die noch behoben werden musste. Alles in allem gingen die letzten Anpassungen aber gut von der Hand und die letzten bekannten Fehler wurden aus der Welt geschafft. Zusätzlich gab es durch den Release von Flutter 3.3 noch einige Last Minute Änderungen. Der verbesserte Material 3 Support im genannten Release erlaubte mir einige Workarounds zu entfernen.
Aktuell bereite ich den Release vor und passe die nötigen Store-Assets, sowie die Release Notes an. Diese Prozess dauert bei umfangreichen Releases meist länger als man es sich wünscht. Ich plane den Release innerhalb von dieser Woche, aber bis spätestens Ende nächster Woche durchzuführen.
Außerdem spiele ich im Rahmen der App gerade mit dem Gedanken automatisierte UI Tests durchzuführen. In diesem Bereich bin ich über neues und scheinbar sehr einfach nutzbares Tooling gestolpert. Sobald ich dazu gekommen bin mir das Ganze anzuschauen wird es sicherlich auch dazu einen oder mehrere Beiträge geben.
Flutter 3.3 & Dart 2.18 erschienen
Während ich gerade mit den letzten Schritten des Full-Tests für meine Tessa App beschäftigt war, erschien Flutter 3.3. Was zum einen Fluch und zum anderen Segen ist, dazu aber mehr im Status Update zur Tessa App 2.0, welches zeitnah erscheinen wird.
Heute soll es um die neue Flutter Version gehen und was sie eigentlich mit sich bringt. Eine der großen Änderungen, vor allem für den Bereich Desktop, ist die Möglichkeit mit einer SelectableArea
einen kompletten Bereich selektierbar zu machen. Ebenfalls schön ist der verbesserte Support für Trackpads.
Bei der Eingabe von Text ist es nun möglich via Scribble
handschriftlichen Input zu liefern, der direkt in Text übersetzt wird. Außerdem ist es nun möglich den Textinput spezifischer zu verarbeiten, da man nun in etwaigen Callsbacks auch das Delta erhält.
Für mich persönlich ist der erweiterte Material 3 Support sehr wichtig, denn auf Material 3 setze ich bei der bereits erwähnten neuen Version der Tessa App. Dort ist vor allem der Support für die neuen IconButtons
, Chips
und unterschiedliche Arten der AppBar
erwähnenswert. Ebenfalls wichtig sind aber auch diverse Fehlerbehebungen und Optimierungen des bereits vorhandenen Material 3 Supports. Ich selber hatte dort einige Probleme und diese scheinen nun behoben.
Abseits von neuen Features wurde ein weiteres Mal an der Performance Schraube gedreht, diverse kleinere plattformspezifische Änderungen wurden durchgeführt und sowohl die Flutter DevTools, wie auch die VS Code Extension wurden optimiert.
Device Marketing Names & Device Identifiers Status Update
Nach ein paar ruhigen Tagen geht es nun wieder aktiver zur Sache hier im Blog. In den letzten Wochen vor meinem Urlaub habe ich mich relativ umfangreich um diverse meiner Projekte gekümmert. Im Folgenden gibt es ein kleines Update zum Status von selbigen.
Den Anfang machen Device Marketing Names (Kotlin Package & Dart / Flutter Package) & Device Identifiers, meine Projekte zum Thema Gerätenamen auslesen. Diese erhielten vor ca. drei Wochen ihre regelmäßigen Updates und wurden mit neuen Daten und minimalen Anpassungen versehen. Die Updates wurden wie gewohnt über die bekannten Package Repositories verteilt und der Code ist auf GitHub verfügbar. Die nächste Aktualisierungsrunde wird bereits in ca. einer Woche stattfinden. Alles weitere zu diesen Projekten gibt es im Projekte Bereich.
Sowohl das Tool zum generieren, wie auch die Kotlin und Flutter Library, welche die Funktionalität für Clients zur Verfügung stellen, sind mittlerweile als stabil anzusehen. Kleinere Änderungen, Erweiterungen und natürlich Updates der Daten gibt es entsprechend, aber umfangreichere Anpassungen an der API sollte es keine mehr geben. Den Prozess des monatlichen Datenupdates konnte ich darüber hinaus auch noch etwas beschleunigen, sodass diese Projekte gut gepflegt werden können, ohne zu viel Zeit zu benötigen. Dies ist mir aktuell sehr wichtig, denn ich möchte laufenden Projekte gut pflegen, aber ebenso auch Zeit haben neue und umfangreiche Projekte zu starten.
In den nächsten Tagen werden weitere Informationen zum Status meiner Projekte erscheinen, denn aktuell möchte ich für euch und auch für mich selbst einen roten Faden in die Entwicklung von selbigen bringen. Dies plane ich schon seit längerem, denn ich möchte alle meine öffentlich verfügbaren Projekte mit nachvollziehbaren Entwicklungszyklen ausstatten. Dies erlaubt mir hoffentlich laufende, wie auch neue Projekte, gut zu pflegen und am Leben zu halten.
Flutter Vikings Konferenz - Zweiter Tag gestartet
Da habe ich doch glatt vergessen die Flutter Vikings Konferenz hier im Blog noch einmal zu erwähnen. Selbige läuft aktuell in Oslo, kann von interessierten Nutzern aber auch online verfolgt werden. Dies ist extrem einfach, denn die gesamte Playlist ist auf Youtube zu finden. Dort gibt es sowohl die Sessions des gestrigen Tages, wie auch Live Programm am heutigen Tag. Aufgeteilt auf drei Räume gibt es diverse interessante Inhalte. Das Programm und natürlich auch die Playlist habe ich in den Related Links hinterlegt.
Die ersten Talks des heutigen Tages beginnen übrigens genau jetzt. Ich werde selbige auf jeden Fall nebenbei während der Arbeit verfolgen, denn es gibt dort definitiv das eine oder andere zu lernen. Ebenfalls spannend ist übrigens auch das pünktlich zur Konferenz Flutter 3.3 und Dart 2.18 erschienen sind. Zu den neuen Releases wird es in den nächsten Tagen noch einen gesonderten Beitrag geben.
Midyear 2022 Flame Game Jam
Während ich weiter kleine Schritte im Bereich der Spieleentwicklung mache, behalte ich natürlich die Engine in welcher ich aktuell entwickle im Blick. Selbige basiert auf Dart und Flutter und hört auf den Namen Flame open_in_new. Bereits seit einiger Zeit veranstalten die Entwickler von Flame Game Jams und bald ist es wieder soweit. Vom 19. bis 21. August findet der Midyear 2022 Flame Game Jam statt und interessierte können alleine oder gemeinsam via itch.io versuchen ein Spiel auf die Beine zu stellen.
Ich selbst habe schon an dem einen oder anderen Game Jam teilgenommen, sowohl offline, wie auch rein online. Ich kann nur sagen, dass wenn einen das Thema interessiert und man vielleicht noch ein paar gleichgesinnte im Bekanntenkreis hat, es lohnt sich. Es ist eine Herausforderung und es wird definitiv nicht immer ein funktionsfähiges Spiel entstehen, aber man lernt viel und allem voran macht es verdammt viel Spaß. Ich vermute am genannten Wochenende werde ich nicht genug Zeit haben um selber teilzunehmen, aber ich werde das Event verfolgen und versuchen im genannten Zeitraum selber die eine oder andere Stunde in die Entwicklung meines Spiels zu stecken.