Boehrsi.de - IT und Gaming Blog

Droidcon / Fluttercon 2024 - Mein kurzes Fazit

Erstellt am event Uhr von account_circle Boehrsi in label Development
Droidcon / Fluttercon 2024 - Mein kurzes Fazit Bild

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.

Related Links
Hinweis: Dieser Beitrag enthält Affiliate- / Partner-Links die meinen Blog unterstützen. Bildquelle: boehrsi.de open_in_new

Boehrsi.de - Backend Release Plan

Erstellt am event Uhr von account_circle Boehrsi in label Development
Boehrsi.de - Backend Release Plan Bild

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.

Flutter 3.22 und Dart 3.4 veröffentlicht

Erstellt am event Uhr von account_circle Boehrsi in label Development
Flutter 3.22 und Dart 3.4 veröffentlicht Bild

Vor ungefähr einer Woche fand die Google I/O statt und in diesem Rahmen gab es auch neues im Bereich Flutter. Flutter 3.22 und Dart 3.4 sind seitdem verfügbar und bringen einige durchaus interessante Neuerungen.
Im Dart Bereich sind hier vor allem die Macros open_in_new zu erwähnen. Das Macro Feature ist aktuell noch eine Vorschau, kann aber im Rahmen des @JsonCodable() Macros open_in_new bereits konkret getestet werden. Generell können Macros als Realtime-Build-Runner zusammengefasst werden. Die Definition eines Macros gibt an was generiert werden soll, die Annotation löst diese Generierung für einen Code Teil aus und das Ganze passiert dann in Realtime. Dadurch sind prinzipiell Data Classes und alle möglichen anderen Konstrukte möglich. Initial will das Dart Team eine Reihe von Standard Macros definieren und das Feature stabilisieren. Allerdings können interessierte bereits jetzt in diesem Kontext selber Dinge ausprobieren. Abseits davon wurde der Dart Analyzer optimiert und diverse Fehler wurden behoben.

Related Links

Boehrsi.de - Neues Backend im Mai

Erstellt am event Uhr von account_circle Boehrsi in label Development
Boehrsi.de - Neues Backend im Mai Bild

Wie bereits erwähnt geht die Entwicklung meines neuen Backends für Boehrsi.de gut voran und ich plane den Rollout im Mai. Darin enthalten sind dann verschiedene Anpassungen, die sich größtenteils im Hintergrund abspielen. Sichtbar werden kleinere Änderungen bei den Kommentaren und der Suche sein, am relevantesten dürfte aber das neue Gewinnspielsystem sein. Es ist nun von den Kommentaren getrennt und benötigt nach initialer Teilnahme eine Bestätigung in einem zweiten Schritt. Dieser sollte für normale Nutzer keinen allzu großen Aufwand darstellen, dürfte aber die Script Kiddies etwas stören. Damit hoffe ich wieder verlässlich Gewinnspiele veranstalten zu können, ohne das einzelne Individuen die gesamte Veranstaltung für alle torpedieren. Sollte letzteres allerdings der Fall sein wird es vermutlich keine weiteren Umbaumaßnahmen und entsprechend Gewinnspiele mehr geben.

Open Source Projekte unterstützen

Erstellt am event Uhr von account_circle Boehrsi in label Development
Open Source Projekte unterstützen Bild

Open Source Software ist in vielen Bereichen meines IT-Lebens sehr relevant. Egal ob ich an meinem PC arbeite oder etwas auf dem Server konfiguriere, diverse Programme, Tools und ganze Betriebssysteme bewegen sich bei meiner täglichen Nutzung im Open Source Bereich.
Auch wenn Open Source nicht zwangsweise kostenlos bedeutet, sind die meisten Tools die ich in diesem Kontext verwende gratis. Selbige müssen aber natürlich trotzdem finanziert werden und aus diesem Grund versuche ich mindestens einmal im Jahr verschiedenen Open Source Projekte zu unterstützen. Dabei geht es nicht um gigantische Beträge und auf die Menge möchte ich auch gar nicht speziell eingehen, sondern nur auf den Fakt das ich etwas Spende. Denn vielleicht schaffe ich es damit den einen oder anderen ebenfalls mit der Idee anzustecken, sodass etwas mehr bei den Open Source Projekten eurer Wahl ankommt.
Ich werde dieses Jahr auf jeden Fall wie gewohnt Let’s Encrypt etwas Geld zukommen lassen. Doch auch Thunderbird möchte ich dieses Jahr unterstützen, denn ich nutze den Mail-Client nun schon sehr lange und bin durchaus glücklich nicht diverse Web-Interfaces abarbeiten zu müssen, sondern alles an einem Ort zu haben.
Die finale Spende geht dieses Jahr an Godot, die Game-Engine mit der ich zur Zeit mein erstes Spiel entwickle. Godot ist die Basis für mein Projekt und ermöglicht es mir meine Idee umzusetzen, ohne Kosten und mit einem meiner Meinung nach sehr fairem Einstiegsniveau.
Als Alternative zu monetären Mitteln ist es natürlich auch möglich sich aktiv an Open Source Projekten zu beteiligen, sofern es die eigenen Fähigkeiten zulassen. Dabei gibt es neben reinen Programmieraufgaben auch diverse andere Dinge bei denen man vielleicht unterstützen kann.

Related Links

Alle Godot Engine Nodes erklärt

Erstellt am event Uhr von account_circle Boehrsi in label Development
Alle Godot Engine Nodes erklärt Bild

Für die Entwicklung meines Spiels nutze ich wie bereits mehrfach erwähnt die Engine Godot. Godot kann für 2D und 3D Spiele genutzt werden und entsprechend gibt es diverse Komponenten, welche man nutzen kann. In Godot spricht man meist von Nodes und selbige sind meist sehr einfach und logisch nutzbar. Doch um eine Node nutzen zu können, muss man natürlich wissen das selbige existiert.
Bevor man jetzt langwierig die gesamte Godot Dokumentation open_in_new ließt, wobei mitunter sicherlich nicht alles hängen bleibt, kann man auch ein extrem kurzweiliges, aber dennoch sehr informatives Youtube Video konsumieren. Das Video von Lukky open_in_new schneidet alle 219 Godot Nodes (Stand Ende 2023) an und gibt euch so, in etwas mehr als einer halben Stunde, einen sehr guten Überblick. Mit selbigem kann man sich dann weiter informieren. Ich fand das Video sehr interessant und habe einige Nodes kennengelernt die mir zuvor nicht bekannt waren. Falls ihr also auch mit Godot arbeitet oder aber dies plant, schaut euch das Video doch mal an.
Als kleine Randnotiz kann ich übrigens sagen, dass auch die weiteren Videos von Lukky sehr interessant und durchaus einen Blick wert sind.

Related Links

Boehrsi.de Backend erhält Dart Rewrite

Erstellt am event Uhr von account_circle Boehrsi in label Development
Boehrsi.de Backend erhält Dart Rewrite Bild

In den letzten Monaten habe ich neben der Weiterentwicklung meines Spiels, auch eine Neuentwicklung meines Blog-Backends in Dart vorangetrieben. Grund dafür war vor allem das Interesse an den neuen serverseitigen Möglichkeiten von Dart open_in_new. Denn neben Clients in Flutter oder Dart Konsolen Tools, gibt es mittlerweile diverse Ansätze um Dart auf Servern nutzen zu können. Für mich ist dies vor allem spannend, da Dart Code zu einer nativen Binary File wird und keine Runtime braucht, im Vergleich zu z.B. Java oder Kotlin. Letzteres ist für meine aktuelle Lösung nötig und bedeutet das Java und alles was dazugehört auch dem Server aktiv sein muss. Auch wenn dies generell kein Problem ist, so bin ich ein Freund von Programmen oder Tools die als einzelne Binary File ausgeliefert und genutzt werden können, ohne weitere Konfiguration auf dem Host-System. Dadurch werden Deploy und Update Prozesse einfacher und in meinem speziellen Fall hoffe ich die RAM Nutzung optimieren zu können.

Godot Editor mit Custom Themes

Erstellt am event Uhr von account_circle Boehrsi in label Development
Godot Editor mit Custom Themes Bild

Da ich aktuell wieder etwas mehr Zeit finde, um an Project Space weiterzuarbeiten, nutze ich natürlich auch den Godot Editor wesentlich mehr. Verbunden mit dem Update auf Godot 4 habe ich auch im Kontext von Themes und anderen Verbesserungen für den Editor die Augen offengehalten und bin auch ein schlichtes, aber sehr praktisches Theme gestoßen.

Related Links

Flutter 3.19 veröffentlicht

Erstellt am event Uhr von account_circle Boehrsi in label Development
Flutter 3.19 veröffentlicht Bild

Bereits vor ca. zehn Tagen erschien eine frische stabile Version von Flutter. Flutter 3.19 bringt wie gewohnt diverse Verbesserungen, aber auch komplett neues mit sich. Auch Flutter möchte den AI Trend natürlich nicht verpassen und somit gibt es mit dem Gemini Google AI Dart SDK (Beta) open_in_new nun eine direkte Schnittstelle zu Googles neuem LLM AI Tool.
Abseits dieser Neuerung wurde das Scrolling verbessert und im Bereich der Animationen gibt es neue Möglichkeiten, um mit geringem Aufwand Animation von z.B. Menüs zu ändern. Eine Neuerung bei den SemanticsProperties open_in_new könnte unter anderem beim automatisierten Testing hilfreich sein, denn nun kann man von Flutter aus die Android Property resource-id setzen.
Während iOS bereits die neue Rendering Engine Impeller open_in_new nutzt, ist sie für Android aktuell noch in der Beta Phase. Hier geht es allerdings voran und ein Großteil der Android Geräte soll bereits mit Impeller funktionieren. Einige wenige Features fehlen noch und aktuell ist man auf der Suche nach weiterem Feedback, sodass Impeller für Android vielleicht bald schon als finale Version zur Verfügung steht. Generell soll Impeller eine wesentlich bessere Rendering Performance bieten, bei geringerer Last und verbesserten Debugging Möglichkeiten.

Related Links

Migration von WillPopScope zu PopScope

Erstellt am event Uhr von account_circle Boehrsi in label Development
Migration von WillPopScope zu PopScope Bild

Deprecation ist etwas natürliches in der Softwareentwicklung. Code Teile werden als veraltet markiert, Alternativen werden geschaffen und die Entwickler wechseln auf die neuen Klassen und Methoden. Leider kommt es immer wieder vor, dass die angebotene Alternative anders funktioniert als erwartet oder gewünscht und es entsprechend zu Problemen kommt.
Selbiges Problem habe ich mit der Migration von WillPopScope open_in_new zu PopScope open_in_new. Beide sind dafür zuständig in einer Flutter App die normale Behandlung des Back-Buttons zu verändern. Ich nutze dies z.B. in meiner Tessa App. Mit WillPopScope gab es keine Probleme, aber aufgrund einer Änderung im Android System mussten die Flutter Entwickler hier etwas neues schaffen, um auch die Funktionen in neueren Android Version zu unterstützen.
Während WillPopScope für meine verschiedenen Fälle immer funktionierte, nutzt PopScope einen anderen Ansatz und zwang mich zum umdenken. Dabei geht es nicht nur mir so, wie der GitHub Issue open_in_new zum Thema zeigt.

format_list_numbered  Seite 1 Nächste navigate_next