Hacker News Digest

29 августа 2025 г. в 16:20 • marcoapp.io • ⭐ 107 • 💬 63

OriginalHN

#indexeddb#lokijs#postgresql#mongodb#watermelondb#powersync#electricsql#replicache#oramadb#opfs

Offline-First Landscape – 2025

Почему мы отказались от WatermelonDB

  • IndexedDB тормозит: WatermelonDB держит всю БД в памяти через LokiJS, что при 100 МБ+ данных недопустимо.
  • Синхронизация хрупкая: клиент обязан сначала вытянуть данные, иначе мутации могут затереться.
  • Проект замедлился: PR с чанковой загрузкой висит месяцами, активность упала.
  • Web-ограничения: IndexedDB единственное постоянное хранилище в браузере, и все реализации страдают от его скорости.

Что мы искали

  • Полноценная работа офлайн: чтение, удаление, ответ, сортировка писем без сети.
  • Сотни МБ и миллионы строк с первого запуска — задача из топ-1 %.
  • Кроссплатформенность: web + натив, общий знаменатель — браузер.
  • Отказались от идеи «база-независимый API»: готовы интегрироваться на уровне Postgres, если это даст надёжность.

Первые кандидаты

Библиотека Плюсы Минусы
WatermelonDB Open-source, проверен временем Память, тормоза, слабая поддержка
PowerSync Есть self-host Требует кластер MongoDB + изменения Postgres, кейсы только демо
ElectricSQL Переписывают, односторонняя синхронизация, требует Postgres

Итог
Альфа-версия на WatermelonDB работала, но к ноябрю стало ясно: для «тяжёлого» офлайна нужно что-то совсем другое. Мы начали поиск «новой волны» решений, отбросив все предубеждения.