Droidcon Online angekündigt

Aufgrund der aktuellen Situationen werden viele Events abgesagt und auch die IT / Softwareentwickler-Welt ist davon natürlich betroffen. Damit der geneigte Android-Entwickler aber weiterhin sein Wissen aufbessern und sich mit anderen austauschen kann, habe sich die Droidcon Veranstalter etwas überlegt.
Droidcon Online ist eine Event-Reihe, bei welchen ihr zu festen Terminen in den nächsten Monaten einiges neues lernen könnt. Themen wie Jetpack, Multi-Platform Development, Kotlin, Tooling, Security, CI/CD, Testing und Design werden dabei bedient.
Ein jedes Webinar besteht aus zwei 30 Minuten Sessions, einem 15 Minuten Talk und anschließend einer Q&A Runde. Hier könnt ihr euch also Wissen aneignen, euch austauschen, Fragen stellen und mit der Community in Kontakt bleiben. Diese Onlineveranstaltungen sind kostenlos und stattdessen bittet man um eine Spende an den World Health Organization COVID-19 Solidarity Fund, sofern man etwas geben möchte.
Falls ihr übrigens keine Zeit an einem der Termine habt, könnt ihr auch Aufzeichnungen von selbigen anschauen oder z.B. zum zweiten Teil einer Vortragsreihe einsteigen. Weitere Informationen findet ihr in den Related Links. Dort findet ihr die Termine, den FAQ zur Aktion und alle weiteren Informationen. Ich werde auf jeden Fall an einigen Webinaren teilnehmen und bin gespannt was es neues in im Android Land gibt, denn durch Flutter bin ich aktuell ja eher wenig in der nativen Android Welt unterwegs.
Android Studio 3.6

Bereits seit ein paar Wochen ist Android Studio 3.6 verfügbar, doch nicht jeder führt die Aktualisierung sofort durch. Vor allem wenn man Plugins, komplexe Build-System oder ähnliches nutzt, wartet man ja gerne einen Moment. Dies gibt Entwicklern von angeschlossenen Tools etwas Zeit entsprechende Updates zu entwickeln.
Ich persönlich arbeite mit Flutter, Android und nutze das eine oder andere Plugin und bin sehr zufrieden mit dem Update. Ich konnte keinerlei Probleme auf meinem privaten System feststellen und werde entsprechend nun auch meinen Arbeits-Laptop aktualisieren. Dazu sei aber auch gesagt, dass ich bereits Version 3.6.1 nutze, welche kleinere Fehler des initialen Releases behebt.
Doch was gab es eigentlich neues in Android Studio 3.6? Im Design Bereich wurde der Layout Editor und Resource Manager überarbeitet. Hier ist wohl mit am wichtigsten, dass es nun eine Split-View gibt, welche Code und UI nebeneinander anzeigt. Ebenfalls neu ist die Anordnung der Steuerungselemente, welche nun als Floating-Buttons unten recht positioniert sind. Zusätzlich bringt der Color Picker nun einen Resources Tab mit, welcher euch erlaubt aus diversen definierten Werten zu wählen. Der Resource Manager selbst unterstützt nun mehr Typen, die Suche wurde optimiert und das Filtern wurde verbessert.
Flutter App Development - Was entwickeln wir?

Meine Flutter Newsserie geht endlich weiter oder sollte man sagen sie startet nun wirklich? Nachdem ich vor einigen Monaten angefangen habe, schlief das ganze Projekt aus Zeitgründen leider sehr schnell ein. Nun geht es weiter, die Pläne sind geschmiedet und selbige werde ich heute mit euch teilen.
Voraussetzung für die App, die ich entwickeln und für Tutorial-Zwecke nutzen möchte, ist das sie einen Nutzen haben soll. Ich möchte nicht To-Do App 1337 entwickeln und da ich nur begrenzt Zeit zur Verfügung habe, möchte ich bei der Entwicklung Spaß haben. Anders könnte ich nicht ausreichend Motivation aufbringen.
Doch nun zum Thema, entwickelt wird ein RSS Reader, mit moderner leichtgewichtiger Persistenz, ordentlicher Architektur die zum Flutter Framework passt und einer flexiblen UI, welche sich im Rahmen des Projekts entwickeln wird. Vor allem im Bereich Animationen möchte ich das eine oder andere ausprobieren.
Mobile Developer's Guide to the Galaxy Version 18 erschienen

Wie schon in den letzten Jahren freue ich mich auch im dahinscheidenden Jahr 2019 sehr darüber, über eine neue Version des Mobile Developer’s Guide to the Galaxy berichten zu dürfen.
Der Mobile Dev Guide bietet euch einen breiten Einstieg in die Welt der mobilen Entwicklung. Inhalte zu allen großen Plattformen, Hintergrund Informationen und generelle Themen wie Marketing und UX Design erwarten euch. Die 18. Version ist ab jetzt verfügbar und kann kostenlos heruntergeladen werden.
Auch dieses Jahr habe ich wieder am Guide mitgearbeitet und zeichne mich verantwortlich für den Großteil des Android Kapitels, weswegen ich den Guide persönlich natürlich noch etwas interessanter finde. Aber auch euch da draußen kann ich nur empfehlen einen Blick hinein zu werfen. Denn mit über 20 Autoren und sehr schönen Illustrationen, dürfte der Mobile Dev Guide für viele von euch interessant sein.
Solltet ihr Interesse an einer gedruckten Version haben, gibt es auch dafür auf der Mobile Developer’s Guide Website eine Möglichkeit. Folgt einfach den Related Links, dort findet ihr alle weiteren Informationen.
Flutter Interact mit vielen Neuerungen

Vorgestern fand die Flutter Interact 2019 statt und brachte sehr viele neue und interessante Inhalte und Änderungen für das UI Framework Flutter und auch Dart, als die Sprache dahinter. Zum einen wurde eine neue Flutter Version veröffentlicht.
Die Version 1.12.13 bietet neue Widgets und iOS UI Verbesserungen, inklusive des Dark Modes. AndroidX wird nun als Standard für native Android Komponenten verwendet und die Integration von Flutter in native Apps, bzw. als Standalone-App wurde verbessert. Außerdem ist es nun extrem einfach Google Font Packages in Flutter zu nutzen, ähnlich wie man es bereits aus dem Web kennt. Abgesehen von den Features wurden diverse Fehler behoben, die Performance teils stark verbessert und sogar ein Pull Request von mir befindet sich in diesem Release. Auch wenn es sich nur um eine Kleinigkeit handelt, freue ich mich sehr darüber.
Kotlin lernen - Advanced Android with Kotlin

Bis Ende des Jahres ist es mein Ziel grundlegend produktiv mit Kotlin zu sein. Dabei schaue ich mir Dinge wie Learn Kotlin by Example open_in_new, Tutorials und auch konkrete Kurse an. Bezogen auf die Kurse gibt es dabei etwas Neues von Google. Der Kurs Advanced Android with Kotlin open_in_new ist noch ziemlich neu und zielt wie der Name schon sagt auf eher fortgeschrittene Nutzer ab.
Falls ihr etwas entspannter anfangen wollt ist vielleicht das Kotlin Bootcamp for Programmers open_in_new oder Kotlin for Android Developers open_in_new etwas für euch. Ich werde mir die Kurse auf jeden Fall auch mal ansehen, weiß aktuell aber noch nicht ob ich sie komplett durcharbeiten werde. Denn der Advanced Kurs ist z.B. mit einem Zeitraum von zwei Monaten geplant, was für mich doch etwas langwierig wäre.
Für mich ist es wichtig neue Sprachen, Frameworks und ähnliches mit einem konkreten Ziel zu lernen. Also ein Projekt zu haben, welches ich umsetzen und wirklich nutzen möchte. Wenn es nur lernen des Lernens wegen ist, steigt mein Gehirn meist sehr schnell aus. Deswegen bin ich froh dass ich schon eine Idee für ein kleines Projekt habe, nämlich einen weiteren Micro Service. Mal schauen wie es läuft und ob es bei einem Test-Projekt bleibt oder ob das gute Stück wirklich das Licht der Welt erblicken wird.
Android Dev Summit - Sessions sind online

Die Android Dev Summit ist seit ca. einem Monat vorbei und wer ähnlich wie ich nicht nach Kalifornien reisen konnte, darf sich zumindest über den Upload aller Sessions des Events freuen. Neben den sicherlich interessanten Keynotes, werde ich mir vor allem alles rund um die neuen Jetpack Komponenten anschauen und versuchen ein paar Kotlin Neuigkeiten zu bekommen.
Vielleicht gibt es ja auch ein paar Worte zum Thema Flutter. Aber selbst wenn nicht, ich denke mindestens die Hälfte der aktuell 73 verfügbaren Videos wird für mich interessant sein. Diese alle anzuschauen wird sicherlich etwas Zeit in Anspruch nehmen, aber ich hoffe spätestens die freien Tage rund um Weihnachten schaffen hier Abhilfe.
Falls auch ihr Interesse an den Videos habt, folgt einfach den Related Links. In selbigen habe ich sowohl die eigentliche Android Dev Summit Website, wie auch die Playlist direkt auf Youtube verlinkt.
FileSize - Entwicklung wird eingestellt

In den letzten Wochen habe ich viel in mein altes Projekt FileSize geschaut. Angefangen hat alles mit notwendigen Changes, um weiter mit den Google Play Richtlinien kompatibel zu sein. Weiter ging es mit diversen Bugs die behoben wurden oder sogar ein neues Feature baute ich ein.
Dann kam die Überraschung der verpflichtenden Nutzung des Storage Access Framework open_in_new ab Android 10. Hier steckte ich ebenfalls viel Arbeit hinein. Ich bin in diesem letzten Bereich zu ca. 80 Prozent fertig, allerdings gibt es diverse Probleme, welche ich nicht wirklich zufriedenstellend lösen kann. Zum Ersten ist das SAF leider sehr langsam, sodass ein Scan nach großen Dateien statt wenigen Sekunden, mehrere Minuten dauern kann. Ebenfalls störend ist das initiale Einrichten, welches mittels mehreren Schritten durch den Nutzer geschehen muss. Ich kann dort leider nicht helfen und diverse Otto-Normal-Nutzer werden hier Probleme haben.
Als Programmierer habe ich außerdem das Problem, dass die Basis des Projekts schon älter ist und es entsprechend ohnehin ein paar Ecken und Kanten gibt, füge ich nun aber an diversen Stellen einen Pre- und Post-Android-10 Switch ein, steigert sich die Chance das Dinge kaputt gehen ungemein. Zu guter Letzt bietet z.B. die Files App open_in_new unter Android nun auch einen Bereich zum Aufräumen des Geräts. Neben großen Dateien findet man hier doppelte Dateien, Junk und Daten von nicht verwendeten Apps.
Ich habe mich schlussendlich, trotz der diversen Stunden der letzten Wochen, dazu entschieden FileSize nicht mehr weiterzuentwickeln. Die Nutzerzahlen sanken in den letzten Monaten stark und das zu Recht und die besagte Android 10 Integration ist aktuell nicht wirklich zufriedenstellend machbar. Somit macht es Sinn das Projekt einzustellen, vor allem da ich es nicht in der Qualität entwickeln kann, welche ich mir als Mindestvoraussetzung gesetzt habe. Apps mit ähnlicher Funktionalität gibt es mittlerweile und ich habe dadurch mehr Zeit mich auf meine aktuellen Flutter und Android Projekte zu fokussieren.
Ich werde FileSize im Laufe des Tages aus dem PlayStore entfernen und hoffe bald wieder eine Release würdige App zu haben, denn gar nichts im Store zu haben ist irgendwie etwas schade, vor allem wenn man diverse Projekte zu 90-95 Prozent fertig hat.
FileSize Update und das Storage Access Framework

Vor ca. 14 Tagen schrieb ich ihm Rahmen meiner I’m a Coder Reihe über ein geplantes, kleines Update meiner App FileSize. Selbiges sollte eigentlich bereits letzte Woche erscheinen, aber aus kleineren Anpassungen, Fehlerbehebungen und einem neuen Feature, wurde ein größerer Umbau.
Grund dafür ist Androids Storage Access Framework open_in_new, welches zwar seit Android 4.4 (API Level 19) vorhanden ist, aber nun mit Android 10 Pflicht für den Zugriff auf Ordner und Dateien wird. Da diese Funktionalität der Kern meiner App ist und das Storage Access Framework durchaus neu und ungewohnt für mich ist, dauert die Entwicklung etwas länger.
Denn das Storage Access Framework sorgt nicht nur für Änderungen an internen Abläufen, sondern benötigt auch Anpassungen an der UI und an generellen Abläufen. Außerdem wechsle ich nur für Android Versionen größer gleich 10 auf das Storage Access Framework. Denn neben besseren Sicherheitsstrukturen, ist es leider in der Handhabung, sowohl für den Entwickler, wie auch für den Nutzer und im Bereich der Performance, signifikant problematischer als die normale Java File API. Konkret bedeutet dies mehr Abfragen und Dialoge für den Nutzer und langsamere Scans bei der täglichen Nutzung.
Generell begrüße ich Änderungen, die die Sicherheit verbessern, das Storage Access Framework wirkt allerdings, trotz des fortgeschrittenen Alters, etwas unhandlich und unfertig. Vielleicht liegt dies an meiner mangelnden Erfahrung mit selbigem, ich konnte allerdings diverse Berichte von Entwicklern lesen, denen es zumindest ähnlich geht. Ich hoffe trotzdem die neue Funktionalität im Major Release 4.0 von FileSize bald veröffentlichen zu können.
Kotlin für Android lernen - Kotlin Bootcamp

Der geneigte Java Entwickler wird vermutlich im letzten Jahr nicht nur einmal über Kotlin gestolpert sein. Nicht ohne Grund wird Kotlin aktuell als der quasi Nachfolger von Java gehandelt, denn die moderne neue Sprache bietet diverse Verbesserungen, hält aber größtenteils die Kompatibilität zu Java und den dazugehörigen Libraries.
Im Android-Bereich ist Kotlin bereits die Nummer 1 Empfehlung, wenn es um die App-Entwicklung geht. Speziell für diesen Bereich und um die Sprache allgemein zu lernen, gibt es diverse gute Ressourcen und relativ neu ein komplettes Online-Bootcamp. Dieses beinhaltet diverse Kurse mit aufeinander aufbauenden Inhalten, die euch die Sprache und die Konzepte näher bringen und vor allem die Vorteile im Android-Bereich aufzeigen sollen.
Ich persönlich bin aktuell zeitlich einfach komplett ausgelastet, wodurch es mir schwer fällt außer Dart + Flutter noch etwas Neues zu lernen, plane aber für die nächste ruhigere Zeit den besagten Codelabs einen Besuch abzustatten. Denn ich denke als Android-Entwickler wird Kotlin langsam aber sicher Pflicht und auch in meinen anderen - eigentlich Java vorbehaltenen - Entwicklungsgebieten dürfte Kotlin von Vorteil sein.