Sobre el proyecto
TDLib (Telegram Database library) es una biblioteca multiplataforma para crear clientes de Telegram, utilizable desde casi cualquier lenguaje de programación.
Características clave descritas en el README:
- Multiplataforma: Android, iOS, Windows, macOS, Linux, FreeBSD, OpenBSD, NetBSD, illumos, Windows Phone, WebAssembly, watchOS, tvOS, visionOS, Tizen y Cygwin, con otros sistemas *nix que se espera que funcionen.
- Multilenguaje: utilizable desde cualquier lenguaje capaz de llamar funciones C; se incluyen enlaces nativos para Java (JNI) y .NET (C++/CLI y C++/CX).
- Gestiona los detalles de implementación de red, cifrado y almacenamiento local de datos.
- Totalmente asíncrono: las solicitudes no se bloquean entre sí; las respuestas se entregan cuando están disponibles.
- Orden de actualizaciones consistente, estabilidad en conexiones lentas o poco fiables y cifrado de datos locales con una clave proporcionada por el usuario.
- Métodos de API y interfaces públicas completamente documentados.
Interfaces:
- Interfaz JSON (Td::TdJson / Td::TdJsonStatic) con una interfaz C simple, recomendada para la mayoría de los casos de uso; sigue el versionado semántico para la capa JSON.
- Interfaz C++ (Td::TdStatic) mediante ClientManager y Client.
- Interfaz Java habilitada con -DTD_ENABLE_JNI=ON.
- Interfaz .NET habilitada con -DTD_ENABLE_DOTNET=ON o -DTD_ENABLE_DOTNET=CX.
Compilación:
- Dependencias: compilador C++17 (Clang 5.0+, GCC 7.0+, MSVC 19.1+, Intel C++ 19+), OpenSSL, zlib, gperf (solo compilación), CMake 3.10+ (solo compilación), PHP opcional para generación de documentación.
- Se proporciona un generador de instrucciones de compilación; una compilación CMake típica usa la configuración Release. Un script SplitSource.php puede reducir el uso de memoria en dispositivos con poca memoria.
- Integración con CMake mediante add_subdirectory o find_package(Td ...).
Documentación y ejemplos: tutorial de inicio, directorios de ejemplo para C++, Java, C#, UWP y Python (tdjson_example.py), el esquema td_api.tl y documentación HTML generada de la API.
Licencia: Boost Software License.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.