Droidcon Online - Neues aus der Android Welt

In der letzten Zeit berichte ich oft über diverse Flutter Themen, doch auch in der Android-Welt gibt es weiterhin viele interessante Entwicklungen. Falls ihr in diesem Bereich auf dem Laufenden bleiben wollt, empfehle ich euch mal einen Blick auf die Droidcon Online Webinar Series zu werfen.
Ich erwähnte das Event bereits im April und seitdem fanden bereits einige Sessions statt, welche nun online verfügbar sind. Zusätzlich gibt es noch weitere Session in diesem Monat und im September.
Die Sessions beschäftigen sich unter anderem mit Kotlin, Jetpack und dem großen Thema Multiplatform Development. Ich werde wohl während meines Urlaubs den einen oder anderen Blick riskieren, wie sieht es bei euch aus?
Flutter - Hilfreiche VSCode Plugins

Zuletzt hatte ich über einige praktische Android Studio / IntelliJ Idea Flutter Plugins berichtet, doch ich möchte Visual Studio Code Nutzer natürlich nicht vernachlässigen. Aus diesem Grund geht es heute unter anderem um Pubspec Assist, ein Plugin für VSCode, welches euch die Arbeit mit der pubspec.yaml Datei erleichtern soll. Ihr könnt euch nicht nur die aktuellste Version für genutzte Pakete ohne den Umweg über die pub.dev Website holen, auch eine Suche nach Paketen ist möglich. Auf diesem Wege könnt ihr eure Abhängigkeiten quasi komplett direkt in VSCode verwalten und spart euch Kontextwechsel.
Ebenfalls spannend dürfte für einige das bloc Plugin sein, welches die Nutzung des gleichnamigen Flutter Packages vereinfacht. Durch diverse Snippets, Actions und Commands könnt ihr eure Blocs schneller erstellen, einfacher im Nachhinein anpassen und eure Flows generell optimieren.
Beide Plugins sind vielversprechend und könnten den einen oder anderen eher unnötigen Arbeitsschritt vereinfachen und optimieren. Ich persönlich nutze bekanntlich Android Studio für die Flutter Entwicklung, denke aber die genannten VSCode Plugins sind wirklich gut und könnten durchaus einen Vorteil bieten.
Flutter - 100 Tipps und Tricks

Pünktlich zum Wochenende möchte ich euch eine kleine feine Flutter Lektüre nahelegen. Egal ob ihr erfahren oder neu in der Flutter-Welt seid, niemand kennt alles. Und da kommen 100 Flutter Tipps und Tricks genau richtig. Ihr findet diese Liste vom Github Nutzer erluxman open_in_new in den Related Links.
Die Liste beinhaltet generelle Tipps und Tricks, Libraries, Entwicklungskonzepte und vieles mehr. Neben einer textuellen Beschreibung gibt es Code Beispiele und Screenshots, sowie GIFs / Videos. Dabei sind alle Inhalte kurz gehalten und übersichtlich gestaltet.
Ich habe die 100 Tipps und Tricks Stück für Stück durchgeschaut. Immer eine Seite pro Abend, sodass mein Gehirn auch Zeit hatte Dinge zu verarbeiten. Das eine oder andere werde ich auf jeden Fall mitnehmen, auch wenn mir vieles bereits geläufig war. Oft ist es ja auch sehr praktisch noch einmal auf Dinge hingewiesen zu werden, sodass man sich selbige wieder ins Gedächtnis rufen kann.
Flutter Version 1.20 erschienen

Gestern erschien eine neue Flutter Version und selbige bringt einige durchaus interessante Verbesserungen mit sich. Unter der Haube befindet sich nun Dart 2.9, wodurch unter anderem massive Verbesserungen beim UTF-8 Decoding gegeben sind. Diverse weitere Verbesserungen wurden ebenfalls in dieser neuen Dart Version vorgenommen, Null-Safety ist aber leider noch nicht verfügbar.
Im Performance Bereich können Animationen beim ersten Start der App nun flüssiger dargestellt werden, indem die Skia Shader Language Warm Up Funktion open_in_new genutzt wird. Die Größe eurer Apps wurde ebenfalls verringert, indem nicht genutzte Icons automatisch aus der App entfernt werden.
Für die Desktops wurde das Handling der Maus verbessert, sodass z.B. angepasste Cursor beim Hover über einem Textfeld integriert werden konnten. Auf den mobilen Plattformen wird nun Autofill unterstützt. Beide genannten Punkte waren sehr oft gewünschte Funktion und dürften bei der Community auf Anklang stoßen.
Sichtbare Änderungen sind vor allem die neuen und aktualisierten Widgets (InteractiveViewer, MaterialSlider, RangeSlider, TimePicker und DatePicker). Zusätzlich wurde der AboutDialog überarbeitet und ist nun responsive.
Für die Entwickler gibt es darüber hinaus noch Anpassungen im Bereich der pubspec.yaml Datei, vor allem wenn ihr Plugins entwickelt. Hier ist nun das neue Definitionsformat open_in_new. Es gibt außerdem eine Preview der neuen Dart DevTools in Visual Studio Code, verbessertes Network Tracking / Debugging, aktualisierte Importpfade beim Umbenennen von Dateien (Visual Studio Code) und viele weitere Änderungen.
Alle Änderungen, eventuelle Breaking Changes, sowie weiterführende Informationen könnt ihr den Related Links entnehmen. Dort findet ihr auch den Download. Wer bereits auf 1.20 ist sollte vielleicht noch ein weiteres Mal flutter upgrade bemühen, denn mit Version 1.20.1 ist bereits ein Bugfix Update verfügbar.
Flutter - Hilfreiche IDE Plugins

In den letzten Wochen bin ich über die eine oder andere hilfreiche Ressource im Kontext Flutter gestolpert und selbige möchte ich heute mit euch teilen. Anfangen möchte ich mit zwei IntelliJ Idea / Android Studio Plugins.
Die Flutter Enhancement Suite nutze ich seit einigen Tagen selber und bin zufrieden. Dieses Plugin erlaubt euch unter anderem einen effektiveren Umgang mit eurer Abhängigkeiten. Autocomplete für Pub Packages, Hinweise zu neueren Versionen und die Möglichkeit direkt die Dokumentation einzusehen sind nur ein Teil der Verbesserungen. Diverse neue Snippets und File Templates für z.B. Widgets und BloCs werde mitgeliefert. Zusätzlich werden Icons, wie man es von Android kennt, mit einer kleinen Preview dargestellt. Vor allem die Optimierungen beim Umgang mit der pubspec.yaml Datei und die Icon Preview nutze ich aktiv und bin sehr zufrieden.
Neben diesem Plugin bringt euch das Flutter Snippets Plugin, wie der Name schon sagt, diverse Snippets. Eine umfangreiche Liste findet ihr in der Readme Datei des Github Projekts. Generell gibt es alles von Dialogen, über Widgets, bis hin zu Builder-Funktionen für Streams und Animationen. Da ich mir gerne selber Snippets baue nutze ich das Plugin nicht, kann mir aber vorstellen das es vielen etwas bringen könnte.
Kleine Verbesserungen dieser Art sind Geschmackssache, können aber, falls richtig eingesetzt, den Entwicklungs-Flow und somit die Geschwindigkeit merklich verbessern.
Bug mit www. Subdomain behoben

Scheinbar hatte sich vor einiger Zeit der Konfigurations-Fehlerteufel eingeschlichen, welcher dafür sorgte dass der Blog unter der Subdomain https://www.boehrsi.de nicht ordentlich funktionierte. Weder die CSS Dateien, noch externe Services wurden wie gewünscht geladen, wodurch die Seite fehlerhaft aussah und die Kommentare und die Suche gar nicht funktionierten.
Das Problem wurde nun behoben, indem die eigentlich vorhandene automatische Weiterleitung auf https://boehrsi.de wieder aktiviert wurde. Ein Dankeschön geht an Peter für den Hinweis auf das Problem. Entsprechend sollte nun alles wieder wie gewohnt fehlerfrei funktionieren.
FlutterGems.dev - Flutter Plugins übersichtlich kuratiert

Flutter und das Ökosystem drum herum sind umfangreich und darin den Überblick zu behalten ist nicht immer einfach. Bei einer großen Menge an Plugins und Möglichkeiten Dinge zu erledigen, ist es gut neben der offiziellen pub.dev Plattform andere kuratierte Listen zu haben.
Eine von diesen findet ihr auf FlutterGems.dev. Selbige ist übersichtlich und gut gestaltet. Falls vorhanden erhält man direkt eine Vorschau auf die jeweiligen Plugins und zur besseren Übersicht sind alle gelisteten Plugins in verschiedene Kategorien einsortiert.
Vor allem fürs stöbern oder suchen nach Alternativen ist diese Art der Gruppierung meiner Meinung nach sehr praktisch. Ich besuche die Seite entsprechend immer mal wieder und schaue ob ich zu verschiedenen Themen auf die richtigen Pferde gesetzt habe oder ob es generell neue Lösungsansätze und Ideen in der Flutter Welt gibt.
Git Commits signieren - Extra Sicherheit für die Versionsverwaltung

Ich habe vor einiger Zeit angefangen jeden Git Commit zu signieren. Die Anregung dafür kam von einem Kollegen und dafür ein Dankeschön an Frank open_in_new. Für alle die nicht wissen worum es geht, ein Git Commit kann signiert werden, so wie auch Emails und andere Inhalte signiert werden können. Damit wird nachgewiesen dass ein Commit auch wirklich von der angegebenen Person stammt. Dieser Bonus an Vertrauen ist vor allem in Repositories mit vielen aktiven Nutzern hilfreich, aber auch in kleinen Repositories oder privaten Projekten gibt er ein zusätzlich Stück extra Sicherheit.
Um seine Commits zu signieren sind folgende Schritte nötig, außerdem muss man vielleicht noch das eine oder andere kleine plattformspezifische Problem aus der Welt schaffen.
Android Developer Guides - Gute Dokumentation für Entwickler

Aktuell bin ich im Berufsleben wieder mit Android unterwegs und muss sagen, dass ich mich direkt wieder zu Hause fühle, obwohl Dart / Flutter sich auch einige Wochen nach dem Wechsel irgendwie noch flexibler und agiler anfühlt. Dies kann natürlich auch daran liegen, dass ich ca. zwei Jahre lang nicht mehr täglich mehrere Stunden in der Android Welt unterwegs war und ich entsprechend erst einmal wieder etwas aufholen muss.
In diesem Kontext wurde ich positiv überrascht. Denn auch wenn es schon immer gute Ressourcen für Android an vielen Stellen gab, final landete man gefühlt immer auf Stack Overflow. Das ist an sich kein Problem, doch durch Flutter merkte ich das auch eine offizielle Dokumentation sehr gut und durch Beispiele direkt ausreichend sein kann, um Fragen zu beantworten.
Dies ist im speziellen sehr gut wenn man aktuelle und verlässlich Antworten braucht, denn auch wenn Stack Overflow extrem gut ist und ich die Plattform und die dortigen Entwickler sehr schätze, gibt es Themen wo man gerne eine belastbare offizielle Empfehlung hätte.
pub.dev Website erhält Update

Wer Flutter Apps entwickelt wird die pub.dev Website für Packages sicherlich kennen. Hier findet ihr Flutter Pakete, erhaltet weitere Informationen und könnt mit wenigen Schritten selbige Pakete in eure Apps einbinden. Die Website ist quasi der Standard Anlaufpunkt, falls ihr Funktionalität aus externen Quellen einbauen wollt.
Entsprechend freut es mich sehr, dass die Seite selbst ein Update erhalten hat. Allem voran fällt das frische und übersichtliche neue Design auf. Es bietet etwas mehr visuell ansprechende Komponenten, büßt dabei aber keine Übersichtlichkeit ein.
Die Detailseiten bieten nun mehr Informationen zur Beliebtheit, der Popularität und anderen Faktoren. Das frische Design ist also nicht nur hübsch, sondern auch praktisch.
Die Hauptseite der Plattform bietet darüber hinaus nun Informationen zu aktuellen Favoriten der Community an und zeigt die populärsten Pakete. Dies ist sicherlich für den einen oder anderen interessant, der gerne etwas stöbert. Ich werde diese Funktion auf jeden Fall nutzen, um hin und wieder mal nach neuen Paketen Ausschau zu halten.
Auch wenn so ein Update vielleicht nur wie eine kleine Änderung wirkt, ich persönlich sehe es als sehr positives Zeichen, das nicht nur Dart / Flutter als Sprache und Framework wächst, sondern eben auch das Ökosystem drum herum gepflegt und aktualisiert wird.

