Die App

Ein RSS-Reader programmiert mit Swift!

Blogs gehören für viele Leute zu den Hauptquellen für neue und aktuelle Informationen. Ob ein Nutzer sich nun für technische Themen oder Schnäppchen interessiert, spielt keine Rolle. Es gibt Blogs für alle Themengebiete. Was liegt da näher, als sich eine Liste der favorisierten Blogs zu erstellen und so eine eigenst angepasste Nachrichtenvielfalt zu erhalten? Eine Möglichkeit wäre da, die Adressen der einzelnen Blogs als Lesezeichen im Browser zu speichern. Einfacher wäre es allerdings die gewünschten Websites in einer App dynamisch zusammenzufassen und so ein unkompliziertes Lesen der zusammengestellten Nachrichten zu ermöglichen. Aus diesem Grund bieten die meisten Blogs auch einen RSS-Feed an.

Die App RSSIt ist ein solcher RSS-Reader. Von vielen Leuten als das „Hello World“ der App-Entwickler bezeichnet, bietet sich der Funktionsumfang an, um die Themen „Datenserialisierung & Internetzugriff“ zu verdeutlichen.

Bei der hier vorgestellten App, bekommt der Nutzer auf der ersten Seite eine Liste aller abonnierten Websites angezeigt. Diese Liste wird dynamisch von einem Server bezogen. Beim Start der App wird dieser Server abgefragt und liefert die abonnierten Websites als JSON-Array an die App zurück. Diese parsed dann das erhaltene Ergebnis und stellt es in einer Tableview dar. Zu sehen ist dieser Vorgang im ersten Screenshot.

Will ein Nutzer nun eine neue Seite hinzufügen, muss der Button „Add Website“ oben rechts betätigt werden. Dieser Vorgang ist im zweiten Screenshot verdeutlicht. Hier besteht nun die Möglichkeit einen Titel und die entsprechende URL zum RSS-Feed anzulegen. Wird der Eintrag mit „Done“ bestätigt, synchronisiert die App diesen augenblicklich mit dem Server und leitet den Nutzer wieder auf die Seite mit den abonnierten Websites zurück.

Zum aktualisieren der Ergebnisse wurde eine „Pull-to-Refresh“-Funktion eingebaut. Zieht der Nutzer die Liste nach unten, werden die Websites augenblicklich mit dem Server abgeglichen. Soll eine Website gelöscht werden, muss der entsprechende Eintrag lediglich mit einer Wischbewegung nach links bewegt werden. Dann erscheint der für iOS typische „Delete“-Button. Wird dieser betätigt, wird der Eintrag sowohl vom Gerät als auch vom Server entfernt.

Sobald eine Website ausgewählt wird, erscheint ein Lade-Spinner und das Gerät lädt in einem Hintergrund-Thread den entsprechenden RSS-Feed und parsed die Elemente in entsprechende Objekte um diese darzustellen. Auch diese Seite kann mittels „Pull-to-Refresh“ aktualisiert werden. Im dritten Screenshot kann die Ansicht betrachtet werden.

Wird nun ein Artikel ausgewählt, öffnet sich eine Webview, die den entsprechenden Inhalt darstellt.

Mit der App RSSIt wurde nun also ein RSS-Reader implementiert, welcher die angelegten Klassen als XML und JSON serialisieren kann und die Kommunikation mit dem Internet über Hintergrund-Threads abwickelt.

Hilfreiche Links

Weitere nützliche Seiten zum Thema finden sich unter den folgenden Links.