Boehrsi.de - IT und Gaming Blog

Flutter 2.5 erschienen

Erstellt am event Uhr von account_circle Boehrsi in label Development
Flutter 2.5 erschienen Bild

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.

Related Links

Unresolved reference: java in IntelliJ Idea / Android Studio

Erstellt am event Uhr von account_circle Boehrsi in label Development
Unresolved reference: java in IntelliJ Idea / Android Studio Bild

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.

Related Links

Jetbrains Toolbox - IDEA und Android Studio einfach verwalten

Erstellt am event Uhr von account_circle Boehrsi in label Development
Jetbrains Toolbox - IDEA und Android Studio einfach verwalten Bild

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.

Related Links

Server-Crash und Neuinstallation - Macht Backups, wirklich!

Erstellt am event Uhr von account_circle Boehrsi in label Development
Server-Crash und Neuinstallation - Macht Backups, wirklich! Bild

Der Server-Crash ist nun schon ein paar Tage her und so langsam sind wirklich alle Systeme wieder online. Im Rahmen der Neuinstallation und des frischen Setups gab es wieder einige Kleinigkeiten die ich mitnehmen konnte und selbige möchte ich mit euch teilen.
Heute geht es dabei noch nicht ums Tooling oder gute Konfigurationen, sondern um die wichtigste Sache die ich im Rahmen dieses Crashs mal wieder lernen durfte. Macht Backups, macht sie häufig und verwaltet sie ordentlich. Ein Thema über welches ich schon häufiger geschrieben habe und eines welches ich normalerweise auch sehr ernst nehme. Auf meinem privaten System erfolgen mindestens wöchentliche Backups via Robocopy und auch auf dem Server sollte derartiges aktiv sein.
Hier sind wir nun beim eigentlichen Problem angekommen. Backups sollten da sein. Die Planung der Erstellung und Sicherung der Backups war quasi abgeschlossen, aber umgesetzt wurde sie nicht. Das Resultat waren stark veraltete vollständige Backups, welche manuell erzeugt wurden. Dazu diverse einzelne Backups und Dateien, die teilweise im Rahmen von spezifischen Sicherungen erzeugt oder zu anderen Zwecken herunterladen wurden.
Alles in allem also ein Durcheinander an Dateien und Ordnern, ohne konkrete Struktur. Ich habe Vergangenheits-Daniel in den letzten Tagen nicht nur einmal verflucht, doch am Ende muss man mit der Situation umgehen. Insgesamt verlief trotz miserabler Backups alles ziemlich gut, hier kann man also im wahrsten Sinne vom Glück im Unglück sprechen.

Related Links

Server-Crash und Neuinstallation - Der Ablauf

Erstellt am event Uhr von account_circle Boehrsi in label Development
Server-Crash und Neuinstallation - Der Ablauf Bild

In der Nacht vom 17. auf den 18. August gab es einen Hardwarefehler, welcher meinen Server, der den Blog und alle meine weiteren Dienste beherbergt, in die Knie zwang. Im Rahmen des Debuggings war nach ersten Tests klar, dass es sich um ein größeres Problem handeln muss, denn nicht einmal das Backup-System konnte genutzt werden. Ein Hardware-Test zeigte dann recht schnell das es sich um einen kritischen Ausfall handelt und Hardware getauscht werden muss.
Bereits am Abend stand dann neue Hardware bereit und die Neueinrichtung konnte beginnen. Hier muss ich ein Lob an Strato aussprechen, denn die Bereitstellung der neuen Hardware ging schnell und problemlos über die Bühne.

Related Links

Tessa App - Update mit Dark Mode und anpassbaren Kategorien

Erstellt am event Uhr von account_circle Boehrsi in label Development
Tessa App - Update mit Dark Mode und anpassbaren Kategorien Bild

Es gibt wieder neues von mir aus der Flutter Welt. Meine App Tessa hat ein Update erhalten. In dieser Version fügte ich einen Dark Mode und anpassbare Kategorien hinzu. Natürlich wurden auch diverse Fehler behoben und einige Anpassungen an der UI vorgenommen. Letzteres sorgt vor allem für einen modernen Look im Bereich der Snackbars. Ebenfalls verbessert wurde die Performance.
Im Rahmen des Updates habe ich das erste Mal mit Flutter in Verbindung mit einem dedizierten Dark Mode gearbeitet und ich bin durchaus zufrieden. Generell musste ich lediglich mein allgemeines Theme in ein helles und ein dunkles aufteilen und der Großteil war geschafft. Natürlich muss man sich dann noch um eventuelle manuelle Einstellungen kümmern, aber extrem vieles lief einfach so. Selbst UI die von Third Party Libraries gebaut wird, konnte bis auf kleine Ausnahmen ohne Änderungen verwendet werden. Hier merkt man das Flutters Material Komponenten alle aus einem Guss kommen.
Bedenken sollte man allerdings auch die nativen oder statischen Komponenten. In diesem Bereich habe ich vor allem kleinere Anpassungen an den genutzten Bildern vorgenommen und den initialen Splash Screen angepasst. Hierfür habe ich innerhalb von Android selbst die gegebenen Möglichkeiten genutzt. Da zu diesem Zeitpunkt Flutter selbst noch nicht aktiv ist, ist der Splash Screen immer gemäß des System Themes gesetzt und manuelle App Einstellungen greifen dann nachdem der Flutter Kontext geladen ist.

Related Links

Jetpack Compose - Meine ersten Erfahrungen

Erstellt am event Uhr von account_circle Boehrsi in label Development
Jetpack Compose - Meine ersten Erfahrungen Bild

Ich habe in den letzten Wochen relativ eingehend erste Schritte mit Jetpack Compose gemacht. Dies ist Androids neues Framework zu Erstellung des User Interfaces. Dabei entfernt man sich weit vom bekannten Ansatz, bei welchem ausgelagertes XML genutzt und später auf die eine oder andere Art mit der eigentlichen Logik verbunden wird.
Mit Compose bewegt man sich in sehr ähnlichen Welten wie bei Flutter. Die gesamte UI wird direkt im Code definiert und entsprechend ist eine extra Verbindungsschicht unnötig. Dadurch spart man sich natürlich einiges an Boilerplate Code. Auf der anderen Seite muss man natürlich umdenken, was mir persönlich durch meinen Flutter Hintergrund relativ leicht fällt.

Related Links

Jetpack / AndroidX Library Updates im Auge behalten

Erstellt am event Uhr von account_circle Boehrsi in label Development
Jetpack / AndroidX Library Updates im Auge behalten Bild

Falls ihr in der Android Developer Welt unterwegs seid, habt ihr sicherlich schon mit Jetpack / AndroidX Libraries open_in_new gearbeitet. Selbige bieten eine Vielzahl von wichtigen Kernfunktionen, sind dabei meist abwärtskompatibel und werden sehr aktiv von Google selbst gepflegt. Doch eben diese häufigen Updates sorgen auch dafür, dass man als Entwickler kontinuierlich ein Auge auf die genutzten Versionen haben muss.
In diesem Kontext bietet Google eine schöne Übersichtsseite, welche Informationen zu den verschiedenen Release Channels und den aktuell genutzten Versionen bietet. Außerdem gibt es pro Channel Release News. Selbige können auch via RSS Feed abonniert werden, sodass ihr immer auf dem neusten Stand seid. Auch wenn man gerne sagt “Never change a running system”, sind Updates im Bereich der Jetpack / AndroidX meiner Meinung nach eine Ausnahme. Durch ihre agile Entwicklung werden oft Schritt für Schritt neue Features eingebaut oder kleinere Probleme behoben. Diese Updates landen schnell in den verschiedenen Release Channels und die Nutzung besagter Updates kann einem das Leben durchaus leichter machen. Insofern ist meine Empfehlung alle Updates im Auge zu behalten und gegebenenfalls die Release Notes zu checken, ob es sich lohnt das Update kurzfristig zu integrieren.
Bezüglich der Release Channels kann ich übrigens noch anmerken das man auch mal eine Beta oder sogar Alpha Version testen kann. Bei Google sind derartige Versionen meist wesentlich stabiler als man es vielleicht gewohnt ist. Mitunter liegt dies wohl daran, dass Google ihre Libraries und das dazugehörige Tooling meist intern schon aktiv verwendet und somit testet, bevor es überhaupt die Außenwelt erreicht.

Related Links

Interessante Flutter Tools und Libraries

Erstellt am event Uhr von account_circle Boehrsi in label Development
Interessante Flutter Tools und Libraries Bild

Während ich mit Flutter unterwegs bin, suche ich natürlich immer mal wieder nach neuen Tools und Libraries. Aktuell fehlt mir zwar etwas die Zeit wirklich viel neues auszuprobieren, aber ich wollte mal mit euch teilen was noch so auf meiner TODO Liste steht.
Den Anfang macht Monarch. Wer Widgets gerne losgelöst von Daten bauen möchte, der sollte mal einen Blick auf Monarch werfen. Dieses Tool möchte euch helfen isoliert und schnell eigene Widgets zu erstellen und das ohne unnötigen Overhead.
Weiter geht es mit Mason. Ein relativ neues Tool, welches euch bei der Generierung von Dateiinhalten und auch ganzen Projekten hilft. Ihr erstellt euch sogenannte Bricks, welche dann konfiguriert werden und folgend Dateien, Ordner und ganze Strukturen erzeugen. Sehr praktisch ist dies z.B. bei der Projekterstellung.

Related Links

JCenter Abschaltung - Gradle Builds anpassen

Erstellt am event Uhr von account_circle Boehrsi in label Development
JCenter Abschaltung - Gradle Builds anpassen Bild

Als Java / Kotlin Entwickler ist der eine oder andere bestimmt schon mal über das JCenter Artifact Repository gestolpert. Ich selbst nutzte JCenter für Android und Server Projekte via Gradle. Falls ihr dies auch tut ist es Zeit zu handeln, denn JCenter wird abgeschaltet. Obschon Libraries die bis dato verfügbar waren wohl auch weiterhin erreichbar sein werden, gibt es keine neuen Pakete oder Versionen mehr.
Wenn ihr also wie ich mal wieder Updates eurer genutzten Libraries vornehmt, könnte es zu Build Problemen kommen. Ersatz kann man bei Maven Central finden, so war es zumindest in meinem Fall. Konkrete musste ich lediglich den jcenter() Eintrag in meiner build.gradle Datei entfernen, da der mavenCentral() Eintrag ohnehin schon vorhanden war. Weitere Informationen und Lösungsideen bei Problemen findet ihr in den Related Links.

build.gradle vorher:

repositories {
    ...
    jcenter()
    ...
}

build.gradle nachher:

repositories {
    ...
    mavenCentral()
    ...
}
Related Links
format_list_numbered  Seite 1 Nächste navigate_next