RU

От боли к npm install: TDLib для React-Native, или как я делал проект, а получилась библиотека

Пришла мне как-то идея сделать мобильное приложение на базе Telegram. Полез в npm и сразу нашёл react-native-telegram , но это оказалась обёртка над B…

react nativetelegramtdlibразработка мобильных приложенийiosandroidopen sourcetypescriptnpmбиблиотека
Habr
RU

Push-уведомления в мессенджере: production-грабли которых нет в туториалах

Это девятая статья про инженерные решения в ONEMIX. Тема узкая, push-уведомления. Но я её давно хотел разобрать, потому что туториалов в интернете мно…

react nativepush notificationsexpofcmapnscallkitvoipмессенджермобильная разработкаdeep linking
Habr
RU

Outbox-паттерн для мобильного мессенджера: как Telegram не теряет сообщения и почему ваш код их теряет

Это седьмая статья про инженерные решения в ONEMIX. Тема узкая, но болезненная для каждого кто делал мобильное приложение с отправкой сообщений или фа…

react nativeмессенджерoptimistic updateoutboxмобильная разработкаархитектураtelegramасинхронностьобработка ошибокretry
Habr
RU

Как я сделал групповые звонки в React Native мессенджере: WebRTC, CallKit и грабли production'а

Это третья статья из серии про инженерные решения в ONEMIX — моём мессенджере на React Native. В первой я разбирал трёхуровневый кэш сообщений, во вто…

webrtcreact nativelivekitcallkitvoip push notificationstrickle iceмобильная разработказвонкимессенджер
Habr
RU

Я реализовал Double Ratchet в React Native мессенджере. Разбор протокола и кода

В прошлой статье про трёхуровневый кэш сообщений я уже упоминал, что делаю мессенджер ONEMIX на React Native. Базовое E2E у меня было простое: ECDH P-…

double ratchetsignal protocole2eend-to-end encryptionreact nativeкриптографиямессенджерecdhhkdfweb crypto api
Habr
RU

Как я сделал трёхуровневый кэш сообщений в мессенджере на React Native — и что узнал по дороге

Я делаю мессенджер ONEMIX на React Native. К моменту, когда я начал писать этот пост, в нём уже больше десятка экранов, групповые WebRTC-звонки через …

react nativesqliteкэшированиеexpoмессенджерdrizzle ormмобильная разработкапроизводительностьархитектураtelegram