Boehrsi.de - IT und Gaming Blog

Flutter 2.5 erschienen

Erstellt am event Uhr von account_circle Boehrsi in label Development
Flutter 2.5 erschienen Bild

Bereits vor etwas mehr als einer Woche wurde eine neue Flutter Version veröffentlicht. Flutter 2.5 ist somit die aktuelle Stable Major Version und ein Upgrade eurer Entwicklungsumgebung wäre empfehlenswert. Ich selbst bin schon etwas länger mit der besagten Version unterwegs, da ich aktuell mit dem Beta Channel von Flutter arbeite.
Doch nun zu den eigentlichen Verbesserung. Dort gibt es vor allem im iOS Bereich starke Performance Verbesserungen und eine massive Reduzierung von kleineren Lags bei Animationen und ähnlichem. Zusätzlich wird nun Apple Silicon Support geboten. Verbessert wurde außerdem die Art und Weise wie und wann der Garbage Collector arbeitet. Auch dadurch sollen Probleme und Lags weiter minimiert werden. Sofern ihr auf die Kommunikation zwischen der Plattform selbst und Flutter angewiesen seid, dürfte es euch freuen zu hören das auch die Platform Channels wesentlich schneller geworden sind.

Related Links

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

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

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 I/O startet heute

Erstellt am event Uhr von account_circle Boehrsi in label Development
Google I/O startet heute Bild

In nicht einmal einer Stunde ist es soweit und die diesjährige Google I/O öffnet digital ihre Pforten. Es wird wie gewohnt neues zu Google Software, wie z.B. Android und Flutter, geben, aber vermutlich auch Informationen zu neuer Hardware, z.B. in Form von neuen Pixel Geräten.
Ich bin gespannt welche Änderungen es im Android und Flutter Bereich gibt, denn sowohl als Nutzer, wie auch als Entwickler habe ich mit beiden Bereichen täglich zu tun. Als Nutzer bin ich außerdem auf Informationen zu neuen Pixel Geräten gespannt, denn ich überlege aktuell mein etwas betagtes Handy zu erneuern und Pixel Geräte zu realistischen Preisen wären da auf jeden Fall eine Option.
Im Rahmen der I/O gibt es diverse Aktionen und Aktivitäten, welche ihr auf der offiziellen Webseite findet. Den Link findet ihr in den Related Links. Den Live Stream der Keynote habe ich im unteren Teil der News für euch eingebunden.

Related Links

OnUpgrade - Mein erstes Dart / Flutter Package

Erstellt am event Uhr von account_circle Boehrsi in label Development
OnUpgrade - Mein erstes Dart / Flutter Package Bild

Während es für fast alles ein Plugin / Package gibt im Dart / Flutter Kontext, existieren natürlich trotzdem die kleinen Ausnahmen die einem fehlen. Für diese Dinge schreibt man dann selber Code, verwendet ihn in der nächsten App wieder und entscheidet sich dann vielleicht eine Library daraus zu machen.
Selbiges tat ich vor kurzem und in diesem Zuge habe ich mein erstes Dart / Flutter Package veröffentlicht. OnUpgrade open_in_new soll dem Entwickler helfen eventuell nötige Migrationen bei App-Upgrades durchzuführen oder den Nutzer über neue Funktionen zu informieren. Das Package stellt dabei die Logik zum Speichern, Vergleichen und Auswerten der zuletzt installierten und aktuell genutzten App-Version zur Verfügung. Was im Falle eines Updates ausgeführt wird, wie ein eventueller Dialog aussieht oder wie der generelle weitere Ablauf ist, entscheidet der Entwickler.

Related Links

Dart - Cross-Platform Scripting-Helfer

Erstellt am event Uhr von account_circle Boehrsi in label Development
Dart - Cross-Platform Scripting-Helfer Bild

Ich mag kleine Scripting Lösungen die mir Arbeit abnehmen und das nicht nur auf meinem Linux Server. Auch unter Windows möchte ich bei der Entwicklung, beim News erstellen und an anderen Stellen, kleine und einfach auszuführende Helfer haben.
Unter Windows gibt es mit der CMD und Powershell gleich zwei Lösungen, welche ich beide ungern nutzen möchte. Nicht weil sie schlecht sind oder dergleichen, sondern einfach weil ich nicht noch eine Sprache / ein Framework zum jetzigen Zeitpunkt lernen möchte. Unter Linux kann ich mit meinem aktuellen Shell Wissen erreichen was ich möchte, doch unter Windows war dies bis vor kurzem wesentlich anstrengender.

Related Links

Flutter / Dart Null Safety Migration

Erstellt am event Uhr von account_circle Boehrsi in label Development
Flutter / Dart Null Safety Migration Bild

Vor wenigen Tagen erschien im Rahmen des Flutter 2.0 bzw. Dart 2.12 Releases der stabile Null Safety Support für Dart. Entsprechend begab ich mich gestern Abend das erste Mal auf den Migrationspfad und aktualisierte meine kleine Anwendung zur Auswertung von Statistiken. Selbige nutze ich produktiv zum erfassen der Nutzerzahlen hier im Blog und auch um die monatlichen Top 10 Listen zu erstellen.
Die Migration ist sehr gut dokumentiert open_in_new und was extrem großartig ist, ist der dart migration Befehl, welcher versucht ein Projekt ohne Null Safety für euch anzupassen. Dabei erhält man einen geführten Prozess, bei welchem ihr die Liste der geplanten Änderungen auf einer interaktiven lokalen Website zu sehen bekommt und dort noch weitere Anpassungen vornehmen könnt. Meiner Meinung nach ist dieses Tool im Kontext der Migration eine glatte Eins mit Sternchen.
Nachdem ausführen der Migration für das kleine Projekt mit ca. 1000 Zeilen reinem Code, blieb tatsächlich nur eine Stelle an der ich manuell Hand anlegen musste. Die App lief anschließend ohne Probleme und weiterer Aufwand war nicht nötig. Hier kommt nun aber eine Empfehlung, die mehr Arbeit bedeutet, selbige meiner Meinung nach aber wert ist.

Related Links

Dart Streams manipulieren mit stream_transform

Erstellt am event Uhr von account_circle Boehrsi in label Development
Dart Streams manipulieren mit stream_transform Bild

Wer im Dart / Flutter Kontext mit Streams arbeitet hat hin und wieder etwas umfangreichere Anforderungen, als das was Dart von Haus aus mitbringt. Denn obwohl der Stream Support in Dart durchaus gut ist, fehlt z.B. die Möglichkeit Streams zusammenzuführen oder Events zu sammeln / zu verwerfen (Debounce).
Dieses Problem lässt sich natürlich einfach lösen, denn es gibt verschiedene Packages die Darts Stream Support erweitern. Sehr gerne wird hier zu RxDart gegriffen, einer bekannten und umfangreichen Library. Ich selber habe z.B. mit dem Java Ableger RxJava gearbeitet und sehr gute Erfahrungen gemacht. Entsprechend ist RxDart natürlich auch ein gangbarer Weg. Aber man muss ja nicht immer gleich mit Kanonen auf Spatzen schießen, denn selbiges wird vor allem gerne auf Stack Overflow gerne mal empfohlen.
Dabei gibt es für einfache Aufgaben das Paket stream_transform, welches direkt von den Dart Entwicklern kommt und eine Reihe kleiner und gezielt anwendbarer Utility Methoden mitbringt. Mit stream_transform könnt ihr Streams buffern oder debouncen, sie kombinieren oder anders manipulieren. Am Ende sind es nur ca. 20 Methoden, welche aber diverse Fälle abdecken, ohne einen gigantischen Footprint in eurem Code zu hinterlassen. Ich bin ein Freund davon sich nur ins Haus zu holen was man auch braucht. Entsprechend war ich froh für meinen Einsatzzweck - Debounce von Events für eine Suchfunktion – mit stream_transform das Problem schnell und einfach lösen zu können.
Wie erwähnt habe ich allerdings auch gar nichts gegen RxDart und wenn man umfangreichere Aktionen im Bereich Streams durchführt ist man mit RxDart vermutlich auch besser bedient, hier geht es ausschließlich darum das richtige Tool für die richtige Aufgabe zu nutzen.

Related Links

pub.green - Kompatibilitätsprüfung für Flutter Plugins

Erstellt am event Uhr von account_circle Boehrsi in label Development
pub.green - Kompatibilitätsprüfung für Flutter Plugins Bild

Zusammen mit der vorgestern erschienenen Flutter 2.0 Version gibt es auch neues externes Tooling von 3rd-Party Anbietern. Die Continuous Integration und Continuous Delivery (CI/CD) Plattform Codemagic open_in_new hat ein kleines feines neues online Tool veröffentlicht, welches unter pub.green open_in_new erreichbar ist.
Selbiges hat als Ziel die Kompatibilität und Funktionalität von bekannten und viel genutzten Flutter Plugins mit diversen Flutter Versionen zu verifizieren. Sinn und Zweck ist es euch schnell und einfach zu zeigen ob ihr ein Plugin nutzen könnt oder ob es Probleme gibt.
Falls ihr gerne auch mal auf dem Flutter Beta oder Dev Branch unterwegs seid, um neue Features direkt aus erster Hand zu bekommen, dann sind solche Informationen einiges Wert. Denn man spart sich Zeit und Arbeit, wenn man von vornherein weiß ob die gewählten Plugins laufen. Werft also ruhig mal einen Blick auf die neue Plattform.

Related Links
format_list_numbered  Seite 1 Nächste navigate_next