Как один разработчик переизобрел RSS для всех платформ сразу
Знакомая ситуация: вы открываете любимый новостной агрегатор, видите интересный заголовок, кликаете... и попадаете на страницу, обвешанную баннерами, всплывающими окнами и трекерами, которые знают о вас больше, чем родная мама. Большинство современных сайтов специально не отдают полный текст статьи в RSS-фид, заставляя вас переходить к ним «в гости».
Именно эту проблему решил исправить Марко Гомьеро, создав FeedFlow. Это не просто очередной RSS-ридер, а проект с философией «чистого чтения» и впечатляющим техническим стеком.
Что такое FeedFlow и почему он заслуживает внимания
FeedFlow — это минималистичный агрегатор новостей, который живет везде: от вашего Android-смартфона до рабочего MacBook или Linux-машины. Автор изначально создавал его для себя, устав от перегруженных интерфейсов и платных подписок в популярных сервисах.
Главная «фишка» приложения — осознанный подход к приватному чтению. Поскольку сайты жадничают и не отдают контент целиком, FeedFlow не пытается «распарсить» их кривыми алгоритмами. Вместо этого он предлагает открывать ссылки в браузере по вашему выбору. На мобильных устройствах это работает особенно круто: вы можете настроить открытие статей в Firefox Focus или DuckDuckGo Browser. Прочитали, закрыли — и все куки вместе с трекерами испарились. Ваша основная сессия в браузере остается чистой.
Чем хорош FeedFlow: 4 причины попробовать
1. Настоящая мультиплатформенность
Часто «мультиплатформенность» означает, что приложение хорошо работает на одной системе и выглядит как чужеродный объект на другой. Здесь ситуация иная. Благодаря использованию современных фреймворков, приложение ощущается нативным и на iOS (SwiftUI), и на Android/Desktop (Jetpack Compose).
2. Легкий переезд
Если у вас уже есть огромная коллекция подписок в Feedly, Inoreader или другом сервисе, вам не придется переносить их руками. FeedFlow поддерживает импорт и экспорт через стандартные OPML-файлы. Закинули файл — и вся ваша инфо-диета уже в новом приложении.
3. Синхронизация без посредников
В проекте реализована синхронизация через Dropbox и Google Drive. Это значит, что ваши данные не хранятся на каком-то сомнительном сервере разработчика, а лежат в вашем личном облаке.
4. Полный Open Source
Проект открыт для сообщества. Автор активно принимает Pull Requests и даже предлагает помочь с локализацией через Weblate. Кстати, если вы хотите подтянуть свои навыки в разработке, изучение этого репозитория — отличный способ увидеть, как работает современный Kotlin Multiplatform в реальном «боевом» проекте.
Заглянем под капот: магия Kotlin Multiplatform
Для разработчиков FeedFlow интересен прежде всего своей архитектурой. Это эталонный пример того, как можно переиспользовать бизнес-логику между совершенно разными платформами.
- Shared Logic: Вся «математика», работа с базой данных и сетевые запросы написаны на Kotlin.
- UI: На Android и Desktop используется Jetpack Compose, а на iOS — нативный SwiftUI.
- RSS Parser: Марко даже написал собственную библиотеку для парсинга фидов, которая теперь тоже стала мультиплатформенной.
Если вы планируете начать проект на KMP, обязательно посмотрите, как здесь организована структура модулей. Это сэкономит вам кучу времени на проектировании.
Как запустить проект у себя
Если вы хотите не просто пользоваться приложением, а собрать его из исходников или кастомизировать, процесс довольно прозрачен.
Для Android достаточно подкинуть заглушку конфига Google Services:
cp config/dummy-google-services.json androidApp/src/debug/google-services.json
Для Desktop версии (Windows, Linux, macOS) всё еще проще:
./gradlew desktopApp:run
Единственный нюанс — для работы синхронизации с Dropbox вам нужно будет получить свой API-ключ, так как авторский ключ, по понятным причинам, в репозиторий не включен.
Кому подойдет FeedFlow?
В первую очередь — тем, кто ценит минимализм и контроль над своими данными. Здесь нет рекомендательных алгоритмов, которые пытаются удержать ваше внимание подольше. Только те новости, на которые вы подписались, в хронологическом порядке.
Также это маст-хэв для разработчиков, которые хотят увидеть живой пример реализации Compose Multiplatform. Проект активно развивается: буквально каждый месяц выходят обновления, добавляются новые языки и исправляются баги.
Стоит ли переходить на него с условного Reeder? Если вам важна приватность и вы хотите иметь одинаковый опыт чтения на смартфоне и рабочем ПК — определенно да. К тому же, это бесплатно и без рекламы.
Попробовать FeedFlow: GitHub Repository
А как вы читаете новости в 2024 году? Все еще RSS или окончательно ушли в Telegram-каналы? Пишите в комментариях!