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.
Jetbrains Toolbox - IDEA und Android Studio einfach verwalten
Ich arbeite mittlerweile seit mehr als 5 Jahren mit Jetbrains Produkten und in diesem Kontext meist mit IntelliJ IDEA in der Community Edition und mit Android Studio. Es gibt noch viele weitere Tools, vor allem für zahlende Kunden, aber ich bin mit den beiden genannten durchaus gut ausgerüstet.
Da diese Tools die Basis meiner Entwicklung sind, möchte ich sie natürlich aktuell halten und von Zeit zu Zeit ist auch eine Beta Version nicht schlecht, um vorab Features zu testen. All diese Sachen hatte ich bis letztes Jahr von Hand installiert und verwaltet, wobei die Updates via automatischer Funktion direkt innerhalb der Tools verwaltet wurden.
Seit der letzten Neuinstallation, welche im Rahmen meines PC Upgrades stattfand, bin ich nun voll und ganz auf die Jetbrains Toolbox umgestiegen. Hierbei handelt es sich um ein kleines Management Tool für IntelliJ Produkte. Es kann mit einem Account genutzt werden, ich selber nutze es allerdings ohne. Die Toolbox ermöglicht es euch Software zu installieren und das auch parallel in verschiedenen Version. Updates werden ebenfalls hier verwaltet. Dabei ist ein Rollback möglich, da die alte Version nicht direkt überschrieben wird. Dies ist sehr praktisch, sofern ein Projekt o.ä. vielleicht doch noch nicht mit der neusten Version funktioniert. Darüber hinaus gibt es weitere kleine Einstellungsmöglichkeiten, wie z.B. für die Java Settings.
Alles in allem ist das Tool keine Magie, aber er hilft bei der unkomplizierten Verwaltung von für mich essentieller Software, sowohl bei der initialen Installation, wie auch beim sicheren Aktualisieren. IDEA nutze ich bereits seit diversen Monaten mit der Toolbox, Android Studio seit ca. einem Monat und bis dato konnte ich noch keiner Fehler bei Updates oder ähnlichem feststellen.