프로젝트 소개

TDLib(Telegram Database library)는 거의 모든 프로그래밍 언어에서 사용할 수 있는 Telegram 클라이언트 구축용 크로스플랫폼 라이브러리입니다. 주요 특징: - 크로스플랫폼: 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 레이어에 대해 시맨틱 버전 관리를 따릅니다. - C++ 인터페이스(Td::TdStatic): ClientManager 및 Client를 통해 제공됩니다. - Java 인터페이스: -DTD_ENABLE_JNI=ON으로 활성화됩니다. - .NET 인터페이스: -DTD_ENABLE_DOTNET=ON 또는 -DTD_ENABLE_DOTNET=CX로 활성화됩니다. 빌드: - 의존성: 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 통합. 문서 및 예제: Getting Started 튜토리얼, C++, Java, C#, UWP 및 Python(tdjson_example.py)용 예제 디렉터리, td_api.tl 스키마, 생성된 HTML API 문서. 라이선스: Boost Software License.