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



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

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

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



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

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

    Утром, за чашечкой чая, открыл новости, например, на ноутбуке, и продолжил читать их уже где-нибудь в дороге с 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. если у вас есть какие-то идеи по улучшению приложения — готов выслушать в комментариях.
    • +15
    • 2,8k
    • 6
    Поделиться публикацией

    Комментарии 6

      0
      А планируется ли версия для андроида?
        0
        Я, к сожалению, под Android писать не умею. Но есть вот такое приложение.
          0
          Теперь могу сказать, что планируется :) ukhamitov пишет прямо сейчас :)
          0
          Скажите пожалуйста, есть ли функционал кеширования подписок? Пример: утром пью чай, нажал обновить подписки, дальше еду в метро и читаю подписки оффлайн.
            0
            Пока нет, в будущем планирую внедрить кеширование + избранное
            +1
            Makaveli, вы молодец! чую придется последовать вашему примеру и самому написать клиент под maemo

            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

            Самое читаемое