Boehrsi.de - IT und Gaming Blog

Dart Null Safety Beta erschienen

Erstellt am event 21.11.2020 - 11:30 Uhr von account_circle Boehrsi in label Development
Dart Null Safety Beta erschienen Bild

In den letzten Monaten arbeitete ich sehr aktiv mit Kotlin und Dart, aus diesem Grund bin ich sehr froh das Dart im Bereich Null Safety vorankommt. Seit wenigen Tagen ist Null Safety in Dart als Beta Feature verfügbar und kann genutzt werden. Dafür muss das genutzte Dart Environment auf mindestens 2.12 gesetzt werden, weitere Infos dazu gibt es in der offiziellen Dart Dokumentation open_in_new. Für alle die mit dem Thema nicht Ad-Hoc etwas anfangen können, im unteren Teil der News gibt es ein schönes kleiner Videos, welches Null Safety schnell und einfach erklärt.
Mir wird dieses Feature, sobald es stabil verfügbar ist und alle Plugins aktualisiert wurden, definitiv helfen besseren Code zu schreiben. Zu diesem Schluss komme ich auf Grund meiner Erfahrungen mit Java und Kotlin. Denn während man in Java Null einfach so nutzen kann, ist Kotlin strikter und wirft schon bei der Implementierung wesentlich mehr Fehler, sodass man den Code sicher und sauber schreiben kann.
Initial ist an viele stellen ein Umdenken nötig, gerade in langen Ketten von Methodenaufrufen ist man vielleicht etwas genervt und ein paar Abläufe müssen vielleicht sogar generell überdacht werden, aber am Ende lohnt es sich. Die Menge an Null Pointer Exceptions, wie man sie aus Java kennt, verschwindet quasi sofort. Der Code erlaubt es dem Entwickler generell mehr Annahmen zu treffen und sich bezüglich der Werte von Variablen sicher sein zu können. Es muss nur noch einmal über das Für und Wider von Null für eine bestimmte Variable nachgedacht werden, danach hilft einem die IDE.
Wichtig ist abschließend, das Feature als Hilfe anzunehmen und es zu verwenden, denn es überall erzwungen zu überschreiben macht nicht nur das Feature an sich nutzlos, sondern auch den Code fehleranfällig und einfach gesagt schlechter. Und das will ja keiner, denn ein guter Entwickler kümmert sich um seinen Code und ein guter Entwickler will sauberen und performanten Code.

Related Links

Flutter Complete Reference - Der Guide zum Flutter lernen

Erstellt am event 19.11.2020 - 17:30 Uhr von account_circle Boehrsi in label Development
Flutter Complete Reference - Der Guide zum Flutter lernen Bild

Es gibt viele Wege um etwas zu lernen und ich persönlich finde im Kontext von Programmiersprachen vor allem echte Beispiele und damit verbunden eine gute Dokumentation sehr wichtig.
Solltet ihr Interesse an Flutter haben und ein umfangreiches Kompendium (auf englisch) suchen, inklusive Beispielen und diversen weiteren Informationen, verpackt in eine große Reise quer durch das Flutter Universum, dann solltet ihr euch vielleicht mal Flutter Complete Reference ansehen.
Ich selbst kam leider noch nicht dazu mir das Buch, welches digital und als gedruckte Variante verfügbar ist, anzuschauen, aber die Bewertungen auf z.B. Amazon klingen vielversprechend. 35 € für die Kindle Variante und ca. 49 € für das gedruckte Buch werden verlangt, was für ein umfangreiches Lehrbuch absolut in Ordnung ist wie ich finde.
Ich persönlich lerne selten mit Büchern, aber ich kenne viele die gerne einen konkret definierten Weg gehen und mit der Flutter Complete Reference könnte ich mir vorstellen, kann man dies gut umsetzen. Die Webseite zum Buch ist übrigens auch sehr schön gemacht. Es gibt diverse Beispiele, Ressourcen, eine kleine Vorschau und sogar ein Quiz. Vor allem letzteres finde ich sehr unterhaltsam und durchaus fordernd. Alle Amazon Links sind Affiliate- / Partner-Links die meinen Blog unterstützten.

Related Links

Flutter Build Probleme beheben - Failed to transform libs.jar

Erstellt am event 14.11.2020 - 12:30 Uhr von account_circle Boehrsi in label Development
Flutter Build Probleme beheben - Failed to transform libs.jar Bild

Derzeit stolpere ich hin und wieder, vor allem aber nach dem Ausführen von flutter clean, über den Fehler Failed to transform libs.jar. Dieser weist konkreter entweder auf debug\libs.jar oder profile\libs.jar hin.
Dieses Problem ist durchaus nervig, weil es jegliche Release Builds blockiert. Beheben lässt es sich zum Glück aber relativ einfach, denn je nach vorangegangener Fehlermeldung müsst ihr einfach nur den passenden Build ausführen, welcher die fehlenden Dateien generiert.

# Falls der Fehler debug\libs.jar referenziert 
flutter build apk --debug
# Falls der Fehler profile\libs.jar referenziert 
flutter build apk --profile

Es ist durchaus möglich das ihr beide Befehle nacheinander ausführen müsst, weil beide Dateien fehlen, achtet also genau auf die Fehlermeldung. Generell hoffe ich, dass das Flutter / Gradle / Android Studio Team die Problematik zeitnah in den Griff bekommt, denn solche Bugs klauen einem gerne die eine oder andere Entwicklungszeit.

Related Links

Flutter Vikings Konferenz

Erstellt am event 13.11.2020 - 09:00 Uhr von account_circle Boehrsi in label Development
Flutter Vikings Konferenz Bild

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.

Related Links

Flutter Version 1.22 erschienen

Erstellt am event 12.10.2020 - 17:00 Uhr von account_circle Boehrsi in label Development
Flutter Version 1.22 erschienen Bild

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.

Related Links

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

I'm a coder - Doku Doku Doku

Erstellt am event 10.09.2020 - 09:00 Uhr von account_circle Boehrsi in label Boehrsi
I'm a coder - Doku Doku Doku Bild

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

Erstellt am event 08.09.2020 - 09:00 Uhr von account_circle Boehrsi in label Development
Byteconf Flutter Konferenz - Sessions sind online Bild

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.

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
format_list_numbered  Seite 1 Nächste navigate_next