私はArgotic Syndication Frameworkを調査していますが、これまでのところかなり感銘を受けています。ただし、現在の実装の多く (少なくとも RSS と Atom の場合)は、 System.ServiceModel.Syndicationにかなり匹敵するようです。どちらか一方について意見がある人はいますか?
2 に答える
両方の道をたどった後の私の見解は次のとおりです。
System.ServiceModel.Sydication
- Argotic よりも約 9 倍高速です。
- rdf をサポートしていません
- Atom バージョン < 1 はサポートされていません
- 1 未満のバージョンの RSS はサポートされていません
- 「野生から」提供するフィードの約 30% で XmlException で失敗します (これは私にとって契約を破るものです)
アルゴティック
- 2008 年 7 月 2 日以降更新されていません
- 遅い(上記参照)
- すべてのタイプのフィードを非常に適切にサポートしています: atom、rss、rdf のすべてのバージョン (私が知る限り)
- System.ServiceModel.Sydication よりも少し使いにくいです。Argotic に解析させる前に、フィードの種類を特定する必要があります。次に、フィードの種類に応じて 3 つの異なるクラスのそれぞれを処理するカスタム ロジックが必要です。言い換えれば、Argotic を有効にする前にラップする必要があります。
RSS と Atom だけが必要な場合は、System.ServiceModel.Syndication を使用します。他のすべてを除けば、.NET フレームワークを使用することには、オープン ソースの代替手段よりも大きな利点が 1 つあります。それは、親しみやすさです。Argotic フレームワークを使用することを選択した場合、それは、開発チームに新たに追加された人が学習する必要がある別のサードパーティ コンポーネントです (または、潜在的な候補者で探す必要がある別のスキルです)。 .NET Framework ソリューションを使用することで、何百万人ものプログラマーを自由に使用できる可能性があり、おそらく既にそれを知っているでしょう。System.ServiceModel.Syndication を知らなくても、残りの .NET フレームワークと同じ一貫した標準に準拠しているため、ほとんどの .NET 開発者にとってなじみ深い要素となっています。
OSS はニッチな問題領域に対していくつかの興味深いオプションを提供することがよくありますが、一般的な問題領域に関しては、親しみやすさと遍在性の価値を過小評価しないでください。フレームワークの多様なパレットは、一般に、開発チームへの新規追加の学習曲線がはるかに急勾配であること、フレームワーク間の統合、バージョン管理、セキュリティの問題などのコストが高いことを意味します。