JavaScriptでシンプルなRSSウィジェットを作成する
RSSは誕生して20年以上が経過していますが、ニュース、ブログ、ポッドキャストを共有するための主要な手段であり続けています。
多くの開発者がRSSフィードを表示するために重いフレームワークを使用していますが、それらは必要ありません。RSSは単なるXMLです。ブラウザはXMLをネイティブに読み込むことができます。
バニラJavaScriptとCSSだけで、クリーンでレスポンシブなRSSウィジェットを構築できます。
仕組み:
- Fetch APIを使用してXMLデータを取得します。
- DOMParserを使用して、そのXMLを読み取り可能なドキュメントに変換します。
- アイテムをループして、タイトル、リンク、説明を抽出します。
- データをカードのグリッドとしてレンダリングします。
よくある問題はCORSです。サーバーがリクエストをブロックすると、ブラウザがそれを停止させます。これは、allorigins.winのようなプロキシを使用することで解決できます。プロフェッショナルなプロジェクトでは、Cloudflare Workerを使用してリクエストを処理してください。
このアプローチの主な特徴:
- npmのインストールや外部ライブラリは不要です。
- ファイルサイズが小さく、読み込みが高速です。
- 標準的なRSS 2.0フィードであればどれでも動作します。
- カテゴリフィルターの追加も簡単です。
次の機能を追加することで、このウィジェットを拡張できます:
- コンテンツを最新に保つための自動更新。
- 特定の投稿を見つけるための検索バー。
- データをキャッシュするためのLocal storage。
- CSS変数を使用したダークモード対応。
ネイティブAPIが完璧に動作するのに、重いツールに頼るのはやめましょう。
出典: https://dev.to/debate_me_af4b65ae011518f/build-a-simple-rss-feed-widget-in-vanilla-javascript-1803