Device Identifiers - Android und iOS Gerätenamen Mappings

Im Rahmen meiner Mitarbeit an den Flutter Plus Plugins open_in_new gab es die Anfrage die Produktnamen / Marketing-Namen für Android und iOS Geräte ausgeben zu können. Da dieser Use Case vermutlich eher für eine kleine Anzahl von Entwicklern wichtig ist, wurde entschieden diese Funktionalität nicht direkt in die Plus Plugins zu integrieren.
In diesem Bereich gibt es zwar schon Lösungen, aber einige basieren auf nativen Android / iOS Libraries und einige benötigen eine SQLite Library. Diese Anforderungen gefielen mir nicht, da man am Ende lediglich ein Mapping vom Gerätemodel auf den Produktnamen braucht. Das Model kann relativ einfach ausgelesen werden (z.B. via dem Flutter Plugin device_info_plus open_in_new) und alles weitere kann nicht nur ausschließlich auf der Dart Ebene erledigt werden, sondern das auch mit relativ einfachen Mitteln.
Am Ende braucht man wie oben erwähnt einfach nur eine Map der Daten, welche die Übersetzung von Model zu Name ermöglicht. Dies zu programmieren ist natürlich trivial, auch wenn man auf Dinge wie Lazy Loading achten sollte. Das Problem ist hier einen korrekten und möglichst vollständigen Datensatz zu haben.
Flutter - Einfache Navigation mit go_router

Navigation in Apps ist ein wichtiges Thema, denn auch wenn die Flows relativ simpel erscheinen, so gibt es mit Deep-Links, dem Handling von Fehlern und generell konditionalen Abläufen viele Dinge die die Navigation verkomplizieren können.
Im Flutter Kontext hat man darüber hinaus noch das Problem mobile Plattformen, Desktopsysteme und auch das Web bedienen zu wollen. Um hier alle zufrieden zu stellen wurde mit Navigator 2.0 open_in_new ein umfangreiches, aber auch sehr komplexes Konstrukt erschaffen. Selbiges ermöglicht es quasi alles umzusetzen was man möchte, aber dafür muss man auch für mitunter simple Abläufe etwas tiefer in die Code-Trickkiste greifen.
Damit der geneigte Entwickler aber nicht verzweifelt, wurde von einem der Flutter Product Manager mit go_router ein Flutter Package entwickelt, welches die Nutzung von Navigator 2.0 vereinfachen aber nicht einschränken soll. Ich plane aktuell das Package für laufende und kommende Projekte einzusetzen, denn erst Recherchen stimmen mich sehr zuversichtlich. Ich selbst hatte bis dato noch nicht viele Probleme mit der Navigation, aber einfach waren die Abläufe meist auch nicht und vor allem im Bereich Deep-Links könnte ich meine Apps sicherlich noch optimieren.
I'm a coder - Server sagt: Nein!

In der Softwareentwicklung und auch als Serverbetreiber ist das Thema Sicherheit natürlich allgegenwärtig. Sicherheitsmaßnahmen wollen eingerichtet und getestet werden. Dafür hat man verschiedene Wege und nachdem die initialen Tests bestanden sind, läuft dann meist alles im alltäglichen Flow weiter.
Zusätzlich zu diesen Abläufen testete ich gestern eher unfreiwillig eine der Sicherheitsmaßnahmen meines Servers. Es geht um Fail2Ban open_in_new, ein Tool welches gegen Brute-Force Angriffe auf Logins und ähnliches schützen soll. Ein kleines feines und unkompliziertes Tool, welches ich gerne als zusätzlichen Sicherheits-Layer betreibe.
Nun hatte ich gestern zwar nicht vor zu prüfen ob Fail2Ban ordentlich läuft, tat es aber trotzdem. In diesem Rahmen war Abends mein Server plötzlich nicht mehr zu erreichen und ich fragte mich wo das Problem liegen könnte. Jegliche Verbindungen meinerseits endeten in Fehlern. Nach ein paar kurzen Nachfragen stellte sich aber heraus, dass nur ich direkt betroffen war, es also gar keinen Ausfall gab. Ein paar weitere Nachforschungen offenbarten dann das Problem. Ein altes Smartphone, welches ich zum Debugging während der Entwicklung genutzt hatte.
Flutter Vikings Konferenz in Oslo

Abseits von den diversen reinen Online-Veranstaltungen der nächsten Monate, gibt es nun auch endlich wieder Konferenzen wie man sie aus der Zeit vor Corona kannte. Soll heißen man trifft sich vor Ort und entsprechend kann man auch mal wieder etwas Socializing betreiben. Auch wenn ich es zu folgender Konferenz vermutlich leider nicht selber schaffen werde, so kann ich jedem Flutter Enthusiasten nur empfehlen mal einen Blick auf das Event zu werfen.
Die Flutter Vikings Konferenz findet vom 02. - 03. Februar in Oslo statt und ist wie erwähnt On-Site, wobei einige Sessions aber auch online verfügbar sein werden. Schaut euch das Ganze doch mal an. Die Flutter Community ist, soweit ich es bis dato wahrnehmen konnte, extrem sympathisch und sofern es euch möglich ist sind solche Konferenzbesuche einfach toll um etwas zu lernen und um neue Leute kennenzulernen.
GitHub Universe 2021

Vor wenigen Tagen schrieb ich über die Android Dev Summit 2021, welche vom 27. bis 28. Oktober stattfindet. Doch dieses Event ist nicht das einzige am genannten Termin. Auch von GitHub gibt es ein größeres Event, welches wie schon im letzten Jahr auf den Namen GitHub Universe hört. Das digitale Event wird wie erwähnt auch vom 27. bis 28. Oktober stattfinden und bietet euch neben Vorträgen auch Workshops. Unter anderem geht es z.B. um den Umgang mit GitHub Actions und es sind diverse Q&A Sessions geplant.
Den gesamten Plan, wie auch alle weiteren Informationen findet ihr in den Related Links. Ich werde versuchen sowohl bei der Android Dev Summit, wie auch beim GitHub Universe Event das eine oder andere mitzunehmen und werde mit in den nächsten Tagen meine Pläne zusammenstellen.
Android Dev Summit 2021

Draußen wird es kalt und ungemütlich, genau die richtige Zeit um drinnen Entwickler-Events und Streams zu schauen. In diesem Bereich gibt es in der nächsten Zeit einige und vor allem die Rückkehr der Android Dev Summit freut mich.
Vom 27. bis 28. Oktober wird es unter anderem diverse Tech-Talks und Coding Sessions geben. Auch neues zu Android 12 aus Entwicklersicht wird man erfahren. Ich werde an dem online Event auf jeden Fall teilnehmen und mal rein schauen. Alle weiteren Informationen findet ihr auf der offiziellen Webseite, welche ihr in den Related Links findet.
Flutter Apprentice - Lehrbuch kostenlos verfügbar

Etwas Neues zu lernen ist immer spannend aber auch herausfordernd. Auf welche Art man etwas am besten lernt hängt immer stark von der jeweiligen Person ab. Der eine oder andere lernt gerne mit Büchern während andere z.B. Tutorials oder Videos bevorzugen. Sofern ihr zur ersten Gruppe gehört und etwas im Flutter Kontext lernen wollt, dürfte es euch vielleicht interessieren, dass das Buch Flutter Apprentice aktuell kostenlos zu haben ist.
Im Rahmen einer Zusammenarbeit zwischen Flutter und Razeware gibt es das Buch bis zum 06. Januar 2022 kostenlos für euch. Zusätzlich könnt ihr euch mit anderen Lesern vernetzen und so gemeinsam lernen. Alle weiteren Informationen gibt es in den Related Links. Das Buch, wie auch die weiteren Referenzen sind wie in diesem Kontext gewohnt in englischer Sprache verfasst.
Open Source Event Hacktoberfest gestartet

Der Oktober hat begonnen und für Entwickler mit Interesse im Open Source Bereich bedeutet dies interessante Möglichkeiten. Denn wie schon in den letzten Jahren ist auch dieses Jahr das Hacktoberfest wieder aktiv.
Soll heißen auf GitHub open_in_new und GitLab open_in_new gibt es in diversen teilnehmenden Projekten Issues mit dem Label Hacktoberfest. Ob ein Projekt teilnimmt ist dem Maintainer überlassen. Durch das abarbeiten solcher Issues könnt ihr Punkte sammeln und vielleicht die eine oder andere Kleinigkeit als Belohnung bekommen. Doch eigentlich geht es eher darum etwas für die jeweiligen Projekte zu tun, gemeinsam etwas zu erreichen und voneinander zu lernen.
Ich bin schon seit langem am überlegen etwas aktiver im Kontext der Flutter Community zu werden und dort bei den Plus Plugins open_in_new zu helfen. Leider habe ich bis dato nicht die Zeit gefunden, nehme dieses Event nun aber als Anlass etwas mehr zu tun. Falls auch ihr Interesse habt schaut doch generell mal, ob eure favorisierten Projekte vielleicht teilnehmen oder schaut wie ich mal im Plus Plugins Repository vorbei.
Die Aktion geht wie der Name schon sagt bis Ende des Monats und alles weitere findet ihr in den Related Links. Vergesst nicht euch auf der offiziellen Webseite anzumelden, damit eure PRs auch gezählt werden.
Flutter 2.5 erschienen

Bereits vor etwas mehr als einer Woche wurde eine neue Flutter Version veröffentlicht. Flutter 2.5 ist somit die aktuelle Stable Major Version und ein Upgrade eurer Entwicklungsumgebung wäre empfehlenswert. Ich selbst bin schon etwas länger mit der besagten Version unterwegs, da ich aktuell mit dem Beta Channel von Flutter arbeite.
Doch nun zu den eigentlichen Verbesserung. Dort gibt es vor allem im iOS Bereich starke Performance Verbesserungen und eine massive Reduzierung von kleineren Lags bei Animationen und ähnlichem. Zusätzlich wird nun Apple Silicon Support geboten. Verbessert wurde außerdem die Art und Weise wie und wann der Garbage Collector arbeitet. Auch dadurch sollen Probleme und Lags weiter minimiert werden. Sofern ihr auf die Kommunikation zwischen der Plattform selbst und Flutter angewiesen seid, dürfte es euch freuen zu hören das auch die Platform Channels wesentlich schneller geworden sind.
Unresolved reference: java in IntelliJ Idea / Android Studio

Im Rahmen eines meiner letzten Updates für IntelliJ Idea kam es leider zu einem nervigen Problem. Alle normalerweise vorhandenen Java Klassen wurden mir als fehlerhaft angezeigt und das schon beim Import. Der Fehler Unresolved reference: java weißt dabei auf eine fehlende / falsche Konfiguration des innerhalb von Idea genutzten JDKs hin. Bestätigt wurde diese Annahme im meinem Fall durch den Fakt, dass ich das Projekt ohne Probleme via Gradle bauen konnte, obwohl die IDE mir Build Fehler prophezeite.
Nach dem öffnen von File / Project Structure / Platform Settings / SDKs
war schnell klar das ein Problem existiert, denn es war zwar ein Eintrag vorhanden und ausgewählt (jbr-11
), aber es waren keinerlei Einträge im Classpath Tab vorhanden.