На Хабре вышел пост о том, как один разработчик решил за 30 дней написать собственный клиент Telegram на Kotlin Multiplatform — под Android и десктоп, без iOS-версии, потому что не оказалось ни «макбука», ни денег на него. Повод был инженерный: свободное время между поисками работы, по 2–3 часа по вечерам. Автор рассчитывал, что библиотека TDLib возьмёт на себя всю рутину работы с протоколом Telegram, но, судя по заголовку, вместо этого получил целую серию проблем — в тексте фигурируют «матрёшки TDLib 1.8», некая «стеганография словами» и «грабли первой альфы». Что именно скрывается за этими формулировками, по доступному описанию сказать нельзя — заголовок и аннотация не раскрывают деталей, поэтому дальше будем честны: пересказываем только то, что реально сказано, а всё остальное — наши рассуждения.
Почему «свой Telegram» — это не выходные с одной библиотекой
TDLib действительно существует именно для того, чтобы разработчикам не приходилось реализовывать протокол MTProto с нуля — это официальная библиотека Telegram, на которой построены десятки сторонних клиентов. Но «взять на себя всю грязную работу» и «быть простой в использовании» — разные вещи. TDLib отдаёт данные через асинхронный поток обновлений, требует самостоятельно строить модель состояния чатов, сообщений, файлов и синхронизации между устройствами, а на Kotlin Multiplatform добавляется ещё и слой биндингов, которые не всегда ведут себя одинаково на Android и десктопе. Судя по тому, что автор упоминает именно альфа-версию и «грабли», речь похоже о сырых местах экосистемы — но это наше предположение, а не факт из источника.
Это характерная история для любого самописного мессенджера: даже когда протокольная часть готова и открыта, на практике разработчик тратит время не на фичи, а на обход особенностей самой библиотеки. Отсюда простой вывод — независимый клиент Telegram — это дорогой по времени проект даже для одного заинтересованного человека, и тем более не задача для обычного пользователя, который просто хочет получать сообщения.
Что это значит для рядового пользователя
Для большинства людей такие эксперименты интересны скорее как демонстрация того, насколько Telegram остаётся платформой, вокруг которой живёт целая экосистема альтернативных клиентов. Но из этого не следует, что обычному пользователю стоит искать «ещё один» клиент Telegram — официальное приложение и так закрывает базовые потребности. Куда более насущный вопрос сегодня — не «какой клиент Telegram выбрать», а «как не держать два отдельных мессенджера одновременно», потому что в России рядом с Telegram всё активнее утверждается MAX.
MAX и Telegram: жизнь на два приложения
MAX продвигается как национальный мессенджер, и для многих пользователей — особенно тех, кто общается с государственными и корпоративными сервисами, школами или банками, — присутствие в нём становится фактически обязательным. При этом привычные чаты, рабочие группы и личная переписка часто остаются в Telegram. В результате человек вынужден держать включёнными два приложения, два набора уведомлений и постоянно проверять, куда именно пришло сообщение.
Самописный клиент из статьи решает другую задачу — он про то, как устроен Telegram «внутри» и что стоит за протоколом. А задача обычного пользователя куда более практична: не упустить сообщение из MAX, если основное внимание и привычки сосредоточены в Telegram, и при этом не тащить за собой лишнее приложение на телефоне.
Почему тут не спасает «просто поставить оба приложения»
- Два источника уведомлений усложняют контроль переписки, особенно если MAX используется не ежедневно, а по случаю.
- Отдельный аккаунт MAX на телефоне — это ещё один повод для того самого разбора протоколов и клиентов, которым как раз и занимался автор исходной статьи, только на уровне пользователя, а не разработчика.
- Чем больше установленных мессенджеров, тем больше поверхность для случайных утечек внимания и данных — лишние разрешения, лишние фоновые процессы.
Где здесь к месту Максограм
Максограм решает именно эту прикладную, а не инженерную задачу. Сервис пересылает входящие сообщения из MAX в Telegram и обратно: MAX ставится на любой телефон — хоть на отдельный, хоть на старый запасной, — там сканируется QR-код в боте @maxogrambot, после чего все сообщения из MAX приходят прямо в Telegram, и отвечать на них можно, не открывая MAX вообще. А сам MAX на основном телефоне после этого можно удалить.
Это не альтернативный клиент и не попытка переписать протокол — скорее мост между двумя экосистемами для тех, кому нужен MAX по необходимости, а жить привычно хочется в Telegram. Там, где энтузиасты из мира разработки тратят недели на то, чтобы разобраться, как устроен клиент мессенджера изнутри, обычному человеку достаточно решить куда более приземлённый вопрос — не держать в кармане два приложения ради одной переписки. Максограм для этого и существует.