このプロジェクトについて

TDLib(Telegram Database library)は、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レイヤーにはセマンティックバージョニングが適用されます。 - 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スクリプトを使用すると、低メモリデバイスでのメモリ使用量を削減できます。 - CMake統合は、add_subdirectoryまたはfind_package(Td ...)を介して行います。 ドキュメントと例:Getting Startedチュートリアル、C++、Java、C#、UWP、Python(tdjson_example.py)用のサンプルディレクトリ、td_api.tlスキーム、生成されたHTML APIドキュメント。 ライセンス:Boost Software License。