Вопрос

Я расследую Арготическая система синдикации, и я пока очень впечатлен.Однако большая часть текущей реализации — по крайней мере, для RSS и Atom —кажутся вполне сопоставимыми к System.ServiceModel.Syndicate.Есть ли у кого-нибудь какие-либо мнения относительно одного по сравнению с другим?

Это было полезно?

Решение

Вот моя точка зрения после того, как я пошел по обоим путям:

System.ServiceModel.Sydiction

  • примерно в 9 раз быстрее, чем Argotic
  • нет поддержки rdf
  • не поддерживает версии атома < 1
  • не поддерживает версии RSS < 1
  • завершается сбоем с XmlException примерно в 30% каналов, которые я даю «из дикой природы» (для меня это является препятствием)

Арготический

  • не обновлялся со 2 июля 2008 г.
  • медленный (см. выше)
  • имеет очень хорошую поддержку всех типов каналов:все версии атома, rss, rdf (насколько я могу судить)
  • использовать немного сложнее, чем System.ServiceModel.Sydiction;вам необходимо определить, какой тип канала у вас есть, прежде чем позволить Argotic его анализировать, а затем вам нужна специальная логика для работы с каждым из трех различных классов в зависимости от типа канала.Другими словами, вам нужно обернуть Argotic, прежде чем он станет полезным.

Другие советы

Если все, что вам нужно, это RSS и Atom, я бы выбрал System.ServiceModel.Syndicate.За исключением всего остального, у использования платформы .NET есть одно существенное преимущество перед альтернативами с открытым исходным кодом:Знакомство.Если вы решите использовать платформу Argotic, это еще один сторонний компонент, который придется изучить новым сотрудникам вашей команды разработчиков (или другой навык, который вам нужно будет искать в своих потенциальных кандидатах). .NET Framework, в вашем распоряжении потенциальный пул из миллионов программистов, которые, скорее всего, уже знают это решение.Даже если они не знают System.ServiceModel.Syndicate, он соответствует тем же последовательным стандартам, что и остальная часть платформы .NET, которая по-прежнему обеспечивает элемент знакомства для большинства разработчиков .NET.

Хотя OSS часто может предложить некоторые интригующие варианты решения проблемных областей, когда дело доходит до общих проблемных областей, не стоит недооценивать ценность знакомства и повсеместности.Разнообразная палитра фреймворков обычно означает гораздо более сложную кривую обучения для новых членов команды разработчиков, более высокую стоимость интеграции между фреймворками, проблемы управления версиями и безопасностью и т. д.и т. д.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top