Sobre o projeto
TDLib (biblioteca de banco de dados Telegram) é uma biblioteca multiplataforma para criar clientes Telegram, utilizável de quase qualquer linguagem de programação.
Características principais descritas no README:
- Multiplataforma: Android, iOS, Windows, macOS, Linux, FreeBSD, OpenBSD, NetBSD, illumos, Windows Phone, WebAssembly, watchOS, tvOS, visionOS, Tizen e Cygwin, com expectativa de funcionamento em outros sistemas *nix.
- Multilinguagem: utilizável de qualquer linguagem capaz de chamar funções C; inclusões nativas Java (JNI) e .NET (C++/CLI e C++/CX) estão incluídas.
- Lida com detalhes de implementação de rede, criptografia e armazenamento local de dados.
- Totalmente assíncrona: solicitações não bloqueiam umas às outras; respostas são entregues quando disponíveis.
- Ordenação consistente de atualizações, estabilidade em conexões lentas ou não confiáveis, e criptografia local de dados com chave fornecida pelo usuário.
- Métodos de API e interfaces públicas totalmente documentados.
Interfaces:
- Interface JSON (Td::TdJson / Td::TdJsonStatic) com interface C simples, recomendada para a maioria dos casos de uso; segue versionamento semântico para a camada JSON.
- Interface C++ (Td::TdStatic) via ClientManager e Client.
- Interface Java habilitada com -DTD_ENABLE_JNI=ON.
- Interface .NET habilitada com -DTD_ENABLE_DOTNET=ON ou -DTD_ENABLE_DOTNET=CX.
Construção:
- Dependências: compilador C++17 (Clang 5.0+, GCC 7.0+, MSVC 19.1+, Intel C++ 19+), OpenSSL, zlib, gperf (somente construção), CMake 3.10+ (somente construção), PHP opcional para geração de documentação.
- Um gerador de instruções de construção é fornecido; uma construção CMake típica usa configuração Release. Um script SplitSource.php pode reduzir o uso de memória em dispositivos com pouca memória.
- Integração CMake via add_subdirectory ou find_package(Td ...).
Documentação e exemplos: tutorial de Introdução, diretórios de exemplo para C++, Java, C#, UWP e Python (tdjson_example.py), esquema td_api.tl, e documentação HTML gerada da API.
Licença: Boost Software License.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.