这个项目能做什么
TDLib(Telegram数据库库)是一个用于构建Telegram客户端的跨平台库,几乎可从任何编程语言使用。
README中描述的关键特性:
- 跨平台:支持Android、iOS、Windows、macOS、Linux、FreeBSD、OpenBSD、NetBSD、illumos、Windows Phone、WebAssembly、watchOS、tvOS、visionOS、Tizen和Cygwin,其他* nix系统预计也可工作。
- 多语言:可从任何能调用C函数的语言使用;包含原生Java(JNI)和.NET(C++/CLI和C++/CX)绑定。
- 处理网络实现细节、加密和本地数据存储。
- 完全异步:请求不互相阻塞;响应在可用时传递。
- 一致的更新排序,在慢速或不稳定连接上的稳定性,以及使用用户提供的密钥进行本地数据加密。
- 完全文档化的API方法和公共接口。
接口:
- JSON接口(Td::TdJson / Td::TdJsonStatic),具有简单的C接口,推荐用于大多数用例;JSON层遵循语义版本控制。
- 通过ClientManager和Client的C++接口(Td::TdStatic)。
- 使用-DTD_ENABLE_JNI=ON启用的Java接口。
- 使用-DTD_ENABLE_DOTNET=ON或-DTD_ENABLE_DOTNET=CX启用的.NET接口。
构建:
- 依赖项:C++17编译器(Clang 5.0+、GCC 7.0+、MSVC 19.1+、Intel C++ 19+)、OpenSSL、zlib、gperf(仅构建)、CMake 3.10+(仅构建)、可选PHP用于文档生成。
- 提供构建指令生成器;典型的CMake构建使用Release配置。SplitSource.php脚本可减少低内存设备上的内存使用。
- 通过add_subdirectory或find_package(Td ...)进行CMake集成。
文档和示例:入门教程、C++、Java、C#、UWP和Python(tdjson_example.py)的示例目录、td_api.tl方案以及生成的HTML API文档。
许可证:Boost软件许可证。
评论
0 评分人数达到10人后显示
登录后参与讨论。