Boehrsi.de - IT und Gaming Blog

Android Studio 4.0

Erstellt am event 30.06.2020 - 09:00 Uhr von account_circle Boehrsi in label Development
Android Studio 4.0 Bild

Android Studio 4.0 ist bereits seit ca. einem Monat verfügbar und ich nutze es bis dato erfolgreich für die Android und Flutter Entwicklung. Ich konnte bis jetzt keine gravierenden Probleme oder andere negative Effekte feststellen. Weiterhin laufen sowohl Android, wie auch Flutter Projekte, egal ob alt oder neu mit Android Studio 4.0 bei mir problemlos (getestet unter Windows und Ubuntu).
An neuen Funktionen bringt diese Version, welche auf das Android Gradle Plugin Version 4.0.0 setzt, allem voran den Build Analyzer, welcher euch erlaubt Build-Zeiten zu analysieren. Dadurch soll es dem Entwickler einfacher gemacht werden blockierende oder aufwendige Tasks zu finden, sodass die App schneller gebaut werden kann.
Im Bereich der Abhängigkeiten kann nun mittels Feature-on-Feature Dependencies das Erstellen von dynamischen Modulen optimiert werden und die neue Dependencies Metadata Funktionalität soll euch helfen Probleme mit dem SDK oder genutzten Libraries zu finden. Sofern ein Build mit Dependencies Metadata auf Google Play hochgeladen wird, wird selbiger analysiert und ihr erhaltet weitere Informationen bei Problemen.

Related Links

Portal Dogs - Gewinnspiel - Die Gewinner

Erstellt am event 16.06.2020 - 14:30 Uhr von account_circle Boehrsi in label Gaming
Portal Dogs - Gewinnspiel - Die Gewinner Bild

Mein Portal Dogs Gewinnspiel ist nun schon einige Tage lang vorbei und entsprechend wurden nun auch die Preise verteilt. Sie wurden wie gewohnt bereits an die Gewinner ausgeliefert, sodass hoffentlich bereits gezockt wird. Freuen dürfen sich dieses Mal Jim, Shi und Joey.
Für alle die das Gewinnspiel zum sympathischen Puzzle / Jump & Run verpasst haben noch eine gute Nachricht, denn vermutlich wird es noch eine Aktion zu Portal Dogs geben. Selbige dürfte in den nächsten Wochen starten, schaut also ruhig mal wieder rein. Falls ihr nicht wisst worum es geht, gibt es hier übrigens mein Review zum Spiel.

Related Links

Flutter App Development - Teil 6 - RSS Entries und mehr

Erstellt am event 11.06.2020 - 09:00 Uhr von account_circle Boehrsi in label Development
Flutter App Development - Teil 6 - RSS Entries und mehr Bild

Heute geht es weiter mit den eigentlichen Einträgen eines RSS Feeds. Die dazugehörigen Dateien befinden sich im lib/entry_list/ open_in_new Package und sind verglichen mit der lib/feed_list/ open_in_new Logik etwas einfacher zu handhaben. Dieser Beitrag ist der Abschluss meiner kleinen Tutorialreihe und den gesamten Source-Code findet ihr auf Github. Links zu den gennannten Dingen findet ihr in den Related Links. Mit diesen kurzen Worten der Einleitung möchte ich heute direkt mit dem User Interface starten.

Related Links

GitHub App - Meine Meinung

Erstellt am event 04.06.2020 - 20:00 Uhr von account_circle Boehrsi in label Development
GitHub App - Meine Meinung Bild

Ich bin täglich auf GitHub unterwegs und da ist es natürlich praktisch auch eine mobile Version für unterwegs zu haben. Die GitHub App gibt es schon etwas länger, aber ich wollte sie trotzdem einmal erwähnen.
Denn mit selbiger könnt ihr eure Issues, Pull Requests, Repositories und Organizations durchaus übersichtlich im Blick behalten. Vor allem der Punkt der Übersicht war mir wichtig, da ich in verschiedenen Repositories unterwegs bin und sowohl Code beisteuere, wie auch Issues verwalte und Code-Changes einem Review unterziehe.
Dabei bietet die Hauptansicht sowohl die allgemeine Navigation für die genannten Bereiche, wie auch Informationen zu euren letzten Aktionen. Weiterhin sind die Notifications und die Suche schnell und praktisch zu erreichen. Was mich persönlich allerdings mehr interessiert sind die eigentlichen Issue Seiten, wie Reviews aufgebaut sind und derartige Dinge. Denn hier wird es auf dem kleinen Screen kompliziert und komplex. Doch sowohl Issues, wie auch Code-Diffs werden übersichtlich angezeigt und sind tatsächlich auch auf dem Smartphone halbwegs gut nutzbar.
Generell erreicht man über die AppBar die Hauptfunktionen, während der eigentliche Content-Bereich alle spannenden Informationen bereithält. Damit man nun aber Kommentare und ähnliches leicht erreichen kann, gibt es eine weitere Interaktionskomponente am unteren Ende des Bildschirms. Hier könnt ihr schnell verschiedene kontextrelevante Aktionen durchführen.
Positiv für mich fällt weiterhin auf das ein Dark-Mode vorhanden ist. Ob man selbigen nutzt ist wie so vieles, Geschmackssache. Im Allgemeinen bin ich mit dem Funktionsumfang und dem Look and Feel zufrieden und freue mich auf weitere Updates. Aktuell benötige ich die App zwar eher selten, aber wenn man bald wieder mehr in der Welt da draußen unterwegs sein kann, bietet es sich natürlich an ein paar Reviews aus der Natur zu machen.

Related Links

STATIONflow Review

Erstellt am event 29.05.2020 - 09:00 Uhr von account_circle Boehrsi in label Gaming
STATIONflow Review Bild

In den letzten Wochen durfte ich nicht nur Portal Dogs anspielen, auch die U-Bahn-Stations-Simulation STATIONflow durfte ich testen. Dafür vorweg ein großes Dankeschön an den Entwickler DMM GAMES, welcher mir einen Key kostenlos zur Verfügung gestellt hat.
STATIONflow ist wie schon erwähnt eine Management-Simulation. Ihr verwaltet eine immer größer werdende U-Bahn-Station. Hier gibt es diverse Ein- und Ausgänge, sowie Bahnsteige und natürlich auch Kunden mit Bedürfnissen. Auch diese werden im anspruchsvoller, allem voran wollen die guten Leute aber ans Ziel kommen. Entsprechend müssen Wegweiser und Schilder aufgestellt werden, sodass keiner seinen Zug verpasst.
Im unteren Teil der News findet ihr einige Trailer zum Spiel, sowie mein Review. Bis dato habe ich schon die eine oder andere Stunde in STATIONflow verbracht und bin durchaus angetan.

Related Links

Portal Dogs - Gewinnspiel Erinnerung

Erstellt am event 28.05.2020 - 17:30 Uhr von account_circle Boehrsi in label Gaming
Portal Dogs - Gewinnspiel Erinnerung Bild

An dieser Stelle eine kleine Erinnerung an das aktuelle Gewinnspiel zum Puzzle / Jump & Run Portal Dogs. Noch bis zum 31.05.2020 habt ihr Zeit einen von zehn Key für Android oder Steam abzustauben.
Dafür reicht der gewohnte Kommentar unter der hier verlinkten News und etwas Glück, schon habt ihr vielleicht bald etwas Neues zum Zocken. Der verlinkte Beitrag beinhaltet auch das eine oder andere Video zum Spiel, sowie mein Review des Indie Titels.

Related Links

Flutter App Development - Teil 5 - RSS Feed Formular

Erstellt am event 23.05.2020 - 11:30 Uhr von account_circle Boehrsi in label Development
Flutter App Development - Teil 5 - RSS Feed Formular Bild

Nachdem es durch die Neuinstallation des Servers und diverse andere Themen mal wieder ein paar Verzögerungen gab, geht es nun weiter mit meiner kleinen Futter Tutorialreihe. Heute gehe ich auf das Formular ein, welches das Hinzufügen und Bearbeiten von RSS Feeds erlaubt.
Ich werde heute lediglich eine Klasse beleuchten, da ich das Gefühl habe in anderen Beiträgen wurde etwas viel auf einmal erläutert. So hoffe ich etwas nachvollziehbarere Erklärungen liefern zu können. Wie gesagt ist auch für mich diese umfangreiche Tutorialreihe etwas Neues und zugleich ist sie sehr aufwendiges. Ich versuche entsprechend direkt während der Erstellung und wenn ich mir meine eigenen Beiträge später noch einmal anschaue, Dinge zu optimieren.
Doch nun zum eigentlichen Thema, dem Verwalten der RSS Feeds über ein Formular in Flutter, inklusive simpler Validierung der Eingaben und Übergabe der Daten an unseren BloC.

Related Links

Portal Dogs - Review und Gewinnspiel

Erstellt am event 19.05.2020 - 09:00 Uhr von account_circle Boehrsi in label Gaming
Portal Dogs - Review und Gewinnspiel Bild

Heute gibt es mal wieder etwas Besonderes, denn ich hatte die Chance ein Spiel für den PC und Android anzuspielen und darf euch heute mein Review dazu präsentieren. Die Jungs von Brain Connected kenne ich bereits aus meiner Studienzeit und entsprechend freue ich mich heute sehr ihr Indie-Spiel Portal Dogs testen zu dürfen. Das Spiel wurde mir für den Test kostenlos zur Verfügung gestellt.
Falls ihr übrigens Interesse an einem kniffligem Puzzle / Jump & Run habt, solltet ihr dran bleiben. Es gibt 10 Keys für Portal Dogs zu gewinnen, welche ihr mittels eines einfachen Kommentars unter dieser News und etwas Glück abstauben könnt.
Doch was ist Portal Dogs eigentlich genau? Im Prinzip handelt es sich um ein Jump & Run, welches allerdings eher auf puzzeln und Logik ausgelegt ist, als auf Schnelligkeit. Ihr startet mit einem Portal Dog und versucht durch die verschiedenen Level zu kommen. Unterwegs könnt ihr allerdings auch andere Dogs aktivieren, welche sich dann simultan zu eurem Hauptcharakter steuern lassen. Nun gibt es verschieden Ausgänge für verschiedene Dogs, diverse Power-Ups und allerhand andere Dinge, die ihr erst einmal logisch verbinden müsst. Am Ende hat man einen komplexen Puzzler, mit einem Hauch Lemmings und sehr schön gemachten Animationen.
Nun zu meinem eigentlichen Review, welches ich wie gewohnt mit dem Sound und der Grafik beginne. Wir haben hier einen 2D Titel mit handgemachten Grafiken und Animationen. Mir persönlich gefällt der Stil durchaus gut, denn er unterstreicht die sympathische Tollpatschigkeit der Figuren, während er gut zum generellen Genre passt. Auch im Audiobereich hat man ein schönes, zum Titel passendes Theme gewählt. Etwas Hintergrundmusik, kombiniert mit den allseits beliebten Sprung-, Aktivieren- und Sterben-Sounds und schon fühlt man sich zuhause. Ein gutes Gesamtkonzept für ein Indie-Spieler dieser Art.

Related Links

Flutter App Development - Teil 4.2 - Main und RSS-Feed-Logik

Erstellt am event 04.05.2020 - 20:30 Uhr von account_circle Boehrsi in label Development
Flutter App Development - Teil 4.2 - Main und RSS-Feed-Logik Bild

Aufgrund der Länge des Beitrags habe ich diesen Abschnitt des Tutorials noch einmal aufgeteilt. Die erste Hälfte (Main Logik) findet ihr hier.

Nachdem wir nun die App initial laden können, geht es weiter mit der Liste der RSS Feeds. Dieser Bereich besteht bei mir aus fünf Dateien. Im feed_list Package open_in_new befinden sich die feed_list.dart open_in_new, feed_list_barrel.dart open_in_new, feed_list_bloc.dart open_in_new, feed_list_change.dart open_in_new und feed_list_events_states.dart open_in_new. Der Aufbau ist sehr ähnlich unserem Main Konstrukt, mit einer weiteren Datei, welche das Hinzufügen, Bearbeiten und Löschen über die UI ermöglicht. Die Event / State Datei (lib/feed_list/feed_list_events_states.dart open_in_new) und die Barrel Datei (lib/feed_list/feed_list_barrel.dart open_in_new) wird im Folgenden nicht weiter erläutert, da sie trivial sind.
Beginnen werden wir nun mit dem FeedListBloc. Dieser könnte als Herzstück der App bezeichnet werden, da er sowohl die RSS Feeds verwaltet, wie auch Updates aller Feeds durchführen kann. Die gesamte App arbeitet dabei mit nur einem FeedListBloc, welcher bereits in der lib/main.dart open_in_new erstellt und mittels eines Providers darunterliegenden Strukturen zur Verfügung gestellt wird. Damit kann sichergestellt werden, dass keine unnötigen Objekte erzeugt werden oder aber falsche States aktualisiert werden.

Related Links

Flutter App Development - Teil 4.1 - Main und RSS-Feed-Logik

Erstellt am event 04.05.2020 - 20:00 Uhr von account_circle Boehrsi in label Development
Flutter App Development - Teil 4.1 - Main und RSS-Feed-Logik Bild

Nun geht es in die vollen, denn heute bauen wir unsere erste richtige Logik. Am Ende des vierten Teils dieser Tutorialreihe soll die initiale Logik zum Start der App und die RSS Feed Logik implementiert sein. Zur Umsetzung erstellen wir den MainBloc (lib/main/main_bloc.dart open_in_new), der die Datenbank lädt und später z.B. das Laden der Konfiguration übernehmen kann. Sobald dieser Vorgang abgeschlossen ist, sollen alle RssFeed Objekte mit Hilfe des FeedListBloc (lib/feed_list/feed_list_bloc.dart open_in_new) aus der Datenbank geladen werden.
Damit die Datenbank auch mit Inhalt gefüllt ist, soll es über die UI möglich sein einen neuen Feed anzulegen. Sowohl für das Laden der RssFeeds, wie auch für das Hinzufügen wird der FeedListBloc genutzt. Außerdem erstellen wir geeignete Widgets zur Darstellung der Liste (lib/feed_list/feed_list.dart open_in_new) und des Formulars (lib/feed_list/feed_list_change.dart open_in_new), wobei letzteres im nächsten Teil der Reihe umgesetzt wird.
In diesem Zuge habe ich auch eine kleine Umbenennung vorgenommen, denn unser RssList Widget (nun FeedList Widget) und alle damit verwandten Klassen, befinden sich nun im FeedList Kontext open_in_new (Namen und Pakete). Dieser Name gefiel mir einfach besser und ist gleichzeitig kürzer und deutlicher. Die Bezeichnung für den Typ bleibt allerdings unverändert bei RssFeed.

Damit das Verstehen der folgenden Schritte leichter fällt, beginne ich mit einem schnellen Einblick in das BloC Konzept. Ich empfehle euch allerdings die offizielle Dokumentation open_in_new zum Thema anzuschauen, wenn ihr das Ganze aktiv nutzen wollt. Sie ist übersichtlich, gut gemacht und bietet außerdem diverse gute Beispiele.
BloC oder auch Business Logic Components ist mein aktuell favorisierter Weg, um Logik von UI und wiederum von Daten zu trennen. Dafür wird sehr intensiv auf das Konzept von Streams open_in_new gesetzt. Ein BloC interagiert immer mit zwei Streams, einem für den Input (Events) und einen für den Output (States), dabei sollte jedes Event zu mindestens einem passenden State führen. Im konkreten Library Kontext wird dafür die mapEventToState() open_in_new Methode genutzt. Sofern ihr einen BloC erstellt und Bloc open_in_new erweitert, müsst ihr sowohl die akzeptierten Events dieses BloC, wie auch die dazugehörigen States angeben. Diese definiert man meist in einer gesonderten Datei, wodurch ein übersichtlicher klarer Rahmen von erlaubten Eingaben und Ausgaben definiert wird.
Events können von der UI, z.B. durch einen Tap auf einen Button, kommen oder aber von anderen BloCs, bzw. tieferliegenden Komponenten. States werden vom BloC erzeugt und meist von der UI verarbeitet und führen zu automatischen Anpassungen von selbiger. Allerdings können auch andere BloCs auf State Änderungen hören und entsprechend Aktionen durchführen. Es ist außerdem erlaubt im Laufe der Verarbeitung mehrere States zu liefern. So macht es bei längeren Aktionen zum Beispiel Sinn, am Anfang einen Loading State zu übergeben und nach Abschluss einen State der die finalen Daten zurückgibt.
Entsprechend gibt es verschiedene Quellen für Events und verschiedene Ziele für States, auch mehrere gleichzeitig sind möglich. Streams bieten hier viele Freiheiten und Flexibilität, es ist allerdings extrem wichtig alles ordentlich zu dokumentieren und klare Flows zu etablieren. Denn mit großer Flexibilität kommt sonst großes Chaos.

Related Links
format_list_numbered  Seite 1 Nächste navigate_next