Atom é melhor do que RSS, em aspectos que importam
Atom é amplamente visto como uma alternativa tecnicamente mais limpa e consistente ao RSS para feeds da web, especialmente ao lidar com HTML, codificação de caracteres e metadados sem ambiguidade, embora o RSS continue dominante por inércia e suporte legado (notavelmente em podcasts). Comentadores observam que a maioria dos leitores de feeds modernos suporta ambos de forma transparente, que poucos usuários finais se importam com a distinção e que opções mais novas como JSON Feed podem ser mais práticas para desenvolvedores. A conversa também aborda detalhes de implementação, como armazenar dados de feeds em bancos de dados, estratégias de polling e atualização, e os problemas de permitir HTML rico (como código ou ênfase) em títulos.
Atom vs RSS: Méritos Técnicos
- Muitos argumentam que Atom é estritamente melhor especificado e menos ambíguo do que RSS, especialmente para codificação, timestamps e conteúdo misto.
- Atom lida com
</&em títulos de forma limpa e suporta resumos além de conteúdo completo; isso evita bugs de codificação vistos em feeds RSS do mundo real. - Críticos observam que a correção XML do Atom pode ser “irritante” (por exemplo, XHTML vs HTML5, links auto-referenciais absolutos obrigatórios), mas defensores dizem que o parsing XML adequado torna isso direto.
- Alguns apontam que o RSS tem várias versões incompatíveis, minando alegações sobre sua vantagem de “compatibilidade retroativa”.
Adoção, Nomeação e “Pior é Melhor”
- Padrão comum: tudo é coloquialmente chamado de “RSS”, mesmo quando o feed subjacente é Atom.
- Vários comentaristas comparam RSS vs Atom a VHS vs Betamax ou “pior é melhor”: o tecnicamente inferior, mas anterior e mais simples, vence. Outros contestam que o VHS tenha sido realmente pior.
- Uma visão: pouquíssimas pessoas usam quaisquer feeds agora (em relação a todos os usuários da internet). Outra: os números absolutos de usuários de RSS/Atom podem ser maiores do que nunca, ainda que sejam uma pequena fração da população web de hoje.
Preocupações de Desenvolvedores: Parsing e Armazenamento
- Conselho prático:
- Para um leitor, faça parsing dos feeds e armazene campos normalizados (título, autor, datas, conteúdo) em colunas.
- Armazene também o XML bruto (por exemplo, uma coluna text/XML, ou em armazenamento blob mais barato) para permitir reprocessamento caso a lógica mude.
- Use GUIDs para detectar itens novos/atualizados; não apague os ausentes só porque desaparecem do feed.
- Ao fazer polling, use HTTP HEAD para verificar se o conteúdo mudou antes do GET; WebSub pode fornecer push para alguns feeds.
- Alguns observam que muitos feeds são gerados por scripts frágeis e legados, causando XML/HTML malformado e bugs de codificação.
Títulos, HTML e Consistência da UI
- Um lado: permitir HTML (especialmente
<code>,<em>) em títulos é semanticamente útil e já é suportado pelo Atom. - Outro lado: títulos aparecem em listas; variações de formatação e sanitização de HTML tornam as UIs confusas e complexas. Eles argumentam que títulos deveriam se comportar como
<title>em HTML (texto simples). - Há preocupação com subconjuntos inconsistentes de HTML permitido e com problemas de segurança/sanitização.
Formatos Alternativos: JSON Feed, ActivityPub, Fediverse
- Vários expressam preferência por JSON Feed: mais simples, sem XML, campos pragmáticos (favicon/icon), projetado do ponto de vista do leitor.
- Outros gostam de Atom, mas reconhecem que a ferramenta JSON é hoje mais ubíqua.
- ActivityPub/Fediverse é mencionado brevemente como “a nova coisa”, mas os detalhes não são discutidos em profundidade.
Miscelânea
- Podcasts são destacados como um domínio ainda fortemente ligado ao RSS 2.0 mais extensões personalizadas; algumas grandes plataformas de podcast explicitamente abandonaram ou nunca suportaram totalmente Atom.
- Alguns usuários querem modelos mais “ativos” ou orientados a push (por exemplo, semelhantes a POP3, WebSub, conceitos local-first/fediverse) em vez de polling constante.
- Há o desejo de indicadores padronizados de “completo vs parcial” em feeds e de feeds de comentários de usuários no HN.