Argotic Syndication Framework v. System.ServiceModel.Syndication
-
18-09-2019 - |
Pergunta
Estou investigando o Argotic Syndication Framework , e eu estou muito impressionado até agora. No entanto, um monte da implementação atual - pelo menos por RSS e Atom-- parecem bastante comparável System.ServiceModel.Syndication . Alguém tem alguma opinião a respeito de um sobre o outro?
Solução
Aqui está a minha perspectiva, depois de ter seguido dois caminhos:
System.ServiceModel.Sydication
- é de cerca de 9 vezes mais rápido do que Argotic
- não tem suporte rdf
- não tem suporte para versões átomo <1
- não tem suporte para versões RSS <1
- falha com XmlException em cerca de 30% dos alimentos que dou no "do selvagem" (este é o disjuntor do negócio para mim)
Argotic
- não foi atualizado desde 02 de julho de 2008
- é lenta (ver acima)
- tem suporte muito bom para todos os tipos de feeds: toda a versão do átomo, rss, rdf (tanto quanto eu posso dizer)
- é um pouco mais difícil de usar do que System.ServiceModel.Sydication; é preciso determinar que tipo de alimento que você tem antes de deixar Argotic analisá-lo, e então você precisa lógica personalizada para lidar com cada uma das 3 classes diferentes dependendo do tipo de alimentação. Em outras palavras, você precisa envolvê Argotic antes que seja útil.
Outras dicas
Se tudo que você precisa é RSS e Atom, eu iria com System.ServiceModel.Syndication. Restrição de tudo o resto, há um benefício significativo para usando o framework .NET em alternativas de código aberto: A familiaridade. Se você optar por usar a estrutura Argotic, isso é outro componente de terceiros que novas adições à sua equipe de desenvolvimento vão ter de aprender (ou outra habilidade que você terá que procurar em seus candidatos potenciais.) Se você optar por usar o solução .NET Framework, você tem a piscina potencial de milhões de programadores à sua disposição, que provavelmente já sabem disso. Mesmo se eles não sabem System.ServiceModel.Syndication, segue os mesmos padrões consistentes como o resto do framework .NET, que ainda fornece um elemento de familiaridade com a maioria dos desenvolvedores .NET.
Enquanto OSS muitas vezes pode oferecer algumas opções intrigantes para áreas problemáticas nitch, quando se trata de áreas problemáticas comuns, não subestime o valor de familiaridade e onipresença. Uma paleta diversificada de quadros geralmente significa um muito mais íngreme curva de novas adições para uma equipe de desenvolvimento de aprendizagem, maior custo de integração entre frameworks, versionamento e questões de segurança, etc., etc.