Device Marketing Names & Device Identifiers Updates

Es gibt wieder eine Runde Updates für meine Device Marketing Names & Device Identifiers Projekte. Am letzten Sonntag wurde Version 0.3.1 meines Device Identifiers Tools veröffentlicht, welches nun leicht optimierten Dart Code und Kotlin Code mit einem Hinweis zur Anpassung des Packages beinhaltet. Für alle die das Projekt nicht kennen, es sammelt automatisch Daten zu bekannten iOS und Android Geräten und erstellt daraus direkt im Code nutzbare Maps (Gerätemodell zu Gerätename).
Da man neben den Daten natürlich auch Libraries brauch die selbige im eigenen Projekt nutzbar machen, habe ich eine Dart / Flutter Library und eine Kotlin Library veröffentlicht. Beide wurden ebenfalls aktualisiert. Die neue Kotlin Version lautet 0.2.4 und in der Dart Welt sind wir bereits bei Version 0.4.1. Beide Updates beinhalten neue Datensätze, sowie aktualisierte Abhängigkeiten und minimale Code-Optimierungen.
Weitere Informationen findet ihr auf den jeweiligen Projektseiten und auf GitHub open_in_new, da alle genannten Projekten Open Source sind.
Flutter User Survey Q2 2022

Auch dieses Quartal gibt es für geneigte Flutter Entwickler wieder das Flutter User Survey. Hier wird die generell Stimmung bezüglich des Frameworks abgefragt und zusätzlich wird meist noch ein konkreter Bereich thematisiert. Dieses Mal ist letzteres die Frage nach eurer favorisierten IDE und was ihr euch in diesem Bereich so vorstellen könnt zu nutzen.
Derartige Umfragen erlauben es dem Flutter Core Team Prioritäten bei der Entwicklung des Frameworks und auch des Toolings zu setzen. Sofern ihr also in der Flutter Welt unterwegs seid, folgt gerne den Related Links. Ich habe selbiges schon getan und dafür nur wenigen Minuten gebraucht, da die Flutter User Surveys dankenswerterweise recht kurz gehalten sind.
Flutter 3.0 - Stable Release für alle Plattformen

Die Google I/O ist nun schon knapp zwei Wochen her und ich selbst kam noch gar nicht dazu mir die relevanten Sessions anzuschauen. Selbiges werde ich in den kommenden Tagen nachholen. Doch Flutter 3, welches im Rahmen besagter I/O veröffentlicht wurde konnte ich schon nutzen. Flutter 3 bringt stabilen Support für alle Desktop Plattformen mit sich, also Windows, Linux und Mac, was ein großer Schritt ist. Denn während Android, iOS und das Web bereits seit längerem als stabil markiert waren, war der Desktop-Bereich - abseits von Windows - noch nicht so weit. Im mobilen Bereich wurde die Unterstützung von besonderen Gerätetypen, wie z.B. Foldables voran getrieben. Außerdem gibt es diverse Optimierungen bezüglich der Flutter Entwicklung auf Apple Geräten und der Material 3 open_in_new Support wurde massiv erweitert. Im Web Bereich wurde vor allem die Performance verbessert. Hier kann man z.B. im Bereich der Anzeige von Bildern massive Verbesserungen erkennen.
Flutter SDK Releases Übersicht

Welche Flutter Version nutzt welche Dart Version und welcher Release Channel hat aktuell welche Versionen im Angebot? Eine Frage die man sich als Flutter Entwickler hin und wieder stellt, vor allem wenn man vorab neue Funktionen testen will. Das Flutter Tooling bietet die Möglichkeit schnell und problemlos zwischen Channels zu wechseln (flutter channel) und Updates zu machen (flutter upgrade), doch besagte Übersicht hat man dort nicht. Dafür gibt es eine durchaus praktische Webseite in der Flutter Dokumentation open_in_new. Dort gibt es einen Überblick zu den Plattformen, Channels, Flutter Versionen und den entsprechend genutzten Dart Versionen. Solltet ihr euch vor einem Channel Wechsel oder Flutter Update also informieren wollen, besagte Seite könnte hilfreich sein.
Device Marketing Names - Kotlin Version 0.2.3

Weiter geht es mit den Release News. In den letzten Wochen gab es bereits einiges in diesem Bereich und sofern es nach mir geht werden die nächsten Monate diesen Trend fortsetzen. Heute geht es um eine neue Library, welche seit kurzem verfügbar ist. Device Marketing Names ist ein Name welcher schon häufiger hier im Blog fiel, aber dabei ging es immer um die Dart / Flutter Variante meiner Lookup Library für Gerätenamen.
Ab jetzt gibt es auch eine Kotlin Version, welche vor allem im Bereich der nativen Android Entwicklung genutzt werden kann. Die aktuellen Version 0.2.3 ermöglicht ein einfaches Mapping vom aktuellen Gerät oder eines bereits bekannten Models auf den verbreiteteren Gerätenamen. Selbiger kann z.B. in Logs oder User-Agents genutzt werden. Die Library bietet verschiedene Methoden, welche hoffentlich die meisten Use Cases abdecken.
JSON visualisieren mit JSON Visio

JSON dürfte eines der bekanntesten Formate von Daten für Softwareentwickler sein. Egal ob zum speichern, formatieren, versenden via API oder verarbeiten auf einem Server, diese Art der Daten findet man immer wieder. Den Systemen reicht valides JSON, die Formatierung ist darüber hinaus egal, doch als Mensch möchte man zur besseren Lesbarkeit manchmal auch eine Pretty-Print Version. Selbiges bieten die meisten JSON Libraries von sich aus an. Doch was wenn man alles in Diagrammform haben möchte, um z.B. Datenstrukturen als Bild teilen zu können?
Auch hier gibt es sicherlich verschiedene Lösungen, vor kurzem bin ich allerdings über JSON Visio gestolpert. Ein Tool welches euch direkt im Browser die Möglichkeit gibt einen JSON Datensatz einzugeben und entsprechend ein speicherbares Diagramm erstellt. Ich fand das Ganze im Kontext von Tests oder beim Entwickeln von APIs und Datenstrukturen durchaus praktisch. Aus diesem Grund auch dieser Beitrag. Falls ihr also auch JSON Daten visualisieren wollt, folgt einfach den Related Links.
Device Marketing Names - Version 0.4.0 Update

Weiter geht es mit den Updates. Heute geht es um die Version 0.4.0 meiner Dart / Flutter Library Device Marketing Names. Selbige nutzt mein erst vor kurzem erwähntes Device Identifiers Tool, um einen einfachen Lookup von Gerätenamen zu ermöglichen.
In Version 0.4.0 gab es einige grundlegende Änderungen, sowie Optimierungen. Allem voran gab es einen Breaking Change bei den zu nutzenden Methoden. Die alten wurden dabei Deprecated und werden in der nächsten größeren Version entfernt. Grund dafür ist, dass diverse neue Methoden hinzugefügt wurden und entsprechend die alten an das neue Namensschema angepasst werden mussten. Die neuen Methoden ermöglichen es nun die Library einfacherer für verschiedenen Use-Cases zu nutzen und gleichzeitig sollte alles leichter verständlich sein. Die Library gibt nun außerdem immer einen Wert zurück, welcher entweder der gefundene Name ist oder das Modell was zum Lookup als Eingabe geliefert wurde.
Durch Optimierungen im genutzten Datenset konnte die Größe der Library teils deutlich reduziert werden. Außerdem wurden alle Tests, die Beispielapp und diverse Interna an die Neuerungen angepasst und aktualisiert.
Für alle die meine Device Marketing Names Library nicht kennen, es handelt sich um ein Dart / Flutter Package, welches basierend auf dem aktuellen Gerätemodell oder einem vordefinierten Modell (iOS, Android, Browser) den jeweiligen Marketingnamen ausließt. Dafür wird ein umfangreiches und regelmäßig aktualisiertes Datenset genutzt. Alle Daten liegen lokal vor, ohne das eine extra Datenbankabhängigkeit benötigt wird.
Google I/O vom 11.-12. Mai

Auch dieses Jahr findet wieder die Google I/O statt. In ca. sieben Tagen, um genau zu sein vom 11. Mai bis 12. Mai, können wir uns über neue Informationen aus der Google Welt freuen. Das bedeutet neues rund um das Android Ecosystem, aber auch zu Flutter und diversen andere Google Produkten. Mich interessiert dieses Jahr vor allem ob man mit Material 3 weitergekommen ist. Denn wie ich hier schrieb, bin ich mit dieser Version der Designsprache eher mäßig glücklich.
Sofern ihr euch einen schnellen Überblick verschaffen wollt, besucht einfach die I/O Webseite. Dort findet ihr das Programm und könnt selbiges ohne großen Aufwand nach Themen und weiteren Kriterien filtern. Ich hoffe auf spannende neue Informationen und vielleicht eine neue stabile Flutter Version, mit kleinen feinen Neuerung. Interessiert euch die I/O auch und wenn ja was hofft ihr an neuen Informationen zu bekommen.
Device Identifiers - Version 0.3.0 Update

In der letzten Woche veröffentlichte ich eine neue Version meines Dart Tools Device Identifiers. In Version 0.3.0 wurde das Lookup Handling angepasst, sodass nun entweder der gefundene Name eines Geräts oder falls nicht gefunden das eingegebene Modell selbst genutzt wird. Dies macht die Nutzung einfacher und ermöglicht mir eine ganze Reihe an Einträgen aus der Lookup Datenbank zu entfernen. Dadurch konnte z.B. die Größe der Dart Version der Output Datei von 931 KB auf 587 KB reduziert werden. Ein durchaus markanter Unterschied. Abseits von diesen Anpassungen und Optimierungen wurden Fehler bei leerem Input behoben, das Escaping von Sonderzeichen verbessert und einige Detailverbesserungen vorgenommen.
Für alle die mein Tool Device Identifiers nicht kennen, es handelt sich um ein Dart Script, welches wöchentlich alle Android und iOS Gerätenamen einsammelt und in verschiedenen Programmiersprachen direkt nutzbaren Mapping-Code erstellt. Konkret wird eine Map erstellt die das jeweilige Gerätemodell, welches man auslesen kann, einem Namen zuordnet. Auf diese Weise kann man ohne extra Logik, Datenbanken oder andere Komplexität einen für den Nutzer verständlichen Gerätenamen auslesen und anzeigen. Genutzt werden die Output Daten von Device Identifiers aktuell in zwei meiner Libraries, wobei eine bereits hier erwähnt wurde (Device Marketing Names - Dart) und die Zweite in den nächsten Tagen Einzug erhält.
OnUpgrade - Version 1.1.2 Maintenance Update

Wie vor einigen Tagen angekündigt bin ich derzeit dabei diverse Updates und neue Veröffentlichungen von Apps und Libraries vorzubereiten. Dieser Prozess hat in den letzten Tagen einige Fortschritte gemacht, sodass es in den nächsten Tagen einige News zu diesem Thema geben wird.
Den Anfang macht heute ein kleines Maintenance Update meiner Library OnUpgrade. Hier gibt es lediglich Updates der intern genutzten Abhängigkeiten, kleinere Optimierungen und einige Anpassungen und Verbesserungen bei der Dokumentation. Für mich persönlich ist es allerdings trotzdem wichtig derartige Updates durchzuführen. Denn aktuell Abhängigkeiten und eine aktive Pflege der eigenen Projekte ist meiner Meinung nach ein Qualitätsmerkmal.
Für alle die meine meine Library OnUpgrade nicht kennen, es handelt sich bei selbiger um eine Dart / Flutter Library, welche euch erlaubt bei der Installation von Updates eurer App Aktionen ausführen. Beispiele sind hier die Anzeige der Release Notes oder eine Migrationen von Daten. Falls ihr mehr erfahren wollt, folgt einfach den Related Links.

