Am Puls von Microsoft

DrWndR: Wir basteln uns mit GitHub Actions und Xamarin.Forms heiße News zum Swipen

DrWndR: Wir basteln uns mit GitHub Actions und Xamarin.Forms heiße News zum Swipen

Es ist wieder diese Zeit des Jahres, in welcher man mehr dem Schneeregen beim Fallen zusieht, als sich selbst im Freien zu betätigen. Für mich begann mit dem Winterurlaub auch die Zeit der „schnellen und glücklich machenden“-Projekte, welche keinen tieferen Sinn erfüllen müssen, sondern einfach aus einem spontanen Hirngespinst aus Spaß an der Freude entstehen.

Deswegen gibt es nun eine erste Version von DrWndr (GitHub). Eine Tinder-eske App, wo nicht Menschen wie Dinge von links nach rechts gewischt werden, sondern unsere genauso anziehenden Artikel. Dir gefällt eine News von Dr. Windows nicht? Tja, wische nach rechts und weg ist sie.

Erfassen wir die Daten? Nein. Wird das irgendwie gespeichert? Nope, auch hier alles nur flüchtig zur Laufzeit. Bringt das dann überhaupt irgendetwas? Nein. Ihr seht also, es ging hier mehr um „wie könnte man eigentlich X umsetzen“ verbunden mit ein wenig Bastelei. Was ein schöner Zeitvertreib.

Einen Überblick über alle von Dr. Windows gebastelten Entwicklerprojekte findet ihr als entsprechende Forks auf unserem GitHub Account @drwindows.

Rohdatensammeln mit GitHub Actions

Da die App mehr Daten haben sollte als das, was ich über unseren RSS-Feed abrufen konnte, habe ich mir auf GitHub einen Action Workflow geschrieben, welcher alle sechs Stunden den aktuellen Feed lädt, lesbar umbenennt und in mein GitHub Repository „github-actions-download-feed“ hochlädt. Alles in Absprache mit Martin.

Rohdaten sind immer gut. Nur sind sie ohne eine Auswertung und Post Processing nutzlos. Aus diesem Grund gibt es das C# Konsolen-Projekt „WndR.Converter“ innerhalb der Visual Studio Solution für die App. In diesem kleinen Programm lese ich jede einzelne XML-Datei (Wiki) ein, verarbeite dessen Inhalte, bereite diese auf und erzeuge am Schluss eine große JSON-Datei (Wiki), welche als lokale Datenquelle für die eigentliche App dient.

Mit Xamarin.Forms werden Daten erst sichtbar

Da nun unsere Rohdaten zu nutzbaren Daten umgewandelt wurden, fehlt noch ein weiterer elementarer Schritt: Die Visualisierung, also die aufbereiteten Daten sichtbar zu gestalten.

Wie auch sonst bei unseren Dr. Windows Projekten dient hier Xamarin.Forms als Grundlage, um mit demselben Quelltext neben Android- auch iOS-Apps aus Visual Studio (for Mac) herauspurzeln zu lassen.

Da der Grundgedanke der App sich stark an die Dating-Plattform „Tinder“ anlehnt, ich jedoch für ein schnelles Bastelprojekt nicht extra die so typische „Swipe“-Karte selbst implementieren wollte, nutzte ich eine externe Abhängigkeit namens „SwipeCardView“ von dem Entwickler Marko Lazic. Wie so oft findet ihr mehr Informationen dazu im entsprechenden Repository auf GitHub.

DrWndR Oberflächenanimation

Diesmal mit etwas mehr Schmerzen

Im Gegensatz zu unseren vorherigen Xamarin.Forms Wochenendprojekten wie „Road To Surface Duo“ oder „Happy News mit Azure“ gab es diesmal doch etliche Schmerzen. Dies führt im Moment des Erstellzeitpunkt dieses Beitrages dazu, dass die iOS Version keine Bilder aus dem Web anzeigt – trotz validen https Handshakes. Auch sonst musste ich mich erst wieder daran gewöhnen, in den XAML-Dateien, mit denen man die Oberfläche beschreibt, keine Autovervollständigung der Daten Bindings zu haben. Außerdem haben im Auslieferungszustand Visual Studio for Mac und Windows augenscheinlich unterschiedliche Standard-Auto-Formatierungseinstellungen. Dies kann jedoch auch am fehlenden Wissen meinerseits liegen, ich bin für hilfreiche Ratschläge in den Kommentaren oder im Repository via dessen Issues sehr dankbar.

Jede/r ist eingeladen mitzuwirken

Das Projekt liegt wie immer zur freien Verfügung auf GitHub bereit. Schaut es euch an, baut daran weiter, habt Spaß mit der neuen Technik! Zum Kompilieren benötigt ihr nur ein kostenfreies Visual Studio. Da dies eine Xamarin Applikation ist, muss zusätzlich noch über den Installer die entsprechende Xamarin-Erweiterung installiert werden.

Da wie geschrieben die iOS-Variante noch nicht so möchte, wie ich das gerne hätte und auch das SwipeState-Handling (dass sich die Karten je nach „like“ oder „dislike“ im Aussehen ändern) noch nicht funktioniert, wäre auch dies ein guter Einstieg für Interessierte.

So oder so freue ich mich über jegliche Beteiligung am Projekt, egal in welcher Art auch immer.

Bitte beachtet

Wie auch sonst bei unseren Bastelprojekten auf Dr. Windows handelt es sich auch bei diesem hier um eine Machbarkeitsstudie. Sie ist weder fehlerfrei noch ideal und sollte somit in keiner Weise außerhalb einer Beispiel- und Lernumgebung eingesetzt werden.

In diesem Falle ist sie sogar bisher nicht einmal funktions-vollständig da ich einfach noch nicht weiß, welche Funktionen die App noch brauchen könnte.

Über den Autor

Tobias Scholze

Tobias Scholze

Bayrischer Open Source- und Community-Enthusiast, Verfechter des neuen Microsoft und Wandler zwischen den Betriebssystemwelten. #communityrocks Von Herzen ein Nerd mit der festen Überzeugung, dass man gemeinsam und durch den Einsatz von moderner IT die Welt für jeden ein Stückchen besser machen kann.

Anzeige