айПодписки — клиент для Яндекс.Подписок для iPad

в 11:37, , рубрики: api яндекс, ios development, я пиарюсь, яндекс.подписки, метки: , ,

айПодписки — клиент для Яндекс.Подписок для iPad

8 месяцев назад, в честь закрытия Google Reader, компания Яндекс обновила API для своего сервиса Подписки. Я довольно давно им пользуюсь, там собираются все интересные мне новости. И я давно уже хотел клиент для iPad. Лично мне с него читать новости гораздо удобнее, особенно в дороге. Но время шло — а ни одного клиента так и не появилось. Ну а раз нет — напиши сам.

К счастью, в обновлённом API все данные можно получать в JSON. Нужно просто пройти OAuth-авторизацию (хорошая статья на эту тему на Хабре), чтобы получить Access Token — и в путь.

Логичным было выбрать для реализации UISplitViewController — слева список подписок и постов в них, справа содержимое новостей. В левой часте в таблицу делаем кастомный UITableViewCell, чтобы выводить число непрочитанных новостей, в правой же части просто UIWebView, который выводит в зависимости от переключателя или анонс новости, или открывает оригинал на сайте-источнике.

айПодписки — клиент для Яндекс.Подписок для iPad

В целом, получился довольно простой RSS-ридер с той разницей, что всю работу по сбору подписок и парсингу RSS-лент на себя берёт Яндекс (а про это, у них, кажется, была даже отдельная статья о том, с какими кривостями-невалидностями приходилось им встречаться), а в клиент отдаются просто данные.

Но именно такой простоты мне и не хватало. Да и веб-версия Подписок, по-моему, для бразуера тяжеловата. Особенно когда в статях в ленте кучу куча картинок. Например, если вы подписаны на новые раздачи на каком-то торрент-трекере с фильмами — там и постер, и скриншоты, и миллион значков различных вроде логотипов IMDB и Кинопоиска, а грузится это в браузере сразу вне зависимости от того — развёрнута у вас запись или нет, и 50 новостей с 10 картинками в каждой превращаются в 500 картинок на странице разной степени тяжести.

Утром, за чашечкой чая, открыл новости, например, на ноутбуке, и продолжил читать их уже где-нибудь в дороге с iPad. Все прочитанное уже отмечено как прочитанное, всё синхронизировано, красота.

айПодписки — клиент для Яндекс.Подписок для iPad

Кроме того, в клиенте для iPad можно поделиться интересной новостью в соц. сетях, потравить по почте/sms/iMessage или сохранить статью в Список для чтения в Safari, чтобы позже её прочитать даже без доступа к сети. Ну и, само собой, можно добавлять новые новостные ленты или удалять уже существующие. Для добавления — достаточно ввести просто адрес сайта, а RSS будет выдран самим сервисом, если он там есть.

Технические особенности, с которыми я столкнулся при разработке, в основном касаются API.

Во-первых, при добавлении новой RSS-ленты — все уже существующие посты имеют флаг archive, то есть, они в архиве, и, к сожалению, их нельзя пометить как непрочитанные, чтобы позже вернуться и сразу их заметить. Прочитано/непрочитано будут иметь только посты, появившиеся в ленте после момента подписки.

Во-вторых, иногда для новой RSS-подписки сервису требуется время для того, чтобы «всосать» в себя ленту. Например, мою личную RSS-ленту с Хабра сервис всасывал минут 40, прежде чем показать мне хотябы список постов.

Приложение бесплатное. Если вам стало интересно — ссылка: itunes.apple.com/ru/app/ajpodpiski-rss-klient-dla/id855118050?mt=8

P.S. если у вас есть какие-то идеи по улучшению приложения — готов выслушать в комментариях.

Автор: Makaveli

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js