Nutzt Git, es lohnt sich

Sobald man in der Softwareentwicklung unterwegs ist, ist SVN oder eher Git quasi ein selbstverständliches Tool und das aus gutem Grund. Ich persönlich nutze Git mittlerweile für quasi alles was ich tue. Dabei muss nicht immer ein Remote Server vorhanden sein, auch ein lokales Git kann schon diverse Aufgaben erfüllen und bei Problemen helfen.
Denn egal ob es darum geht zu wissen wann man welche Änderung an Dokumenten oder Code vorgenommen hat oder ob man vielleicht einen alten Stand eines Dokuments braucht, Git hilft. Vielen ist es vielleicht gar nicht bewusst, aber hierfür reicht es lokal Git zu installieren. Natürlich hat man im Falle eines Festplatten-Crashs dann kein Backup und gemeinsam versioniert an Dateien arbeiten geht auch nicht, aber das ist nun einmal auch nicht immer gefragt.
Hat man nun noch einen Server zur Hand, kann man unter anderem auch noch die genannten Punkte abdecken. Doch worum es mir in diesem Beitrag eigentlich geht, ist die Einfachheit von Git, sofern man den generellen Einstieg geschafft hat. Man kann Datenverlust verhindern, Datenkonsistenz und die Nachvollziehbarkeit von Änderungen ohne viel Aufwand gewährleisten und das ohne diverse verschiedene Softwarelösungen zu installieren. Auch wenn das eine oder andere zusätzliche Git GUI Tool open_in_new sicherlich nicht schadet.
Ich kann jedem, auch Nicht-Software-Entwicklern, nur raten sich mal mit Versionskontrolle durch Git auseinanderzusetzen. Lasst euch nicht vom initialen Overhead entmutigen, das Ergebnis lohnt sich. So zumindest meine persönliche Erfahrung.
Falls ihr darüber hinaus auch einen Remote Server nutzen wollt, schaut euch doch mal GitHub open_in_new oder GitLab open_in_new an, beide Plattformen sind dabei vor allem für die Softwareentwicklung gedacht.
Neue Kategorie - Flutter

Da ich in den letzten Monaten durchaus viel Content zum Thema Flutter erstellt habe, gibt es nun die passende Kategorie dazu. Ich habe rückwirkend alle relevanten Beiträge hinzugefügt.
Auf diese Weise könnt ihr ohne großes Suchen alles zum Thema Flutter hier im Blog finden. Zusätzlich gibt es auch noch meine Flutter App Development Sammlung, für eine etwas konkretere Themenfilterung.
Im Projektebereich werdet ihr in der Zukunft außerdem ebenfalls einiges zum Thema Flutter finden. Dort plane ich sowohl Closed-, wie auch Open-Source Apps und eine Website zum Thema Flutter habe ich derzeit auch in der Mache.
Falls ihr Ideen, Anregungen oder Feedback habt meldet euch übrigens gerne direkt in den Kommentaren. Ich freue mich bekanntlich immer über frischen Input und andere Blickwinkel.
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.
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.