Boehrsi.de - Blog

Device Marketing Names & Device Identifiers Updates

Erstellt am event Uhr von account_circle Boehrsi in label Development
Device Marketing Names & Device Identifiers Updates Bild

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.

Related Links

Kotlin und Dart Code via GitHub Action formatieren

Erstellt am event Uhr von account_circle Boehrsi in label Development
Kotlin und Dart Code via GitHub Action formatieren Bild

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.

Related Links

Tessa App - Version 2.0 steht vor der Tür

Erstellt am event Uhr von account_circle Boehrsi in label Development
Tessa App - Version 2.0 steht vor der Tür Bild

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.

Related Links

Flutter Plugins & Packages - Eine neue News-Sammlungen

Erstellt am event Uhr von account_circle Boehrsi in label Boehrsi
Flutter Plugins & Packages - Eine neue News-Sammlungen Bild

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.

Bildquelle: pub.dev open_in_new

I'm a coder - Spaß beim Bugfixing

Erstellt am event Uhr von account_circle Boehrsi in label Boehrsi
I'm a coder - Spaß beim Bugfixing Bild

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

Erstellt am event Uhr von account_circle Boehrsi in label Boehrsi
I'm a coder - Fokus ist ... oh ein Schmetterling Bild

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.

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

Device Marketing Names & Device Identifiers Updates

Erstellt am event Uhr von account_circle Boehrsi in label Development
Device Marketing Names & Device Identifiers Updates Bild

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.

Related Links

Device Marketing Names - Kotlin Version 0.2.3

Erstellt am event Uhr von account_circle Boehrsi in label Development
Device Marketing Names - Kotlin Version 0.2.3 Bild

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.

Related Links

JSON visualisieren mit JSON Visio

Erstellt am event Uhr von account_circle Boehrsi in label Development
JSON visualisieren mit JSON Visio Bild

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.

Related Links

Device Marketing Names - Version 0.4.0 Update

Erstellt am event Uhr von account_circle Boehrsi in label Development
Device Marketing Names - Version 0.4.0 Update Bild

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.

Related Links
navigate_before Vorherige format_list_numbered  Seite 9 Nächste navigate_next