Flutter Vikings Konferenz

Es gibt mal wieder die eine oder andere spannende Neuigkeit im Flutter-Land. Selbige möchte ich euch natürlich nicht vorenthalten und entsprechend hier der Hinweis auf die kostenlose Flutter Vikings Konferenz.
Vom 17. bis 19. November findet die Konferenz statt, entsprechend dem aktuellen globalen Zustand natürlich rein digital. Die Tickets sind kostenlos und mit wenigen Klicks landen sie in eurer Inbox.
Es gibt ein umfangreiches Lineup, z.B. mit dem BloC Entwickler Felix Angelov und auch die Agenda steht bereits. Die genauen Informationen findet ihr auf der Website, die in den Related Links hinterlegt ist. Sollte euch das Thema Flutter interessieren, kann ich euch nur empfehlen mal einen Blick auf das Event zu werfen, ich werde dies auf jeden Fall tun.
Flutter Version 1.22 erschienen

Es gibt wieder spannendes aus der Flutter und Dart Welt zu berichten, denn seit letzter Woche ist Flutter 1.22 verfügbar. Die neue Iteration von Googles Cross-Platform UI Toolkit wird zusammen mit Dart 2.10 open_in_new ausgeliefert und bietet einiges Neues.
Allem voran kann man mit der neuen Version Support für iOS 14 und Android 11 erwarten, wodurch Flutter auch auf den jeweils neusten mobilen OS Versionen genutzt werden kann. In diesem Zuge wurden auch die verfügbaren iOS Icons massiv erweitert und aktualisiert. Unter Android werden nun flexiblere Aussparungen für Kameras und Seitenränder unterstützt, sowie flüssigere Animationen in Verbindung mit dem virtuellen Keyboard. Ebenfalls neu ist der Support für die aktualisierten Material Design Buttons open_in_new.
Im Bereich Internationalization (i18n) und Localization (l10n) ist nun Hot Reload Support vorhanden und diverse weitere Verbesserungen wurden vorgenommen. Hier könnte das neue characters Package open_in_new hilfreich sein.
Flutter - Windows Alpha Support erschienen

Nach längerem Warten ist es nun soweit, Flutter Apps können nun auch unter Windows ausgeführt werden. Während Android und iOS von Anfang an Bord waren, wurden die Desktopsystem Stück für Stück nachgereicht. Angefangen mit MacOS und gefolgt von Linux. Windows war bis dato nur als Tech-Preview verfügbar, was für mich etwas zu gewagt war, auch wenn es nur um private Projekte geht.
Seit vorgestern ist es nun soweit und Windows wird über den dev
Channel von Flutter als Alpha Version unterstützt. Für mich bedeutet dies endlich gute Desktop-Anwendungen, ohne Legacy UI mit problematischen UI-Generatoren und ähnlichem. Bis dato war ich mit Java und verschiedenen Tools drum herum unterwegs, um Desktop-Programme mit UI zu entwickeln, doch dies war leider nie sonderlich zielführend. Ich kam zwar meist zu nutzbaren Ergebnissen, aber der Weg dahin und auch die Pflege der Projekte, war meist eher unangenehm.
Flutter bietet mir hier nun eine Basis, die für mich persönlich ein Vielfaches flexibler und praktischer ist. Während ich im Android-Bereich an Java bzw. Kotlin für einige Projekte festhalten möchte und auf der Serverseite ohnehin mit Kotlin glücklich bin, werde ich Java auf dem Desktop wohl komplett Ad acta legen. Flutter wird hier für mich die Basis für folgende Projekte werden und wenn auch ihr Interesse an diesem Ansatz habt, der Weg dahin ist nicht sonderlich kompliziert. Bei der folgenden Beschreibung gehe ich davon aus, dass ihr bereits ein grundlegendes Flutter Setup open_in_new, z.B. für die Andorid-Entwicklung, betreibt.
I'm a coder - Doku Doku Doku

Dokumentationen sind wichtig und man sollte sie vor allem in professionellen Projekten mit größeren Teams sehr gut pflegen. Diesen oder einen ähnlichen Satz hört man als Entwickler häufiger und das mit Recht. Denn wie soll jemand neues Wissen wie ein Tool funktioniert oder wie man einen Release Build der App anstößt ohne etwas Dokumentation.
Also auch wenn Dokumentationen schreiben vielleicht nicht die dankbarste Aufgabe ist, in diesem Bereich der Softwareentwicklung ist ein gewisses Bewusstsein für derartige Dinge vorhanden.
Doch wie sieht es mit privaten Projekten aus, die man nebenbei baut und vielleicht als Prototyp liegen lässt? Hier gibt es meistens keine Dokumentation, keine weiteren Hilfen oder ähnliches. Dabei ist es egal ob das kleine Projekt ein Prototyp bleibt oder ob etwas aktiv Genutztes draus wird.
Byteconf Flutter Konferenz - Sessions sind online

Vor ein paar Wochen berichtete ich bereits über die kostenlose Flutter Messe Byteconf Flutter 2020. Heute möchte ich das Thema noch einmal aufgreifen, denn die Videos aller Sessions sind nun verfügbar. Ihr findet sie als handliche Youtube Playlist in den Related Links.
Entspannte 13 Videos bieten einen bunten Einblick in die Flutter Welt. Mit Workshops und allgemeinen Sessions werdet ihr an diverse Themen herangeführt und könnt einiges lernen. Von Animationen und neuen Widgets, bis hin zu Portierungsansätze für existierende Android und iOS Apps ist alles dabei. Die Videos sind dabei zum Großteil nicht übermäßig lang, sodass man sie auch zwischendurch gut anschauen kann. Falls Flutter für euch ein relevantes Thema ist, werft doch mal einen Blick auf die Playlist.
FlutterFire - Updates für die Firebase Plugins

Auch wenn ich immer noch nicht zu meinem Flutter - The Good, the Bad and the Ugly Beitrag gekommen bin, gibt es heute etwas aus dem Flutter + Ugly Kontext, allerdings mit sehr positiven Entwicklungen.
Eine der Sachen die mich im Flutter Bereich stört, ist der teilweise nicht qualitativ hochwertige Support für First-Party-Plugins. Speziell habe ich hier die Firebase Plugins im Auge. Auch Google war scheinbar der Meinung, dass es keine gute Idee ist diese Plugins - für eine so relevante Platform wie Flutter - nur nebenbei zu pflegen und so schloss man sich mit Invertase zusammen. Invertase ist eine Consulting-Firma mit viel Flutter und Dart Knowhow, welche nun seit einiger Zeit an neuen Versionen der meisten Firebase Plugins für Flutter arbeitet.
Ein erstes Ergebnis zeigt sich bereits, denn überarbeitete Versionen des FlutterFire Core, Cloud Firestore und Authentication Plugins stehen nun zur Verfügung. Alle überarbeiteten FlutterFire Plugins werden auf dem neuen Core basieren und somit ein einheitliches Setup und einheitliche APIs bereitstellen.
Ebenfalls Fortschritte gibt es im Bereich Crashlytics, Cloud Storage und Cloud Functions. Hier ist man entweder gerade dabei den Rewrite voranzubringen oder aber man ist bereits in der Review-Phase angekommen.
Cloud Messaging (FCM) und Realtime Database erhielten bis dato erste Updates, um mit dem neuen FlutterFire Core zu funktionieren. Der Rewrite dieser beiden Komponenten steht allerdings noch aus. Für mich ist besonders FCM relevant, um ordentliche und stabile Push-Nachrichten bereitstellen zu können.
Falls ihr mehr Informationen zum Thema erfahren wollt, folgt einfach den Related Links. Dort habe ich sowohl die Blog-Beitrag, wie auch das Repository und den Übersichts-Issue verlinkt.
Flutter Architektur Dokumentation

Ein Cross-Platform-Setup für Anwendungen zu nutzen bedeutet immer abzuwägen, wie sinnvoll eine solche Lösung im Vergleich zur nativen Implementierungen ist. Dafür ist es natürlich gut grundlegende Abläufe und Strukturen der jeweiligen Cross-Platform-Lösung zu kennen.
Für Flutter gibt es in diesem Bereich ein sehr umfangreiches Dokument. Dort könnt ihr mehr zu den verschiedenen Architektur-Layern erfahren und so z.B. lernen wie die Einbettung der Engine und des Frameworks selbst auf den eigentlichen Hostsystemen funktioniert.
Zusätzlich gibt es Informationen zum Reactive User interface Konzept, welches Flutter verfolgt. In diesem Kontext gibt es unter anderem mehr zum Thema State Management und wie der State eines Widgets eigentlich funktioniert.
Ebenso kann man sich bezüglich den Widgets selbst und dem Rendering- und Layouting-Flow informieren. Hier gibt es z.B. Erklärungen zum Ablauf der eigentlichen UI Erstellung in Bezug auf die Grafikkarte und wie das ganze System generell funktioniert.
Ein weiterer Baustein ist die Kommunikation mit dem Hostsystem. Hier gibt es mit Platform Channels und das Foreign Function Interface (FFI) verschiedene Wege, um mit verschiedenen Komponenten eines Systems zu kommunizieren. Dieser Bereich ist vor allem wichtig, wenn ihr komplexere Apps mit speziellen Funktionen implementieren wollt, denn in diesem Bereich seid ihr häufig auf APIs o.ä. angewiesen, die nur auf dem Hostsystem direkt genutzt werden können.
Ich habe das Dokument zum Teil überflogen, bestimmte Teile genauer gelesen und einiges sehr tiefgehend angeschaut, je nach aktuellem Wissensbedürfnis. Solltet ihr im Flutter Bereich aktiv sein, kann ein grundlegender Blick in diese Dokumentation denke ich nicht schaden.
Byteconf Flutter Konferenz

Solltet ihr Interesse an Flutter haben, so kann ich euch die heutige Byteconf Flutter 2020 Konferenz ans Herz legen. Das Event ist kostenlos, findet online statt und den Link zur Anmeldung findet ihr in den Related Links.
Gestern ging es bereits mit einigen Workshops los und das dazugehörige Video findet ihr direkt im unteren Teil dieser News. Unter anderem wurde über Bloc & Cubit gesprochen, eine Einführung für neue Flutter Entwickler gegeben und außerdem vorgestellt wie eine Kotlin Multiplatform Library mit Flutter harmonieren kann.
Heute gibt es dann diverse Talks zu verschiedensten Flutter Themen. Unter anderem sind Flutter Animationen, Flutter unter Linux und das neue InteractiveViewer Widget mit dabei. Starten werden die Talks heute um 18:00 Uhr und die Show wird vermutlich bis ca. 24:00 Uhr gehen. Ich werde versuchen mir einige Sessions live anzusehen und die restlichen via Youtube nachzuholen.
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.