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.
Droidcon 2022 - Videos der Sessions online verfügbar

Falls es euch so geht wie mir und ihr dieses Jahr nicht live vor Ort wart bei der Droidcon in Berlin, dann interessiert es euch vielleicht das nun alle Sessions in Form von Videos online sind. Die Inhalte gibt es direkt auf der Droidcon Webseite.
Sofern ihr im Bereich der mobilen Entwicklung unterwegs seid, egal ob nativ für Android oder z.B. im Cross-Platform Bereich mit Flutter, ist vielleicht das eine oder andere Video für euch dabei. Folgt einfach den Related Links und stöbert eine Runde bei Interesse. Auch die Inhalte der vergangenen Jahre findet ihr dort.
Device Marketing Names & Device Identifiers Updates

Es gibt wieder neue Versionen meiner Device Names Libraries. Sowohl das Tool zur Generierung (Device Identifiers), wie auch meine beiden Libraries (Device Marketing Names - Dart / Flutter und “device-marketing-names-kotlin” ), die die dazugehörigen Client Funktionen für Dart und Kotlin implementieren, wurden aktualisiert.
Für die beiden Client Libraries bedeutet dies ein paar aktualisierte Abhängigkeiten und vor allem eine aktualisiertes Datenset. Umfangreichere Änderungen gab es eher im Tool, welches ich zur Erstellung der Datensets nutze. Hier hab ich eine Funktionalität eingebaut die mir schon seit längerem fehlte. Selbige ist die Formatierung und Optimierung des erstellten Kotlin Codes. Denn auf Grund der Größe der Datei dauerte dies in der IDE sonst immer unnötig lange und ich will das der Code direkt und ohne unnötige Arbeit nutzbar ist. Dies ist mit dem aktuellen Update nun möglich und wie hier zu lesen war der Aufwand auch durchaus gering.
Sofern ihr also eine Dart oder Kotlin Library braucht, die die Modelbezeichnung eures Smartphones oder Tablets in einen für den Nutzer verständlichen Marketing Namen umwandelt, dann schaut euch meine Libraries doch einfach mal an. Alle relevanten Links sind wie gewohnt in den Related Links zu finden.
Kotlin und Dart Code via GitHub Action formatieren

Code, egal wie gut er logisch geschrieben ist, ist ohne eine ordentliche Formatierung problematisch. Man kann es vergleichen mit dem besten Buch aller Zeiten, welches aber quasi unlesbar ist, weil die Schriftgröße auf drei gesetzt wurde.
Bei den Programmiersprachen bin ich bekanntlich in den Bereichen Dart und Kotlin unterwegs und auch wenn normalerweise die IDE und die integrierten Tools das Formatting übernehmen, so gibt es doch Situation wo eine schnelle Formatierung via CLI hilfreich ist. Als konkretes Beispiel hätte ich hier die CI, welche z.B. Code generiert, optimiert oder vor dem Release von Libraries und Apps für Ordnung sorgt.
Tessa App - Version 2.0 steht vor der Tür

Eines von meinen verschiedenen laufenden Projekten ist die Tessa App. Eine App die als Companion-App für Reiter gedacht ist. Initial entwickelt für meine Frau, wurde das Feature-Set recht umfangreich und ich entschied mich sie für jedermann über den Play Store open_in_new verfügbar zu machen. Die App wird dort nun seit längerem mit Updates und kleineren Erweiterungen versehen.
Nun steht nach längerer Entwicklungsphase ein umfangreiches Update mit neuen Funktionen, einer modernisierten UI und verbesserter Performance vor der Tür. Die UI wird dabei auf Googles Material Design 3 open_in_new basieren, welches ich entsprechend in Flutter umgesetzt habe. Flutter 3 open_in_new unterstützt bereits diverse Material 3 Komponenten und die restlichen habe ich selber entsprechend angepasst. Im Bereich der Features wird es möglich sein mehrere Aktivitäten an einem Tag hinzuzufügen und der Bereich für Pferde-Daten wurde erweitert, sodass man diverse relevante Gesundheitsdaten hinterlegen kann. Im Bereich der Performance erfolgten massive Verbesserungen und ebenfalls umfangreiche Bugfixes. Auf die konkreten Details und weiteren Neuerungen werde ich im Rahmen der Release Notes eingehen.
Flutter Plugins & Packages - Eine neue News-Sammlungen

Flutter bietet eine große Menge an Plugins und Packages (via pub.dev open_in_new), die euch bei der Entwicklung eurer Apps helfen sollen. Ich selber nutze einige davon und habe auch schon selber welche geschrieben, weitere Informationen dazu im Projekte Bereich. Da die Auswahl aber sehr groß ist und man manchmal gar nicht genau weiß was man braucht, starte ich heute eine News-Sammlungen zu Plugins und Packages die ich viel nutze.
Die Begriffe Plugin und Package werde ich vermutlich beide benutzen, auch wenn ich versuche ein einheitliches Wording zu verwenden. Technisch ist der Unterschied bei diesen beiden übrigens wie folgt definiert. Ein Flutter Plugin interagiert auf die eine oder andere Weise mit nativem Code und stellt z.B. ein Interface für schon vorhandene native Bibliotheken zur Verfügung. Während ein Dart Package ausschließlich in Dart entwickelt wird. Hier könnte man als Beispiel Packages nennen, die neue Widgets einführen oder mathematische Formeln in Dart implementieren.
I'm a coder - Spaß beim Bugfixing

Softwareentwicklung bedeutet neben neuen Features natürlich auch das auffinden und beheben von Bugs und Problemen. Nun sind Projekte groß, teils mit anderen zusammen entwickelt und entsprechend hat man einen mehr oder weniger tiefen Einblick in die verschiedenen Teilbereiche einer Software.
Umso befriedigender ist es eine grobe Beschreibung von einem Problem zu hören und direkt eine Idee zu haben, wo das Problem liegen könnte. Liegt man dann auch noch komplett richtig, ist dies meiner Meinung nach eines der besten Gefühle für Entwickler. Denn es zeigt das man den Code nicht nur kennt, sondern auch das man ihn verstanden und durchdrungen hat. Soll heißen man weiß nicht nur was passiert und wo es passiert, sondern auch warum und welche generellen Abläufe dahinter stecken.
Ebenfalls sehr angenehm empfinde ich es, wenn man vorhandene Konzepte und Strukturen in neuen Bereichen problemlos einsetzen kann. Da man sie flexibel genug aufgebaut hat, sodass auch andere Einsatzzwecke als der initial geplante umgesetzt werden können. Dabei kann es je nach Situation natürlich möglich sein das minimale Erweiterungen nötig sind, doch wenn die Grundideen und Abläufe weiterhin funktionieren fühlt man sich durchaus bestätigt.
Da man bei der Softwareentwicklung am Ende nicht zwangsweise etwas in der Hand hält und auch das Feedback der Nutzer oft sehr indirekt ist, finde ich es wichtig aus derartigen Dingen Freude zu ziehen. Denn am Ende sollte man ja auch Gefallen an dem finden was man tut, egal ob professionell oder im privaten Kontext. Insofern genießt den nächsten Bugfix oder das nächste Refactoring vielleicht einfach und freut euch darüber das ihr wisst was zu tun war, statt euch über eventuell blöde Fehler zu ärgern. Ein bisschen Fluchen zum abreagieren schadet hin und wieder aber natürlich trotzdem nicht.
I'm a coder - Fokus ist ... oh ein Schmetterling

Software benötigt oft viele Komponenten, welche aus verschiedenen Systemen bestehen, welche wiederum jeweils Logik beinhalten. Diese Kette von potentieller Komplexität und damit verbundenen Entwicklungsaufgaben kann je nach Projekt unterschiedlich ausgeprägt auftauchen. Doch vor allem bei der Entwicklung von neuen Projekten, vielleicht sogar mit neuen Konzepten oder Frameworks, kann es schnell zu einem unangenehmen Durcheinander an Aufgaben kommen.
Ich selbst bemerke dies aktuell in Kontext meiner Gehversuche in der Welt der Spieleentwicklung. Denn während ich Apps, Backends, Webseiten und generell Programme schon oft entwickelt habe, so sind Spiele und die damit verbundenen Aufgaben durchaus neu für mich. Am Ende ist es alles Code, aber die benötigte Logik und welche Komponenten zu welchem Zeitpunkt implementiert werden sollten ist trotzdem etwas neues. Diese neuen Abläufe sind für mich kein generelles Problem, aber ich erwische mich immer wieder dabei wie ich im Kopf über ein Probleme nachdenke und dabei in gefühlte fünf andere Teilbereiche abdrifte. Somit vermische ich dann diverse Dinge miteinander, was ein Problem ist. Denn bei fehlendem Fokus verliere ich Geschwindigkeit.
Server & Kommentar-Service / Such-Service Update am heutigen Nachmittag

Im Laufe des heutigen Nachmittags wird es zu kurzen Ausfallzeiten des Blogs und der angeschlossenen Dienste kommen. Neben Serverupdates wird es auch eine Aktualisierung des Backends geben. Die Ausfallzeit des Blogs selbst sollten unter 5 Minuten betragen und der Kommentar-Service und Such-Service sollten nicht länger als 15 Minuten offline sein. Alle weiteren Informationen könnt ihr wie gewohnt meiner Status Seite open_in_new entnehmen, sobald das Update beginnt. Die Updates selbst sollten keine sichtbaren Änderungen für euch Nutzer mit sich bringen, das es nur Wartungs- und Performance-Updates sind.
Update - 11.06.2022 - 19:40 Uhr
Alle Aktualisierungen wurden erfolgreich abgeschlossen.

