عن المشروع
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).
- تتعامل مع تفاصيل تنفيذ الشبكة والتشفير وتخزين البيانات محليًا.
- غير متزامنة بالكامل: الطلبات لا تحجب بعضها البعض؛ يتم تسليم الاستجابات عندما تكون متاحة.
- ترتيب تحديثات متسق، واستقرار على الاتصالات البطيئة أو غير الموثوقة، وتشفير البيانات المحلية بمفتاح يوفره المستخدم.
- واجهات برمجة تطبيقات وواجهات عامة موثقة بالكامل.
الواجهات:
- واجهة 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 ...).
التوثيق والأمثلة: برنامج تعليمي للبدء، ودلائل أمثلة لـ C++ وJava وC# وUWP وPython (tdjson_example.py)، ومخطط td_api.tl، وتوثيق HTML مولّد لواجهة البرمجة.
الترخيص: رخصة Boost Software.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.