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

Я делаю мессенджер ONEMIX на React Native. К моменту, когда я начал писать этот пост, в нём уже больше десятка экранов, групповые WebRTC-звонки через LiveKit, E2E на Double Ratchet + Sealed Sender, push-нотификации с cold-start навигацией и десктоп-версия на Electron. Но самым важным куском, который определяет ощущение от приложения, оказался не звук и не видео. А то, насколько быстро открывается чат. Если вы хоть раз делали список сообщений на React Native, вы знаете эту боль: открыл чат — пустой экран на 200–800 мс, потом подгрузка, потом скачок при докрутке наверх. В Telegram такого не бывает: открыл — мгновенно увидел последние сообщения, прокрутил наверх — никаких пустот, история идёт сплошной лентой. Я разбирался с этим несколько месяцев. В итоге пришёл к трёхуровневой архитектуре кэша, которую и хочу разобрать. Это не теория — это код, который сейчас работает в продакшне. Покажу как реализовано, какие были тупики и какие решения оказались критичными.

https://habr.com/ru/articles/1033502/

#react_native #sqlite #кэширование #expo #мессенджер #drizzle_orm #мобильная_разработка #производительность #архитектура #telegram

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

Уровень: middle/senior мобильная разработка, React Native, SQLite Стек: Expo SDK 54, React Native, expo-sqlite, drizzle-orm, AsyncStorage, TypeScript Что внутри: архитектура, код из продакшна, грабли,...

Хабр

2026-2028년 Ruby on Rails 생태계에서 React Native를 선택해야 하는 이유

Rails를 백엔드 단일 진실 공급원(Single Source of Truth)으로 삼고 React Native로 iOS와 Android를 동시 개발하여 비즈니스 로직 중복과 비용을 최소화한다.

🔗 원문 보기

2026-2028년 Ruby on Rails 생태계에서 React Native를 선택해야 하는 이유

Rails를 백엔드 단일 진실 공급원(Single Source of Truth)으로 삼고 React Native로 iOS와 Android를 동시 개발하여 비즈니스 로직 중복과 비용을 최소화한다.

Ruby-News | 루비 AI 뉴스

Хроники Облачного княжества: как я приручал монолит‑дракона

Часть 1. Когда я шёл в DevOps, я думал, что буду приручать серверы. Оказалось — людей, процессы и древнего дракона по имени Легаси. Я пришёл в Башню релизов ровно в девять ноль‑ноль — как человек, который ещё верит в расписание. Башня стояла на холме, укрытая облаками и корпоративными ценностями. Над входом висел герб: три кольца, перечёркнутые молнией, и девиз, вырезанный на граните так, чтобы его невозможно было отрефакторить: «Не деплой в пятницу». Внутри меня встретила девушка в мантии, похожей на худи с капюшоном, и сказала:

https://habr.com/ru/articles/1022326/

#React_Native #стартап #мобильное_приложение #поиск_команды #хакатоны #нетворкинг #frontend

Хроники Облачного княжества: как я приручал монолит‑дракона

Часть 1. Когда я шёл в DevOps, я думал, что буду приручать серверы. Оказалось — людей, процессы и древнего дракона по имени Легаси. Я пришёл в Башню релизов ровно в девять ноль‑ноль — как человек,...

Хабр

Hotwire와 React Native를 위한 통합 디자인 시스템 구축 가이드

디자인 토큰을 Primitive, Semantic, Component의 3계층으로 구조화하여 Figma와 코드베이스 간의 단일 진실 공급원을 구축한다.

🔗 원문 보기

Hotwire와 React Native를 위한 통합 디자인 시스템 구축 가이드

디자인 토큰을 Primitive, Semantic, Component의 3계층으로 구조화하여 Figma와 코드베이스 간의 단일 진실 공급원을 구축한다.

Ruby-News | 루비 AI 뉴스

[Перевод] Ключ от всех дверей: как я взломал все электросамокаты одного производителя

Несколько лет назад я решил купить электросамокат, чтобы ездить на работу. Я уже какое-то время пользовался прокатом самокатов, но устал от необходимости «охоты» на них или отсутствия их рядом с домом, когда мне нужно было ехать в офис. Мой выбор остановился на Äike T. Не потому, что он оказался лучше других самокатов: на самом деле, его цена была даже выше других, и в этом ценовом сегменте рынка явно имелись скутеры с более высокими параметрами. Однако я выбрал Äike, потому что его производили в моей стране, а мне нравится по возможности поддерживать местные компании. Äike («молния» на эстонском) был спроектирован и изготавливался в Эстонии, прямо в Таллине. Насколько я могу судить, разработчики использовали не так много стандартных компонентов. Конструкция была разработана с нуля, модуль IoT и аккумуляторные блоки тоже производили локально, и так далее. Нельзя сказать, что это однозначно лучше, ведь при этом усложняется обслуживание самоката, но сам продукт мне показался амбициозным. Ещё одной причиной покупки стало то, что у производителя была сестринская компания Tuul («ветер» на эстонском), занимавшаяся прокатом электросамокатов. Это тоже были скутеры Äike, и из всех конкурентов мне больше всего нравились Tuul/Äike, поэтому я по возможности пользовался их прокатом. В прошлом году компания Äike обанкротилась . В будущем это не предвещало ничего хорошего: станет всё сложнее находить запчасти, ведь они были нестандартными. Но возникли у меня и более актуальные опасения, связанные с возможностью пользоваться самокатом. У него нет ручной функции включения/отключения. Для включения и выключения, открывания аккумуляторного отсека, переключения в режим транспорта и так далее необходимо было приложение.

https://habr.com/ru/companies/ruvds/articles/1012440/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1012440

#internet_of_things #iot #электросамокаты #react_native #ruvds_перевод

Ключ от всех дверей: как я взломал все электросамокаты одного производителя

Несколько лет назад я решил купить электросамокат, чтобы ездить на работу. Я уже какое-то время пользовался прокатом самокатов, но устал от необходимости «охоты» на них или отсутствия их рядом с...

Хабр

[Перевод] Ключ от всех дверей: как я взломал все электросамокаты одного производителя

Несколько лет назад я решил купить электросамокат, чтобы ездить на работу. Я уже какое-то время пользовался прокатом самокатов, но устал от необходимости «охоты» на них или отсутствия их рядом с домом, когда мне нужно было ехать в офис. Мой выбор остановился на Äike T. Не потому, что он оказался лучше других самокатов: на самом деле, его цена была даже выше других, и в этом ценовом сегменте рынка явно имелись скутеры с более высокими параметрами. Однако я выбрал Äike, потому что его производили в моей стране, а мне нравится по возможности поддерживать местные компании. Äike («молния» на эстонском) был спроектирован и изготавливался в Эстонии, прямо в Таллине. Насколько я могу судить, разработчики использовали не так много стандартных компонентов. Конструкция была разработана с нуля, модуль IoT и аккумуляторные блоки тоже производили локально, и так далее. Нельзя сказать, что это однозначно лучше, ведь при этом усложняется обслуживание самоката, но сам продукт мне показался амбициозным. Ещё одной причиной покупки стало то, что у производителя была сестринская компания Tuul («ветер» на эстонском), занимавшаяся прокатом электросамокатов. Это тоже были скутеры Äike, и из всех конкурентов мне больше всего нравились Tuul/Äike, поэтому я по возможности пользовался их прокатом. В прошлом году компания Äike обанкротилась . В будущем это не предвещало ничего хорошего: станет всё сложнее находить запчасти, ведь они были нестандартными. Но возникли у меня и более актуальные опасения, связанные с возможностью пользоваться самокатом. У него нет ручной функции включения/отключения. Для включения и выключения, открывания аккумуляторного отсека, переключения в режим транспорта и так далее необходимо было приложение.

https://habr.com/ru/companies/ruvds/articles/1012440/

#internet_of_things #iot #электросамокаты #react_native #ruvds_перевод

Ключ от всех дверей: как я взломал все электросамокаты одного производителя

Несколько лет назад я решил купить электросамокат, чтобы ездить на работу. Я уже какое-то время пользовался прокатом самокатов, но устал от необходимости «охоты» на них или отсутствия их рядом с...

Хабр

Как мы написали React Native библиотеку для Яндекс Карт за два дня с Claude

Сначала коротко о том, зачем нам это было нужно. Мы в основном пилим решения для фудтеха, а для мобилок используем React Native (почему, рассказывали тут ). В одном из таких проектов (российская сеть ресторанов по франшизе) нам нужно было прикрутить Яндекс Карты. Изначально хотели взять либу react-native-yamap (респект тем, кто ее делал) — но как выяснилось, она работает только на старой архитектуре RN. После обновления до 0.76 версии, где Fabric стала использоваться по умолчанию, приложения на iOS начали падать: карта не рендерится, события не доходят до JS, приложение крашится при взаимодействии с картой и вот это вот всё. И судя по открытым тикетам, мы не одни, кто столкнулся с этой проблемой. Полезли искать, написал ли кто-то уже библиотеку под новую архитектуру — но либо таких людей нет, либо ни с кем не делятся. Спойлер: мы пока тоже не будем, ещё обкатываем либу на своих проектах — но уже сейчас хотим рассказать, как собрали новый пакет с помощью Claude Code за два дня.

https://habr.com/ru/articles/1004576/

#React_Native #Яндекс_Карты #Fabric #TurboModules #Codegen #Claude #iOS #Android #нативные_модули #новая_архитектура

Как мы написали React Native библиотеку для Яндекс Карт за два дня с Claude

Сначала коротко о том, зачем нам это было нужно. Мы в основном пилим решения для фудтеха, а для мобилок используем React Native (почему, рассказывали тут ).  В одном из таких проектов (российская...

Хабр

Выставить приложение в плей маркет и быть заблокированным через месяц

Мы хотели запустить приложение в нише 18+ всего за неделю. Звучало как идеальный план, но на деле это вылилось в три года работы и вечный бан в Google Play. В статье я расскажу, как мы пытались обмануть систему, набивали шишки с React Native и в итоге заменили отдел маркетинга на скрипты в n8n. Это история о том, как потерять аккаунт разработчика, но все-таки построить прибыльный продукт

https://habr.com/ru/articles/993448/

#react #expo #react_native #мобильная_разработка #приложения_на_ios #приложения_на_андройд #дизайн_приложений #аналитика_приложений

Выставить приложение в плей маркет и быть заблокированным через месяц

Или наш опыт разработки мобильного приложения для "Взрослых" План статьи Репрезент проекта Стек технологий Клиентская часть Серверная часть Контент и SMM технологии Трекинг задач Первоначальные задачи...

Хабр

React Native. Часть 2: Bare Workflow, Expo, стили и платформенные особенности

В первой части мы разобрали эволюцию архитектуры React Native. Теперь перейдем к практическим вопросам: как организован процесс разработки и какие платформенные особенности встретятся в работе. Процесс разработки Выбор между классическим подходом и Expo – одно из первых архитектурных решений в проекте. Разберем оба варианта. Bare React Native Процесс требует настройки окружения (Xcode для iOS, Android Studio для Android). В упрощенном виде процесс запуска приложения для разработки выглядит следующим образом:

https://habr.com/ru/articles/990818/

#React_Native #Expo #EAS #Стилизация #Мобильная_разработка #Bare

React Native. Часть 2: Bare Workflow, Expo, стили и платформенные особенности

В первой части мы разобрали эволюцию архитектуры React Native. Теперь перейдем к практическим вопросам: как организован процесс разработки и какие платформенные особенности встретятся в работе....

Хабр

React Native. Часть 1: архитектура, производительность и варианты использования

React Native прошел путь от решения с фундаментальными архитектурными ограничениями до платформы с современным, производительным ядром. В этой статье мы разберем, как работала старая архитектура на основе Bridge , как ее заменили JSI, Fabric и Hermes , и в каких случаях React Native - оптимальный выбор для проекта. Старая архитектура с Bridge В основе этой архитектуры лежат асинхронный Bridge. Нативный код и JavaScript работали в отдельных потоках. Общение между ними происходило через Bridge, который передавал сообщения в формате JSON.

https://habr.com/ru/articles/989776/

#React_Native #Архитектура #JSI #Fabric #Мобильная_разработка

React Native. Часть 1: архитектура, производительность и варианты использования

React Native прошел путь от решения с фундаментальными архитектурными ограничениями до платформы с современным, производительным ядром. В этой статье мы разберем, как работала старая архитектура на...

Хабр