Ferra.ru: Как Мы Делали Читалку Новостей И Статей Для Android

Привет! Так получилось, что я работаю в Ferra.ru. Вчера мы выпустили наше приложение для Android, а меня до сих пор переполняет желание поделиться своей радостью.

Думаю, лучше всего для этого подойдет фраза «Я занимаюсь пиаром».

Делали мы это долго, переделывая много раз.

Но то, что положить в Google Play , нам нравится, хотя, конечно, хотелось большего.

Но для начала это в самый раз.



Ferra.ru: как мы делали читалку новостей и статей для Android

Прежде всего отвечу на вопрос: почему? Понятно, что с чтением нас через RSS проблем нет. У нас есть отдельная лента статей и даже конструктор ленты новостей – там можно выбрать отдельные разделы.

Но RSS — это все же специфическая вещь.

Мы об этом знаем, вы об этом знаете, но массы не знают. И статистика посещений сайта по платформам/браузерам это подтверждает. Плюс планируются такие функции, как комментирование, которые RSS-ридер не будет поддерживать в принципе.

И вообще специализированное лучше универсального.

Дизайн получился минималистичным: две вкладки – для новостей и для статей.

Первые отображаются в виде простого списка с заголовками и фрагментами текста.

Со статьями сложнее: мы показываем их горизонтальными списками по каждому разделу, с крошечными картинками.



Ferra.ru: как мы делали читалку новостей и статей для Android

Перемещаться между соседними материалами можно свайпом; нет необходимости отклоняться от списка.

Эта идея вроде бы пришла к нам самостоятельно, но, как выяснилось позже, этот прием широко распространен.

Великие умы думают одинаково :) Теперь к техническим деталям.

Наше приложение мобильное, и у таких пользователей есть одна главная особенность: медленный и порой дорогой интернет. Поэтому пришлось задуматься о том, как не разбрасывать по воздуху ненужные вещи.

Кстати, задача оказалась интересной! Начнем с того, что все изображения масштабируются на стороне сервера.

Клиент передает ширину экрана терминала и получает изображения необходимого размера.

Это основная мера, и она позволила сократить трафик в два-три раза.

Изображения загружаются при открытии материала и кэшируются на будущее.

Наши статьи объемны, и даже голые буквы съедают за одно обновление мегабайт-два.

Ну кому нужна эта бессмысленная жестокость?.

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

Клиент их получает, смотрит то, чего у него еще нет, а затем обращается к отдельному скрипту, который выдает полный текст конкретной статьи в формате RSS, передавая ему идентификатор нужной статьи.

Сколько появилось новых статей - столько раз к этому и обратятся.

В общем, нужны отзывы, критика, ласки, побои и, если можно, советы, как сделать лучше :) Пока единственный вариант оптимизации, который приходит в голову, это запрос всех последних статей одним махом, чтобы не для принудительного установления соединения с длинным пингом.

Ферра.

ру в Google Play Теги: #Android #ferra.ru #новости #медиа #пиар

Вместе с данным постом часто просматривают: