Boehrsi.de - IT und Gaming Blog

Flutter - Windows Alpha Support erschienen

Erstellt am event 25.09.2020 - 10:00 Uhr von account_circle Boehrsi in label Development
Flutter - Windows Alpha Support erschienen Bild

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.

Related Links

FlutterFire - Updates für die Firebase Plugins

Erstellt am event 20.08.2020 - 19:00 Uhr von account_circle Boehrsi in label Development
FlutterFire - Updates für die Firebase Plugins Bild

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.

Related Links

Flutter Architektur Dokumentation

Erstellt am event 15.08.2020 - 18:30 Uhr von account_circle Boehrsi in label Development
Flutter Architektur Dokumentation Bild

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.

Related Links

Flutter Version 1.20 erschienen

Erstellt am event 07.08.2020 - 10:30 Uhr von account_circle Boehrsi in label Development
Flutter Version 1.20 erschienen Bild

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.

Related Links

pub.dev Website erhält Update

Erstellt am event 15.07.2020 - 19:30 Uhr von account_circle Boehrsi in label Development
pub.dev Website erhält Update Bild

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.

Related Links

It’s Flutter Day

Erstellt am event 25.06.2020 - 13:30 Uhr von account_circle Boehrsi in label Development
It’s Flutter Day Bild

It’s Flutter Day, mehr bräuchte ich eigentlich gar nicht zu schreiben. Etwas Kontext wäre aber vermutlich nicht schlecht, entsprechend nun ein paar weiterführende Worte. Der Flutter Day ist ein 24 Stunden Event mit 3 Livestream Sessions zum Thema Flutter und los geht’s heute um 18:00 Uhr unserer Zeit. Alles findet online statt, ist kostenlos und den Link zum Stream, sowie zur Anmeldung findet ihr in den Related Links.
Im Anschluss finden weitere Community Events und ein Hackathon statt, alles ebenfalls mit dem Thema Flutter. Sofern ihr also ins Thema eintauchen wollt oder euer Wissen mit anderen teilen wollt, schaut mal rein. Die Events sind nicht nur auf reine Vorträge ausgelegt, diverse Frage & Antwort Sessions gibt es ebenfalls. Den genauen Ablauf des Flutter Day findet ihr ebenfalls in den Related Links. Auch wenn die Zeiten für Europäer vielleicht etwas schlafraubend sind, sofern es passt und ihr euch für das Thema interessiert kann ich nur empfehlen mal einen Blick auf die Events zu werfen.
Der Einfachheit halber habe ich den Live Stream im unteren Teil der News auch direkt eingebettet, ihr könnt das Event also auch direkt hier schauen.

Related Links

Flutter App Development - Teil 6 - RSS Entries und mehr

Erstellt am event 11.06.2020 - 09:00 Uhr von account_circle Boehrsi in label Development
Flutter App Development - Teil 6 - RSS Entries und mehr Bild

Heute geht es weiter mit den eigentlichen Einträgen eines RSS Feeds. Die dazugehörigen Dateien befinden sich im lib/entry_list/ open_in_new Package und sind verglichen mit der lib/feed_list/ open_in_new Logik etwas einfacher zu handhaben. Dieser Beitrag ist der Abschluss meiner kleinen Tutorialreihe und den gesamten Source-Code findet ihr auf Github. Links zu den gennannten Dingen findet ihr in den Related Links. Mit diesen kurzen Worten der Einleitung möchte ich heute direkt mit dem User Interface starten.

Related Links

Flutter App Development - Teil 5 - RSS Feed Formular

Erstellt am event 23.05.2020 - 11:30 Uhr von account_circle Boehrsi in label Development
Flutter App Development - Teil 5 - RSS Feed Formular Bild

Nachdem es durch die Neuinstallation des Servers und diverse andere Themen mal wieder ein paar Verzögerungen gab, geht es nun weiter mit meiner kleinen Futter Tutorialreihe. Heute gehe ich auf das Formular ein, welches das Hinzufügen und Bearbeiten von RSS Feeds erlaubt.
Ich werde heute lediglich eine Klasse beleuchten, da ich das Gefühl habe in anderen Beiträgen wurde etwas viel auf einmal erläutert. So hoffe ich etwas nachvollziehbarere Erklärungen liefern zu können. Wie gesagt ist auch für mich diese umfangreiche Tutorialreihe etwas Neues und zugleich ist sie sehr aufwendiges. Ich versuche entsprechend direkt während der Erstellung und wenn ich mir meine eigenen Beiträge später noch einmal anschaue, Dinge zu optimieren.
Doch nun zum eigentlichen Thema, dem Verwalten der RSS Feeds über ein Formular in Flutter, inklusive simpler Validierung der Eingaben und Übergabe der Daten an unseren BloC.

Related Links

Flutter Version 1.17 erschienen

Erstellt am event 13.05.2020 - 19:00 Uhr von account_circle Boehrsi in label Development
Flutter Version 1.17 erschienen Bild

Vor ca. einer Woche erschien Version 1.17 des Flutter Frameworks. Googles Cross Platform Lösung erfreut sich bei mir weiterhin großer Beliebtheit, auch wenn man hier und da natürlich den einen oder anderen Stolperstein aus dem Weg räumen muss.
Unter anderem dafür sind ja bekanntlich auch neue Framework Versionen gedacht. Das letzte Update bringt allem voran massive Verbesserungen für die Performance unter Android und iOS. Wobei iOS durch den nun gegebenen Metal Support hier mit Abstand am meisten zulegt hat. Zusätzlich wurde teils extrem am Speicherverbrauch geschraubt. Wir reden hier von einer Beschleunigung um bis zu 35 Prozent, während für bestimmte Probleme bis zu 70 Prozent weniger Ram benötigt wird.
Dieser Release basiert auf Dart 2.8 open_in_new, bringt einige neue Material Widgets mit sich und behebt Probleme mit den Popupmenüs, welche bei einem Long-Press auf Text anzeigt werden. Die neue Version aktualisiert außerdem die gegebenen Text Styles, sodass selbige mit den aktuellen Material Design Guidelines Konform sind. Weitere Verbesserungen gab es im Bereich der Accessibility und Internationalization, zwei Bereiche die durchaus wichtig sind und wo es auf jeden Fall noch Verbesserungsbedarf gab.
Darüber hinaus hat das Google Font Package open_in_new die Version 1.0 erreicht und das neue Animations Package open_in_new soll euch mit vorgefertigten und häufig genutzten Animationen Arbeit abnehmen. Auch diverse Entwickler-Tools wurden aktualisiert oder optimiert und diverse weitere Kleinigkeiten angepasst.
Ich arbeite bereits seit einer Woche mit der neuen Version und konnte bis dato keine Probleme feststellen, sodass ich zum jetzigen Zeitpunkt durchaus meine Empfehlung zur Durchführung des Updates aussprechen kann.

Related Links

Flutter App Development - Teil 4.2 - Main und RSS-Feed-Logik

Erstellt am event 04.05.2020 - 20:30 Uhr von account_circle Boehrsi in label Development
Flutter App Development - Teil 4.2 - Main und RSS-Feed-Logik Bild

Aufgrund der Länge des Beitrags habe ich diesen Abschnitt des Tutorials noch einmal aufgeteilt. Die erste Hälfte (Main Logik) findet ihr hier.

Nachdem wir nun die App initial laden können, geht es weiter mit der Liste der RSS Feeds. Dieser Bereich besteht bei mir aus fünf Dateien. Im feed_list Package open_in_new befinden sich die feed_list.dart open_in_new, feed_list_barrel.dart open_in_new, feed_list_bloc.dart open_in_new, feed_list_change.dart open_in_new und feed_list_events_states.dart open_in_new. Der Aufbau ist sehr ähnlich unserem Main Konstrukt, mit einer weiteren Datei, welche das Hinzufügen, Bearbeiten und Löschen über die UI ermöglicht. Die Event / State Datei (lib/feed_list/feed_list_events_states.dart open_in_new) und die Barrel Datei (lib/feed_list/feed_list_barrel.dart open_in_new) wird im Folgenden nicht weiter erläutert, da sie trivial sind.
Beginnen werden wir nun mit dem FeedListBloc. Dieser könnte als Herzstück der App bezeichnet werden, da er sowohl die RSS Feeds verwaltet, wie auch Updates aller Feeds durchführen kann. Die gesamte App arbeitet dabei mit nur einem FeedListBloc, welcher bereits in der lib/main.dart open_in_new erstellt und mittels eines Providers darunterliegenden Strukturen zur Verfügung gestellt wird. Damit kann sichergestellt werden, dass keine unnötigen Objekte erzeugt werden oder aber falsche States aktualisiert werden.

Related Links
format_list_numbered  Seite 1 Nächste navigate_next