Help us understand the problem. What is going on with this article?

RSSについて

iOSアプリで自分好みのRSSリーダーが欲しくなり、作ろうと思ったのですがそもそもRSSとは何だっけ?ということになり1から調べ直しました。

RSSとは

ニュースやブログなど各種のウェブサイトの更新情報を配信するための文書フォーマットの総称である。
※Wikipediaより抜粋

また、RSSという名前自体にも複数の意味解釈がありました。

RDF Site Summary

ファイル拡張子が.rdfとなっているもの。全体がrdf要素(<rdf>~</rdf>)で囲まれていることからも分かります。系統としてはRSS0.9→1.0系に分類されます。

Really Simple Syndication

ファイル拡張子が.rssまたは.xmlとなっているもの。RDFとは異なる体型で発展していったものです。系統としてはRSS2.0系に分類されます。

ATOM

ファイル拡張子が.xmlとなっているもの。RSSと同じ目的で異なるデータ形式で記述されたものという解釈でいいと思います。ATOMもRSSとして総称されることが多いようです。

フィードリーダー

フィードリーダー(feed reader)、またはフィード・アグリゲーター(feed aggregator)は、
ブログやポッドキャスト、ニュースサイトなどが配信するフィードを取得・購読するための
アプリケーションソフトウェアの総称。フィードのファイルフォーマットとしてRSSが先行していたことから、
現在でも「RSSリーダー」と呼ばれることが多い。
※Wikipediaより抜粋

以上のことからRSSには様々なフォーマットがあるので、リーダーを作るためには様々なフォーマットに対応したParserを実装する必要がありそうでした。

iOSでのRSSリーダー

今まで調べたことから、これからiOSアプリにおいてRSSリーダーを作る場合にはRSS1.0, RSS2.0, ATOMそれぞれのデータフォーマットに対応したParserを作ってあげる必要がありそうです。
自分で一から作るのもいいですが、車輪の再発明をしてもしょうがないなと思い、ライブラリがないか探してみました。するとやはりすでによさげなものがありました。

FeedKit

https://github.com/nmdias/FeedKit
RSS, ATOM, JSONに対応したFeed Parserです。
このライブラリの中身を読んでいて驚いたのが、データ取得をするのにURL Sessionなどの一般的なデータ転送処理が一切書かれていませんでした。
データの取得には

data = try Data(contentsOf: sanitizedSchemeUrl)

これだけです!賢い!

参考

https://ja.wikipedia.org/wiki/RSS
https://oshiete.goo.ne.jp/qa/3951173.html
https://www.nishishi.com/blog/2006/02/rss_rdf_xml.html
http://e-words.jp/w/RSS.html
http://e-words.jp/w/RSS%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89.html

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした