نحوه توسعه کتابخانه بومی React برای TDLib تلگرام: قسمت 1

درود بر همه کسانی که اهمیت می دهند! یک روز خسته کننده، تصمیم گرفتم تلاشم را برای ایجاد پروژه ای با استفاده از API تلگرام امتحان کنم، بدون اینکه انتظار داشته باشم که آن را به آنچه انجام داد تبدیل شود. چندین رویکرد یکپارچه سازی را بررسی کردم و در طول مسیر به نتایج جالبی رسیدم. در نهایت، من شروع به توسعه یک کتابخانه منبع باز به نام کردم react-native-tdlib.

در این سری از مقالات، چالش هایی را که با آن مواجه بودم و اکتشافات جدیدی که در طول این سفر انجام دادم را به اشتراک خواهم گذاشت.

MTProto یا داستان عصای بزرگ

در ابتدا تصمیم گرفتم مسیر آسان را انتخاب کنم و به طور خاص از کتابخانه های طراحی شده برای مرورگر استفاده کردم @mtproto/core همراه با react-native-webview-crypto. می دانم، قبلاً کمی عجیب به نظر می رسد، اما می خواستم به آن ضربه بزنم. من حتی موفق شدم کل فرآیند مجوز را با استفاده از این پشته اجرا کنم.

با این حال، طولی نکشید که متوجه شدیم این رویکرد آن را قطع نمی کند. از آنجایی که به مرورگری که در پس‌زمینه اجرا می‌شود متکی است، عملکرد ضربه قابل توجهی می‌گیرد – پاسخ‌ها بسیار کند می‌شوند و اجرای برخی از عملکردها کاملاً غیرممکن است.

به دلیل این محدودیت‌ها، من به سرعت این رویکرد را کنار گذاشتم و به این نتیجه رسیدم که زمان آن رسیده است که به آن شیرجه بزنم کد بومی.

کتابخانه از پیش ساخته شده TDLib

صادقانه بگویم – این اولین تجربه من بود که با یک …

Source link