Всем привет! Я хочу поделиться историей о том, как обычная пользовательская боль заставила меня открыть Android Studio и сделать свой первый серьезный проект.
Я очень люблю читать с телефона (особенно ранобэ, новеллы и книги в оригинале). Но в последнее время индустрия мобильных читалок свернула куда-то не туда. Открывая популярные приложения, я чувствовал себя пилотом Боинга: десятки перегруженных меню, всплывающие баннеры, просьбы купить Premium-подписку и интерфейсы прямиком из 2012 года.
Но моей главной болью был перевод. Когда ты читаешь книгу на английском и встречаешь незнакомое слово, тебе приходится выделять его, копировать, открывать Google Переводчик, вставлять, читать, возвращаться в книгу… Погружение в историю рушится моментально.
Есть, конечно, Circle to Search или читалки с функцией перевода, но мне они показались максимально неудобными
Я искал минималистичную читалку со встроенным удобным переводчиком. Не нашел. И решил написать её сам.
Как я изобретал велосипед (и почему отказался от WebView)
Поначалу казалось, что написать читалку легко: просто закидываешь HTML-текст книги в стандартный компонент браузера (WebView) и готово.
Но оказалось, что WebView жрет батарею, тормозит при перелистывании и не дает нормально кастомизировать текст. Поэтому я пошел по хардкору: написал свой собственный кастомный движок рендеринга текста. Он берет сырой текст из EPUB/FB2, сам измеряет каждую букву, нарезает текст на страницы прямо под размер вашего экрана и плавно их листает. Никаких подтормаживаний.
Так как я отказался от стандартных системных компонентов, мне пришлось писать логику выделения текста с нуля. Пришлось вручную высчитывать координаты пальца на экране, сопоставлять их с конкретной буквой в отрисованном абзаце и рисовать кастомные ползунки-«капельки» по краям.
Но самая главная проблема — это сохранение цитат. Если вы меняете размер шрифта или отступы, текст перестраивается. Чтобы выделения не съезжали и не ломались, я привязал их к абсолютному индексу символа (железобетонному якорю) от начала главы. Теперь вы можете как угодно крутить настройки дизайна — ваши цитаты и закладки всегда останутся ровно на том самом слове.
Что получилось в итоге? MRead
Я назвал приложение MRead (Minimal Reader). Это полностью локальная, бесплатная читалка без рекламы, созданная для того, чтобы вы оставались наедине с книгой.
Что внутри:
Умные онлайн-инструменты, то, ради чего всё затевалось. Выделяете слово или абзац — и прямо в книге всплывает окно с переводом на ваш язык. А если нужно узнать значение английского слова — там же работает толковый словарь (через API Wiktionary).
Поддержка форматов EPUB, FB2, FB2.ZIP, TXT. Движок сам вытаскивает обложки и иллюстрации из недр файлов.
Никакого визуального мусора. Светлая, темная и кремовая (моя любимая) темы.
Можно загружать свои любимые шрифты (.ttf / .otf), менять отступы, межстрочный интервал.
Приложение работает локально. У меня нет бэкенда, нет серверов, никто не собирает вашу статистику чтения.



Планы на будущее
Проект полностью бесплатный, писался на чистом энтузиазме. Если вам нравится концепция чистого чтения без компромиссов — буду рад, если вы его попробуете.
Скачать MRead можно здесь:
Я буду мониторить комментарии. Если найдете баги (а они наверняка есть, это же первый релиз) или у вас есть крутые идеи, что можно добавить — пишите, всё читаю, всё беру на карандаш!
Спасибо за внимание, и приятного чтения! ?
Комментарии (80)

Void-Cowboy
08.06.2026 08:46а разве FBReader не поддерживает плагины, которые можно какие угодно ему написать?
В целом интересно, еше одна читалка но с фокусом для изучения языка (переводчиков бы побольше, как мин классику с яндекс/гуглом/дипл).
Единое что - нет скринов и нормального описания, ни тут ни на гитхабе. Ставить себе незнакомый APK не все захотят только ради "посмотреть"

ZEDDTAY Автор
08.06.2026 08:46Вы абсолютно правы насчет безопасности. Устанавливать сырые APK с гитхаба без исходников - это действительно оправданный риск, и я полностью разделяю вашу осторожность.
Проект закрытый, и открывать его исходный код я в обозримом будущем не планирую - это мой личный пет-проект.
Однако я не хочу, чтобы у пользователей были сомнения в безопасности приложения. Именно поэтому я выкладываю его на официальные площадки. MRead уже опубликован и доступен в RuStore, а также прямо сейчас проходит модерацию на AppGallery, Uptodown и Aptoide (к сожалению без Гугла). Если вы опасаетесь ставить APK напрямую, вы можете дождаться публикации и безопасно скачать читалку из любого удобного вам стора.

grey_cardan
08.06.2026 08:46А не могли бы вы развернуть мысль по поводу закрытости личного пет-проекта? Если проект полностью бесплатный и пишется на чистом энтузиазме, то от этого бы выиграли все, если бы код был открытым. По своему опыту понимаю, что открытый исходный код привлекает больше пользователей. Интересно понять мотивацию такого подхода.

TkachenkoD
08.06.2026 08:46согласен с автором. открытый код это дополнительная морока и область ответственности для пет-проекта

grey_cardan
08.06.2026 08:46А в чем заключается дополнительная морока и область ответственности? Просто как разработчик приложения с открытым кодом, 250к скачиваний в Google Play и 60к MAU я не совсем понимаю, что именно вы имеете в виду. Может все это время я сталкивался со сложностями, которые возникали именно из-за открытости, и делал лишнюю работу.

Xenotester
08.06.2026 08:46проект закрытый - жаль на f-droid не будет, но тут хозяин-барин и сап решает как ему лучше и/или банально удобнее

RulenBagdasis
08.06.2026 08:46Проект закрытый, и открывать его исходный код я в обозримом будущем не планирую - это мой личный пет-проект.
А зачем обманывать людей, выкладывая пустые архивы, которые называются “Source code”?


ColdPhoenix
08.06.2026 08:46Их формирует сам github при формировании релиза. Это по сути архив коммита на котором сделан релиз.

grey_cardan
08.06.2026 08:46Все верно, полностью поддерживаю. Незнакомые APK с гитхабов и без исходников - это прямой путь к майнингу крипты на мобилке =). Автор бы лучше поделился ссылкой на ранний доступ в сторах (каких угодно).
А так выглядит довольно приятно, и юзкейс переводов очень кстати! Вот только если проект полностью бесплатный и пишется на чистом энтузиазме, было бы здорово увидеть и исходники в итоге.

Chetverovod
08.06.2026 08:46FBREADER просит купить премиум чтобы pdf-смотреть.

Revertis
08.06.2026 08:46И они заслуживают этого! Я купил FBreader уже много лет назад, так как эта программа для меня просто must have.

makornobbe
08.06.2026 08:46Исходников не будет?

ZEDDTAY Автор
08.06.2026 08:46Нет, открывать исходный код приложения я не планирую.

Tishka17
08.06.2026 08:46Тогда зачем вы вводите в заблуждение, давая ссылки на хостинг исходного кода (гитхаб)?

ImagineTables
08.06.2026 08:46Извините, но это вы сами себе напридумывали. Как и автор, «я использую GitHub исключительно как удобную и надежную бесплатную площадку для публикации релизов». В чём заблуждение, в которое мы вас вводим? В правилах площадки ничего нет про необходимость открывать исходники, иначе бы оттуда выгнали кучу проектов.
Авторы WinRAR не открывают исходники, авторы Windows не открываются исходники, а автор читалки должен? Или он должен непременно возится с лендингом и хостингом для каждого проекта, изображая солидную корпорацию, даже если у него нет на это времени/желания/прибыли от проекта?

Areso
08.06.2026 08:46Авторы WinRAR не открывают исходники, авторы Windows не открываются исходники
и не публикуют бинари файлы на GitHub'e.
Поэтому к ним и не возникает такого вопроса.А так да, автор ничего не должен (даже в случае использования ГитХаба исключительно для публикации бинарников), но и пусть не удивляется, если ему скажут "фу". Потому что кроме "должен" и "не должен" (в прочтении "как закон" или "как контракт"), есть еще некая культурная норма, и за нарушение культурных норм следует порицание (а за нарушение закона или условий контракта, которые тоже построены на базе законов, следуют иски в суд, административная и уголовная ответственность).

ImagineTables
08.06.2026 08:46и не публикуют бинари файлы на GitHub’e. Поэтому к ним и не возникает такого вопроса.
А ещё они не раздают свои программы бесплатно. Они их продают, и на вырученные деньги вают лендинг, платят за хостинг и поддерживают всю эту радость.
Человек сделал для вас программу, бесплатно её раздаёт и вместо спасибо получает претензии, что свой домен не зарегистрировал, а воспользовался гитхабом для раздачи дистрибутива.

andy_light
08.06.2026 08:46Может, я путаю, но разве на гитхабе нет проектов с закрытым исходным кодом? Насколько я знаю, таковые имеются. Поэтому утверждение "хостинг исходного кода" неверно. Или я неправ?

lTsunam1l
08.06.2026 08:46Зарегистрировался на хабре только чтобы написать этот коммент.
Дружище, ты буквально сделал то, что я искал годами. Спасибо!
Я очень привык к FBReader'у и поэтому слегка непривычно, что я не могу и листать и прокручивать одновременно, но в остальном — шик. Будет ещё круто если будет возможность добавить возможность использовать другие языки(извиняюсь если она уже есть, пока не тестил китайский, если работает, можно практически выбросить DuChinese)
Также пока не тестил как работает добавление в Anki, было бы круто если ко всему подтягивало бы предложение в котором было это слово чтобы не терять контекст

ZEDDTAY Автор
08.06.2026 08:46Спасибо большое!
Переводчик на китайский работает, словари пока только английские
lTsunam1l
08.06.2026 08:46Вот словарь бы подвязать, или какую-то возможность добавлять словари
Просто прямой перевод, скажем, в английском сработает гораздо чаще чем в том же китайском, там значение контекста очень высокое
По трекеру прогресса внизу не планируете делать возможность прокрутки?
В любом случае отличная работа!

Ogoun
08.06.2026 08:46Есть отлично кастомизируемый MoonReader, пользуюсь им много лет, пока ни одного минуса не находил.

duselguy
08.06.2026 08:46Странно, что ни здесь, ни в основном README на гитхаб нет упоминаний поддержки pdf в последней версии. Supported formats: EPUB, FB2, FB2.ZIP, TXT.

ZEDDTAY Автор
08.06.2026 08:46Моя оплошность, спасибо за замечание, забыл обновить перед публикацией. В следующем релизе обязательно все актуализирую

RulenBagdasis
08.06.2026 08:46Умные онлайн-инструменты, то, ради чего всё затевалось… Приложение работает локально.
Это как?
Как подключить, например, словари Lingvo? Вообще, странно, что про словари ни слова не написано, вы же перевод как основную фичу заявляете.
MRead уже опубликован и доступен в RuStore, а также прямо сейчас проходит модерацию на AppGallery, Uptodown и Aptoide (к сожалению без Гугла).
А в чём причина отказа публиковать андроид-приложение в гуглплей?

ZEDDTAY Автор
08.06.2026 08:46Читалка работает полностью локально, но функции перевода и определений запрашивают внешние API
Встроенных словарей в приложении пока нет. В планах добавить интеграцию с установленными на телефоне
Публикация в Google Play из РФ сейчас требует сложных обходных путей

the_PROTECTION
08.06.2026 08:46Читалка работает полностью локально
"Оффлайн" воспринимается привычнее и понятнее имхо. Наверное к этому был вопрос.
Публикация в Google Play из РФ сейчас требует сложных обходных путей
Даже бесплатных приложух?

Oncenweek
08.06.2026 08:46Даже бесплатных приложух?
Да, простого способа оплатить взнос для создания аккаунта разработчика нет, тут нет разницы платное оно или бесплатное

RulenBagdasis
08.06.2026 08:46Читалка работает полностью локально, но функции перевода и определений запрашивают внешние API
Так перевод заявлен основной фичей. Для меня это значит, что читалка требует постоянного подключения к интернету, без которого я не смогу воспользоваться переводом.
Публикация в Google Play из РФ сейчас требует сложных обходных путей
Публикация бесплатных приложений без рекламы требует обходных путей?
ganqqwerty
Я думал что этот кейс покрыт в Jidoujisho или в других тулах от The Moe Way... если вы ранобешки читаете на японском, вы же уже присоединились к иммерсивным сообществам?
ZEDDTAY Автор
Да, Jidoujisho и The Moe Way - это потрясающие инструменты, если вы целенаправленно и глубоко изучаете именно японский язык через иммерсивное чтение и связку с Anki (сам я, например, использую YomiNinja).
Но, например, для изучения английского меня совершенно не устроили программы, которые я нашел (типа AlReader или FBReader) - просто не нравятся они мне визуально и по UX. Хотелось сделать что-то свое, максимально лаконичное и эстетичное.
ganqqwerty
да, правда, остальные языки сильно позади японского по тулингу
1sebasa
День добрый. Только установил. Ещё не открыл. Я пару месяцев как учусь пользоваться с линуксом, а точнее с дистрибутивом mx linux . И вот думаю, есть ли у вас в мыслях портировать скажем для настольных пк ваше приложение?