Подводя итоги 2017 года, Павел Дуров пообещал Telegram-сообществу 3 больших обновления. Первой появилась библиотека Telegram TDLib — гибкий инструмент для создания клиентских сервисов на Java. Исходный код открыт всем желающим.
С какой целью создали Telegram Database Library
Капитализация криптовалютного рынка меняется каждый час. Суммарная стоимость токенов догоняет мировые финансовые активы. Те, кто до сих пор не верил в будущее биткойна, задумываются об инвестировании.
Будучи евангелистом блокчейн-технологий, Дуров решил создать свою децентрализованную платформу. Но столкнулся с затруднением: не оказалось свободных программистов, кто мог бы уделить новому проекту достаточно времени. Какой бы перспективной ни была идея, команда из 15 человек не способна разорваться между двумя проектами и гарантировать прежний уровень качества.
Было принято решение: делегировать развитие приложения сторонним девелоперам. Пока Open Source сообщество тестирует новую библиотеку, основная команда переключилась на блокчейн-проект.
Кроме того, набор Java-модулей частично решает проблему запрета официального клиента. Когда из-за недопустимого контента мессенджер оказался заблокированным в AppStore, пользователи начали искать другие сервисы для общения. Блокировку сняли через 14 часов, но вопрос альтернативы остался открытым. Ситуацию усугубляют нападки Роскомнадзора.
Открытая библиотека позволяет сторонним разработчикам создавать свои клиентские сервисы по принципу Телеграмма. Уже сейчас в магазинах приложений появились достойные аналоги. Поэтому пользователям не стоит переживать по поводу блокировки приложения.
Как разработчики могут использовать Telegram TDLib
Совершенно свободно. Текущие наработки доступны программистам по всему миру. Компания надеется, что эксперименты с библиотекой укрепят позиции сервиса на фоне конкурентов. А может, какие-то фишки перекочуют из неофициальных клиентов в оригинальный мессенджер.
Отличный пример — Plus Messenger. В программе реализовано несколько полезных опций: разделение списка контактов (живые пользователи, боты, каналы — все отдельно), пересылка сообщений без подписи автора. Сотни тысяч довольных пользователей выбрали этот сервис, как альтернативу оригинальному клиенту.
Другой проект — Telegram X для мобильных платформ. Автор утверждает, и некоторые пользователи это подтверждают, что улучшенный клиент работает быстрее классической версии. Ему понадобился год, чтобы добиться таких результатов. Были скопированы все возможности официального мессенджера и добавлены экспериментальные функции. Пользователям также доступен модифицированный интерфейс: цветовые схемы на выбор, анимированные стикеры, видоизменённая навигация. Приложение доступно для скачивания в Google Play и AppStore.
Раньше девелоперы неделями ждали, пока откроют код последних обновлений. Так, функция голосовых звонков долго не появлялась в API. Теперь исходники наработок появляются практически мгновенно. Любой разработчик может выпустить альтернативный клиент с таким же функционалом, как и в официальной версии.
Документация подробно описывает возможности библиотеки: методы, интерфейс, облачное хранение, динамическое шифрование. Не нужно заниматься реверс-инжинирингом — можно полностью сосредоточиться на создании собственных фишек. Индивидуальные наработки улучшают мессенджер, привлекают пользователей и помогают развивать проект.
Правилами не запрещено монетизировать свою программу. Рекламный SDK, платная подписка, дополнительный функционал в full-версии — доступны любые формы заработка. Возможность заработать усиливает мотивацию Open Source сообщества поддерживать конкурентоспособность приложения.
Сильные стороны Telegram TDLib
Пока что библиотеку используют не слишком активно: свободные разработчики только начали тестировать инструмент. Принципиально новых клонов появляется мало, но уже сейчас понятен потенциал модуля: Telegram Database Library — самый удобный способ разработки клиентских сервисов для общения.
Вот 4 преимущества, которые отличают TDLib от похожих библиотек.
- Подробная документация. Методы, классы, программный и пользовательский интерфейсы — всё описано простым языком. Исходный код логично структурирован, понятен и выложен в соответствующей ветке на GitHub.
- Кроссплатформенность. Набор модулей реализован на Java и частично на C#, но программный код совместим и с любым Си-подобным языком программирования. Библиотека позволяет создавать приложения, не привязанные к одной операционной системе. Программа будет работать на Windows, Linux, мобильных платформах и SMART-устройствах.
- Асинхронность. Код оптимизирован под HighLoad-проекты. Алгоритмы работают независимо друг от друга, не создают очередь вызовов. Каждый модуль способен асинхронно взаимодействовать с 18 0000 ботов.
- Безопасность. Защита пользовательских данных — главная фишка мессенджера. Естественно, клиентские сервисы на основе его исходного кода обладают тем же преимуществом. Информация шифруется динамически генерируемыми ключами, что исключает возможность взлома или перехвата переписки.
Неофициальные клиенты так же нетребовательны к скорости интернет-подключения. Приложение на базе TDLib исправно работает в любых условиях.