Atom лучше RSS не из принципа, блогер разобрал, где это действительно важно
Автор (имя в тексте не указано) публикует черновик на своём блоге chrismorgan.info и утверждает: специалисты единодушны в том, что Atom технически превосходит RSS, и переход должен был случиться ещё двадцать лет назад. По его мнению, большинство привычных претензий к RSS, неудобный формат даты, путаница с девятью взаимно несовместимыми версиями формата от разных организаций, неоднозначность кодирования содержимого, на практике не мешают, потому что индустрия давно негласно договорилась считать содержимое RSS обычным HTML.
Но два отличия автор называет содержательными. Первое, заголовки. В RSS нельзя надёжно использовать в заголовке символы < и & или разметку вроде <code>/<em>: формат не определяет, как кодировать содержимое заголовка, и разные читалки лент обрабатывают это по-разному. В Atom для этого есть отдельный механизм, «текстовая конструкция» (text construct): у заголовка можно явно указать тип text (разметка отбрасывается и текст экранируется), html (разметка сохраняется и кодируется как сущности) или xhtml (разметка представлена как настоящий XML). Второе отличие автор обозначает как разделение краткой версии записи (summary) и полной (full item), и почти сразу признаётся, что забыл третье отличие, которое собирался привести, и обещает добавить его позже.
Отдельно автор разбирает подкасты как единственную зону, где RSS всё ещё побеждает. Почти все читалки лент и open-source библиотеки последних двадцати лет поддерживают и RSS, и Atom, но крупнейшие подкаст-приложения и агрегаторы, только RSS. Автор восстанавливает грубую хронологию: сначала появились подкасты, RSS 2.0 получил enclosures для аудиофайлов, следом появился и стабилизировался Atom (позже закреплённый как RFC 4287), но Apple выпустила поддержку подкастов в iTunes только для RSS. Поддержка Atom позже появилась в клиенте iTunes, но не в самом iTunes Music Store (позже, каталоге Apple Podcasts); по данным автора, чёткого подтверждения, что эта поддержка вообще была на стороне магазина, найти не удалось, а то немногое, что могло существовать, убрали в 2023 году. Вывод автора: в критический для рынка момент Apple контролировала пространство подкастов и, по его формулировке, «испортила» его для Atom, и часть читалок и агрегаторов подкастов до сих пор либо не поддерживает Atom вовсе, либо заявляет поддержку, которой на деле нет.
Ключевые факты
- Автор черновика на chrismorgan.info утверждает: специалисты сходятся на том, что Atom технически превосходит RSS, и переход должен был произойти ещё 20 лет назад
- Главная реальная проблема RSS, заголовки: символы
<и&и разметку в них нельзя закодировать надёжно, потому что формат не определяет для заголовков семантику кодирования - В Atom для этого есть «текстовая конструкция» с явными типами text/html/xhtml, применимая в том числе к заголовкам
- Исключение, подкасты: крупнейшие подкаст-приложения и агрегаторы поддерживают только RSS; автор винит в этом Apple, чья поддержка Atom в iTunes/Apple Podcasts (если вообще существовала) была снята в 2023 году
- Автор признаётся, что забыл третье важное отличие RSS и Atom, которое собирался привести в посте, и обещает вернуться к нему позже
Почему это важно
Спор RSS против Atom обычно сводят к вкусовщине и историческому упрямству. Автор поста настаивает: у большинства придирок к RSS (дата, версии, XML-неряшливость) на практике нет последствий, потому что сообщество давно де-факто их решило. Но с заголовками так не вышло: RSS не определяет, как кодировать в них разметку и спецсимволы, поэтому один и тот же заголовок с <code> или & разные читалки лент могут показать по-разному или сломать. Atom закрывает этот пробел явным указанием типа содержимого заголовка.
Кому это важно
Тем, кто пишет или встраивает ленты в CMS и хочет, чтобы заголовки статей могли содержать код, курсив или спецсимволы без риска сломаться в части читалок. А также разработчикам самих читалок лент и подкаст-приложений, именно в этой нише, по данным автора, поддержка Atom исторически хуже всего.
Как это применить
Для обычных веб-лент автор советует по возможности отдавать Atom и явно указывать тип текстовой конструкции заголовка (text, html или xhtml) вместо того, чтобы полагаться на молчаливое соглашение «в RSS всё, HTML». Для подкастов это неприменимо: раз крупнейшие площадки и агрегаторы читают только RSS, публикатору подкаста реального выбора формата пока нет, как бы технически ни был предпочтительнее Atom.
Можно ли доверять
Материал, личный черновик мнения на сайте автора (в тексте прямо помечен как «Draft: started»), а не техническая спецификация и не независимое исследование. Имя автора в самом тексте не указано. Изложение подчёркнуто пристрастное («I want RSS dead»), часть хронологии по поддержке Atom в Apple Podcasts автор сам называет размытой и восстановленной задним числом, а обещанное «третье важное отличие» так и не появилось в тексте.
Риски и подводные камни
Ставка целиком на Atom без учёта экосистемы рискованна именно в подкастах: даже там, где Atom заявлен, часть агрегаторов на деле его не поддерживает, а часть данных о причинах (роль Apple, точные даты появления и удаления поддержки) в источнике не подтверждена документально, а лишь реконструирована автором по памяти.
«Все, кто разбирается в теме, согласны: Atom технически превосходит RSS. Переход должен был случиться ещё двадцать лет назад.»
— автор поста на chrismorgan.info