Boehrsi.de - IT und Gaming Blog

Tessa App - Update mit Dark Mode und anpassbaren Kategorien

Erstellt am event Uhr von account_circle Boehrsi in label Development
Tessa App - Update mit Dark Mode und anpassbaren Kategorien Bild

Es gibt wieder neues von mir aus der Flutter Welt. Meine App Tessa hat ein Update erhalten. In dieser Version fügte ich einen Dark Mode und anpassbare Kategorien hinzu. Natürlich wurden auch diverse Fehler behoben und einige Anpassungen an der UI vorgenommen. Letzteres sorgt vor allem für einen modernen Look im Bereich der Snackbars. Ebenfalls verbessert wurde die Performance.
Im Rahmen des Updates habe ich das erste Mal mit Flutter in Verbindung mit einem dedizierten Dark Mode gearbeitet und ich bin durchaus zufrieden. Generell musste ich lediglich mein allgemeines Theme in ein helles und ein dunkles aufteilen und der Großteil war geschafft. Natürlich muss man sich dann noch um eventuelle manuelle Einstellungen kümmern, aber extrem vieles lief einfach so. Selbst UI die von Third Party Libraries gebaut wird, konnte bis auf kleine Ausnahmen ohne Änderungen verwendet werden. Hier merkt man das Flutters Material Komponenten alle aus einem Guss kommen.
Bedenken sollte man allerdings auch die nativen oder statischen Komponenten. In diesem Bereich habe ich vor allem kleinere Anpassungen an den genutzten Bildern vorgenommen und den initialen Splash Screen angepasst. Hierfür habe ich innerhalb von Android selbst die gegebenen Möglichkeiten genutzt. Da zu diesem Zeitpunkt Flutter selbst noch nicht aktiv ist, ist der Splash Screen immer gemäß des System Themes gesetzt und manuelle App Einstellungen greifen dann nachdem der Flutter Kontext geladen ist.

Related Links

Jetpack Compose - Meine ersten Erfahrungen

Erstellt am event Uhr von account_circle Boehrsi in label Development
Jetpack Compose - Meine ersten Erfahrungen Bild

Ich habe in den letzten Wochen relativ eingehend erste Schritte mit Jetpack Compose gemacht. Dies ist Androids neues Framework zu Erstellung des User Interfaces. Dabei entfernt man sich weit vom bekannten Ansatz, bei welchem ausgelagertes XML genutzt und später auf die eine oder andere Art mit der eigentlichen Logik verbunden wird.
Mit Compose bewegt man sich in sehr ähnlichen Welten wie bei Flutter. Die gesamte UI wird direkt im Code definiert und entsprechend ist eine extra Verbindungsschicht unnötig. Dadurch spart man sich natürlich einiges an Boilerplate Code. Auf der anderen Seite muss man natürlich umdenken, was mir persönlich durch meinen Flutter Hintergrund relativ leicht fällt.

Related Links

Jetpack / AndroidX Library Updates im Auge behalten

Erstellt am event Uhr von account_circle Boehrsi in label Development
Jetpack / AndroidX Library Updates im Auge behalten Bild

Falls ihr in der Android Developer Welt unterwegs seid, habt ihr sicherlich schon mit Jetpack / AndroidX Libraries open_in_new gearbeitet. Selbige bieten eine Vielzahl von wichtigen Kernfunktionen, sind dabei meist abwärtskompatibel und werden sehr aktiv von Google selbst gepflegt. Doch eben diese häufigen Updates sorgen auch dafür, dass man als Entwickler kontinuierlich ein Auge auf die genutzten Versionen haben muss.
In diesem Kontext bietet Google eine schöne Übersichtsseite, welche Informationen zu den verschiedenen Release Channels und den aktuell genutzten Versionen bietet. Außerdem gibt es pro Channel Release News. Selbige können auch via RSS Feed abonniert werden, sodass ihr immer auf dem neusten Stand seid. Auch wenn man gerne sagt “Never change a running system”, sind Updates im Bereich der Jetpack / AndroidX meiner Meinung nach eine Ausnahme. Durch ihre agile Entwicklung werden oft Schritt für Schritt neue Features eingebaut oder kleinere Probleme behoben. Diese Updates landen schnell in den verschiedenen Release Channels und die Nutzung besagter Updates kann einem das Leben durchaus leichter machen. Insofern ist meine Empfehlung alle Updates im Auge zu behalten und gegebenenfalls die Release Notes zu checken, ob es sich lohnt das Update kurzfristig zu integrieren.
Bezüglich der Release Channels kann ich übrigens noch anmerken das man auch mal eine Beta oder sogar Alpha Version testen kann. Bei Google sind derartige Versionen meist wesentlich stabiler als man es vielleicht gewohnt ist. Mitunter liegt dies wohl daran, dass Google ihre Libraries und das dazugehörige Tooling meist intern schon aktiv verwendet und somit testet, bevor es überhaupt die Außenwelt erreicht.

Related Links

Interessante Flutter Tools und Libraries

Erstellt am event Uhr von account_circle Boehrsi in label Development
Interessante Flutter Tools und Libraries Bild

Während ich mit Flutter unterwegs bin, suche ich natürlich immer mal wieder nach neuen Tools und Libraries. Aktuell fehlt mir zwar etwas die Zeit wirklich viel neues auszuprobieren, aber ich wollte mal mit euch teilen was noch so auf meiner TODO Liste steht.
Den Anfang macht Monarch. Wer Widgets gerne losgelöst von Daten bauen möchte, der sollte mal einen Blick auf Monarch werfen. Dieses Tool möchte euch helfen isoliert und schnell eigene Widgets zu erstellen und das ohne unnötigen Overhead.
Weiter geht es mit Mason. Ein relativ neues Tool, welches euch bei der Generierung von Dateiinhalten und auch ganzen Projekten hilft. Ihr erstellt euch sogenannte Bricks, welche dann konfiguriert werden und folgend Dateien, Ordner und ganze Strukturen erzeugen. Sehr praktisch ist dies z.B. bei der Projekterstellung.

Related Links

JCenter Abschaltung - Gradle Builds anpassen

Erstellt am event Uhr von account_circle Boehrsi in label Development
JCenter Abschaltung - Gradle Builds anpassen Bild

Als Java / Kotlin Entwickler ist der eine oder andere bestimmt schon mal über das JCenter Artifact Repository gestolpert. Ich selbst nutzte JCenter für Android und Server Projekte via Gradle. Falls ihr dies auch tut ist es Zeit zu handeln, denn JCenter wird abgeschaltet. Obschon Libraries die bis dato verfügbar waren wohl auch weiterhin erreichbar sein werden, gibt es keine neuen Pakete oder Versionen mehr.
Wenn ihr also wie ich mal wieder Updates eurer genutzten Libraries vornehmt, könnte es zu Build Problemen kommen. Ersatz kann man bei Maven Central finden, so war es zumindest in meinem Fall. Konkrete musste ich lediglich den jcenter() Eintrag in meiner build.gradle Datei entfernen, da der mavenCentral() Eintrag ohnehin schon vorhanden war. Weitere Informationen und Lösungsideen bei Problemen findet ihr in den Related Links.

build.gradle vorher:

repositories {
    ...
    jcenter()
    ...
}

build.gradle nachher:

repositories {
    ...
    mavenCentral()
    ...
}
Related Links

Kommentar-Service / Such-Service Update mit Fehlerbehebungen

Erstellt am event Uhr von account_circle Boehrsi in label Development
Kommentar-Service / Such-Service Update mit Fehlerbehebungen Bild

Vor wenigen Minuten wurde ein kleines Update für meinen Kommentar-Service / Such-Service ausgerollt. Das Update behebt einen Fehler, welcher Kommentare bei bestimmten News verhinderte. Grund dafür war eine falsche Konfiguration der Kapazitäten der genutzten Datentypen. Nun sollten Kommentare wieder in allen News möglich sein.
Zusätzlich wurden genutzte Libraries aktualisiert und kleinere interne Optimierungen durchgeführt, die sich allerdings nicht direkt auf die Nutzung auswirken sollten. Das Update sorgte für eine Ausfallzeit von 5 Minuten open_in_new, für die genannten Dienste.

GitHub Copilot - Potentielle Programmierhilfe durch AI

Erstellt am event Uhr von account_circle Boehrsi in label Development
GitHub Copilot - Potentielle Programmierhilfe durch AI Bild

AI ist auf dem Vormarsch und auch als Entwickler kann man davon mitunter profitieren. An dieser Stelle übrigens der Hinweis, dass ich nicht thematisieren werde wann Software komplett von AI geschrieben wird und man ohnehin keine Entwickler mehr braucht, wer nach diesen Inhalten sucht ist hier falsch.
Heute geht es um den GitHub Copilot, ein interessantes Projekt, welches euch Entwicklungsarbeit abnehmen soll. Das Tool, welches aktuell via Visual Studio Code also Technical Preview verfügbar ist, wurde mit einer großen Menge an Code gefüttert und baut basierend darauf Vorschläge für euren Code. Vor allem im JavaScript und Python Bereich kann man hier einiges erwarten, andere Sprachen haben da mitunter noch ein paar mehr Probleme.
Vereinfacht gesagt analysiert das Tool Open Source Code und erstellt damit eine Datenbank von Vorschlägen. Während der Entwicklung versucht das Tool den Kontext eures Codes zu verstehen, welchen ihre durch Kommentare deutlicher machen könnt und liefert dann Vorschläge. Neben den global verfügbaren Vorschlägen, lernt das Tool auch aus eurem Code. Schreibt ihr einige Zeilen und braucht später ähnliche Code Blöcke, wird das Tool vermutlich passende Vorschläge liefern.

Related Links

Boehrsi.de - Dark Mode optimiert

Erstellt am event Uhr von account_circle Boehrsi in label Development
Boehrsi.de - Dark Mode optimiert Bild

Ich arbeite gerade sowohl im Android Bereich, wie auch in der Flutter Welt, an Apps die Dark Mode Support erhalten sollen. In diesem Rahmen habe ich auch den Dark Mode des Blogs noch einmal unter die Lupe genommen und kleinere Anpassungen vorgenommen.
Während bis dato alles einen sehr starken Blaustich hatte (linker Teil des Screenshots), bin ich nun zu neutraleren Farben gewechselt (rechter Teil des Screenshots). Entsprechend verhält sich der Dark Mode mit dunklen Grautönen nun ähnlich wie das normale Theme, welches Weiß und ein helles Grau nutzt.

Flutter in Production mit Tessa - Reit-Assistent

Erstellt am event Uhr von account_circle Boehrsi in label Development
Flutter in Production mit Tessa - Reit-Assistent Bild

Ich arbeite gerne mit Flutter, migrierte meine internen Java & Android Projekte und schreibe quasi täglich die eine oder andere Zeile Code. Doch ist Flutter auch was für den echten produktiven Einsatz? Diese Frage kann ich seit kurzem nun auch offiziell mit einem klar ja beantworten. Grund dafür ist meine erste Flutter App im Google Play Store (Tessa - Reit-Assistent open_in_new), welche durchaus umfangreich geworden ist und mit Dart und Flutter als Basis sehr gut funktioniert.
Der Kontext ist mit einer Companion App für Pferdebesitzer eher außerhalb meiner Kernkompetenzen, aber genau dies zeigt mir noch mehr das man mit Flutter Apps entwickeln kann, die den eigenen Wünschen oder den Wünschen eines Auftraggebers entsprechen. Grund für das Thema der App ist meine Frau, welche mit dem Reiten ein Hobby gefunden hat, welches durchaus komplex sein kann.

Related Links

Google Play Service Fee - 15 Prozent Programm nicht vergessen

Erstellt am event Uhr von account_circle Boehrsi in label Development
Google Play Service Fee - 15 Prozent Programm nicht vergessen Bild

Sofern ihr bei Google Play Apps anbietet, welche auch Einnahmen generieren sollen, solltet ihr euch für das 15 Prozent Programm eintragen. Auch wenn es diverse Hinweise gab, auch ich möchte nochmal darauf hinweisen, denn ich weiß selber wie vergesslich ich bin und vielleicht geht es euch da draußen ja auch manchmal so.
Es geht darum das Google die Google Play Service Fee auf 15% für die erste Million (USD) reduziert. Allerdings müsst ihr euch dafür anmelden. Ansonsten zahlt ihr weiterhin 30% auf alle Einnahmen. Falls ihr von besagten Änderungen profitieren könnt und wollt, folgt einfach den Related Links. Die Anleitung besteht aus nur wenigen Schritten und schon seid ihr dabei.

Related Links