Flutter Awesome - Hilfreiche Tipps und Tricks

Wer die ersten Erfahrungen mit Flutter gesammelt hat, wird vermutlich etwas umfangreichere Tutorials ausprobieren oder alternative Ansätze für verschiedene Abläufe testen wollen. Dafür ist die awesome-flutter Liste auf GitHub ein super Startpunkt.
Dort findet ihr interessante Artikel, Videos, komplette Libraries und Frameworks, sowie generelle Informationen und Links zu Community-Plattformen. Die Liste einmal grob durchzusehen kann ich jedem der mit Flutter arbeiten will nur empfehlen. Die diversen Informationen sind meistens extrem hilfreich und viele der häufig aufkommenden Fragen werden in den dortigen Tutorials direkt abgedeckt.
Abgesehen von den verschiedenen direkt nutzbaren Dingen, wie z.B. Plugins oder Frameworks, gibt es einfach extrem viel Inspiration. Dies gilt sowohl für die grafischen Komponenten und den Aufbau der App an sich, wie auch für das Backend und eventuelle Funktionen die man selbst integrieren könnte. Die meisten Beiträge sind zudem gut gepflegt, generell sehr aktuell und vor allem nachvollziehbar. Ich selbst habe ein paar der dortigen Tipps bereits erfolgreich eingesetzt. Solltet auch ihr mal reinschauen wollen, folgt einfach den Related Links.
Android Studio 3.3 erschienen

Seit kurzem ist die 3.3 Version von Android Studio verfügbar (basierend auf IntelliJ IDEA 2018.2.2). Auf diese Version freute ich mich sehr, da ich Probleme mit Lombok + Java 8 + Gradle 3.2.0 hatte und entsprechend temporär auf Java 8 Features verzichten musste. Dieses Problem ist mit dem Update behoben und diverse neue Features wurden integriert.
Der Navigation Editor visualisiert nun die Navigation innerhalb eurer App, sofern sie via Navigation Architecture Component open_in_new Pattern gebaut wurde und Lint Checks sind nun wesentlich performanter. Vor allem in größeren Projekten sollen sie bis zu vier Mal schneller sein. Neue Projekte können mit einem verbesserten und aktualisierten Create New Project Wizard gestartet werden und diverse Optimierungen an den verschiedenen System-Profilern wurden vorgenommen.
GitHub - Unbegrenzt private Repositories kostenlos

Das neue Jahr startet spannend für Softwareentwickler, denn GitHub geht in die vollen und bringt neben diversen neuen Features, unbegrenzt viele private Repositories für Free-Accounts. Bis dato musste man für eben dies bezahlen und hatte im kostenlosen Bereich nur unbegrenzt viele öffentliche Repositories zur Verfügung.
Die Änderungen gehen einher mit Anpassungen und Erweiterungen des Enterprise Bereiches. Man scheint sich also auf größere Organisationen zu fokussieren und dem kleinen Entwickler oder Team werden in diesem Zuge einige Geschenke gemacht. Selbige nehmen ich und vermutlich auch viele andere sehr gerne an. Die Resonanz auf Twitter ist zumindest sehr gut.
Die privaten Repositories können mit bis zu drei Kollegen geteilt werden und gewisse Projekt Management Funktionen, sowie Issue Tracking Tools sind ebenfalls vorhanden. Falls ihr mehr braucht gibt es GitHub Pro für 7 Dollar pro Monat pro User (bietet unter anderem bessere Review Tools) oder GitHub Team für 9 Dollar pro Monat pro User. Letzteres bietet zusätzlich zu den Pro Features noch eine Team- und Nutzerverwaltung. Das kleinste GitHub Team Paket ist ab 25 Dollar zu haben und ist für fünf Nutzer gültig.
Ich freue mich sehr über die Entwicklung, denn auch wenn ich an meinem Self-Hosted GIT (via Gitea) für diverse Projekte festhalten werde, gibt es einige kleinere Projekte, welche ich vor allem mit anderen zusammen entwickle, die sich über einen Umzug zu GitHub freuen würden. Denn GitHub nutze ich ohnehin, da macht es wenig Sinn einen extra Bitbucket oder GitLab Account zu pflegen. Wie steht ihr zur aktuellen Entwicklung und wird eure Meinung von der Tatsache das Microsoft GitHub übernommen hat beeinflusst?
Boehrsi.de - Mein Server

Vor einiger Zeit wurde ich in den Kommentaren gefragt wie mein aktuelles Hosting für den Blog aussieht und darüber möchte ich heute mal ein paar Worte verlieren. Ich nutze derzeit einen Linux vServer open_in_new mit Ubuntu, da ich dort die Freiheiten habe die ich benötige. Ich setzte auf einen vServer, da ich die Performance eines vollwertigen Root-Servers derzeit nicht benötigte.
Der Server ist mit zwei virtuellen CPUs unterwegs, verfügt über 4GB RAM und kann 200GB Speicherplatz verarbeiten. Alles in allem ein sehr kleines, aber funktionales Modell. Web-Hosting Angebote kommen für mich nicht in Frage, da ich sowohl bei den Anforderungen an den Server, wie auch bei den Anforderungen bezüglich der Domain-Konfiguration einige Sonderwünsche habe.
Neues für Android Entwickler in 2018

Während ich aktuell einiges mit Flutter open_in_new ausprobiere, geht’s natürlich auch an der Android Front weiter. Sowohl für mich als Entwickler, wie auch mit der Plattform an sich. Falls euch die Entwicklung von Android im Jahre 2018 interessiert, schaut doch mal in den unteren Teil der News. Dort findet ihr ein gerade einmal zwei minütiges Video, welches allerdings diverse Änderungen, Verbesserungen und Anpassungen anschneidet und zeigt wie sehr es mit der Plattform auch nach zehn Jahren noch voran geht. Solltet ihr etwas mehr wissen wollen, empfehle ich die diesjährige Keynote der Android Dev Summit open_in_new. Das Video ist ca. 50 Minuten lang und ist ebenfalls im unteren Teil der News eingebunden.
Flutter 1.0 veröffentlicht

Gestern Abend war es soweit, Flutter 1.0 wurde auf der Flutter Live Konferenz veröffentlicht. Neben den vier großen Stichworten: Beautiful, Fast, Productive und Open gibt es viele weitere neue und interessante Änderungen. Dazu gehört das UI Animations-Tool Flare open_in_new, welches direkt in Flutter nutzbaren Content erstellt. Ebenso interessant ist Codemagic open_in_new, ein Tool welches CI und CD für Android und iOS kombinieren soll. Beide Tools sind kostenlos zu haben.
Dart 2.1 wird nun unterstützt, im Bereich Pixel-Perfect UIs wurden ebenfalls gearbeitet und auch die Einbindung von Platform Views ist nun möglich. Solltet ihr nur einige Flutter Views innerhalb einer existierenden App nutzen wollen, ist auch dies nun einfacher.
Flutter hat als großes Ziel wesentlich mehr im Auge als nur die mobilen Plattformen. Für den Desktop wird an einer stabilen Lösung gearbeitet, auf dem Raspberry Pi gibt es Demos und selbst im Browser will Flutter aktiv werden. Wie gewohnt schnell, flexibel, offen und mit nur einer Code-Base. Ich bin weiterhin angetan von Flutter und freue mich auf die nächste Zeit mit dem Framework. Falls ihr genauere Informationen zum Flutter 1.0 Release wollt, folgt einfach den Related Links.
Boehrsi.de - CI/CD Workflow

Über die letzten Wochen und Monate habe ich meine Build-Pipeline für den Blog optimiert und erweitert und würde sie zum jetzigen Zeitpunkt als fertiggestellt betrachten. Verbesserungen kann man natürlich immer vornehmen, aber aktuell fallen mir zumindest keine mehr ein.
Das Ganze läuft komplett via Git ab, sodass ich als Nutzer lediglich einen Commit und Push durchführe und alles weitere automatisiert geschieht. Dabei werden direkt beim Commit neue Bilder optimiert, sodass der Server keine unnötige Arbeit durchführen muss. Sobald der Push durchgeführt wird, wird ein Git-Hook open_in_new ausgelöst und startet den Hugo open_in_new Build Prozess. Dieser sorgt durch Minification automatisiert für kleinere und optimierte Dateien. Anschließend kopiert das Script die Dateien ins Deploy Verzeichnis.
Android Abhängigkeiten mit Up2Dep aktualisieren

Abhängigkeiten unter Android aktuell zu halten ist nicht immer leicht, denn manchmal kann man sich durch Updates die gesamte App zerschießen. Somit lässt man lieber alles beim Alten, solange die App ordentlich funktioniert. Das ist natürlich problematisch, vor allem wenn Libraries die man einbindet Security Fixes implementieren und man selber sie durch verpasste Updates nicht integriert.
Hier will das Android Studio Plugin Up2Dep helfen, welches ich auf der Droidcon 2018 kennenlernte. Es gibt euch via Lint Hinweise wenn neuere Versionen zum Update bereitstehen, auf welche Version ihr sicher und ohne Breaking-Changes updaten könnt und es hilft sogar bei eventuell nötigen Anpassungen am Code. Sodass diese an der richtigen Stelle umgesetzt werden können und man sich langes Suchen erspart. Ich habe es im Kleinen ausprobiert und bin mit einem ersten Test zufrieden. Den Download Link, sowie alle weiteren Informationen findet ihr in den Related Links.
Droidcon 2019 Tickets verfügbar

Die Droidcon 2018 ist nun schon fünf Monate her und eigentlich wollte ich viel mehr geschrieben haben, aber man weiß ja wie es manchmal mit dem ist was man sich vornimmt und dem was dann wirklich eintritt.
Doch unabhängig von der letzten Droidcon, will ich heute über die nächste berichten, denn ihr könnt nun Ticket für die Droidcon 2019 bestellen. Vom 1. bis 3. Juli 2019 geht es wieder nach Berlin in die bekannte Location im CityCube. Ich hoffe ich werde auch 2019 wieder die Chance haben dabei zu sein, denn dieses Jahr was das Event sehr gut. Alles weitere findet ihr in den Related Links, ebenso wie ein Droidcon 2018 Recap Video im unteren Teil der News.
Flutter - Tutorials zum Einstieg

Falls ihr euch, so wie ich aktuell, etwas mit Flutter auseinandersetzen wollt, kann ich euch ein paar Tutorials und Dokumentationseinträge ans Herz legen. Beginnen möchte ich mit den offiziellen Flutter Tutorials open_in_new. Diese fokussieren sich zum Großteil auf die reinen UI Aspekte von Flutter und zeigen wie man schnell und effektiv ein Interface bauen kann. Weiterhin schaute ich mir das Chat App Code Lab von Google open_in_new an. Selbiges implementierte ich nach, erweiterte es etwas und testete mit diesem Konstrukt einiges aus.
Mit diesen Tutorials erhält man einen recht ordentlichen Eindruck bezüglich Flutter, doch Dart, die Sprache hinter Flutter, ist damit noch nicht ausreichend abgearbeitet. Dafür kann ich euch nur die Dart Language Tour open_in_new ans Herz legen, denn die modernen Möglichkeiten dieser Sprache sind definitiv spannend. Ich freue mich zumindest sehr über optionale Methoden-Parameter, benannte Konstruktoren und diverse weitere großartige Funktionen.
Hat man diese Dinge zusammen abgearbeitet kann man schon etwas erreichen, auch wenn einem natürlich noch die Erfahrung fehlt. Doch selbige kommt bekanntlich nur durchs Anwenden. Ich bin deswegen der Meinung man sollte vielleicht noch ein paar tiefergehende Tutorials zu konkreten Aufgabenstellungen, die für einen persönlich relevant sind, anschauen, allgemein aber möglichst schnell anfangen aktiv etwas umzusetzen. Denn Learning by Doing ist eine der besten Möglichkeiten, um ein neues Framework oder eine neue Sprache kennenzulernen. Wie sieht es bei euch aus, interessiert euch das Thema Flutter auch oder bleibt ihr lieber beim Altbewährten?

