Слогер Создать блог
Разработка

Как построить браузерную ОС без сервера: разбор local-first архитектуры

Локальное хранение, офлайн-режим и монетизация без бэкенда — на примере экспериментального проекта Cordoval.

Представьте веб-приложение, которое не отправляет данные на сервер, не требует аккаунта и работает даже при потере соединения. Большинство современных сайтов устроены наоборот: тяжёлый бэкенд, облачные базы, подписка. А что, если весь «сервер» — это браузер пользователя?

Именно этот вопрос себе задал автор проекта Cordoval — браузерной ОС, которая живёт в одной вкладке и обходится без серверной инфраструктуры. Расходы на хостинг — ноль. Задержки при обращении к базе — ноль. Телеметрия — отсутствует. При этом внутри есть рабочий стол, экономический симулятор и подкаст-плеер. Разберём, как это устроено и что стоит взять на заметку, если вы строите своё приложение без бэкенда.

Три кита local-first архитектуры

Вместо удалённой базы данные лежат на диске пользователя. Для этого используются два браузерных API.

OPFS и IndexedDB

Origin Private File System (OPFS) — это быстрый доступ к файлам прямо из браузера. В Cordoval он отвечает за бинарные файлы, тяжёлые документы и снапшоты состояния. IndexedDB, в свою очередь, хранит ключ-значение состояния приложения, настройки пользователя и индексы.

Почему это важно: нулевая задержка при чтении, полный офлайн и суверенность данных. Если сеть падает — ОС продолжает работать. Это резко контрастирует с классическими веб-сервисами, где потеря соединения означает «попробуйте позже».

Web Workers для тяжёлых вычислений

Экономический симулятор в Cordoval считает цены акций, облигации и недвижимость в реальном времени. Чтобы UI не тормозил, все вычисления вынесены в Web Workers — отдельные потоки, которые не блокируют интерфейс. Главный поток получает только готовые результаты через postMessage. В итоге рендеринг остаётся плавным, даже если внутри идёт сложная симуляция.

Нативный стриминг аудио

Подкаст-плеер внутри ОС работает без прокси-сервера для медиа. RSS-фид парсится прямо на клиенте через fetch(), а аудио стримится через HTML5 Audio. Никаких промежуточных серверов — только ваш браузер и оригинальный источник.

Монетизация без бэкенда: эксперимент Sharewall

У приложения нет аккаунтов и серверной аналитики. Поэтому классическая платная подписка тут не работает. Вместо этого автор придумал локальный «социальный замок».

  • Приложение считает активные минуты через Page Visibility API — только когда вкладка реально на экране.
  • После 30 активных минут доступ приостанавливается.
  • Чтобы продолжить, нужно поделиться ссылкой через нативный navigator.share().
  • После шаринга в localStorage пишется метка, которая открывает доступ на 30 дней.

Технически это можно обойти, открыв DevTools и подправив данные. Но для обычных пользователей это простой вирусный цикл без сбора данных. Идея интересная: монетизация внимания вместо подписки, и она не требует ни одного запроса на сервер.

Сравнение с классической архитектурой

АспектКлассический веб-сервисLocal-first (Cordoval)
СерверПостоянные инстансы, базы данныхОтсутствует
Хранение данныхОблачная БДOPFS + IndexedDB на устройстве
Офлайн-режимОбычно недоступенПолная работа без сети
МонетизацияПодписка, рекламаЛокальный sharewall
ПриватностьДанные на сервереДанные на устройстве

Подводные камни, о которых нужно знать

Архитектура без бэкенда — не серебряная пуля. Источник честно перечисляет две главные проблемы.

Первая — мобильные браузеры. iOS Safari может вытеснить данные IndexedDB и PWA-хранилища, если приложение не добавлено на главный экран и им долго не пользовались. Поэтому обязателен механизм экспорта и импорта резервных копий. Иначе пользователь может потерять всё.

Вторая — CORS. Некоторые подкаст-хосты запрещают кросс-доменные запросы к своим RSS-фидам через строгие CDN-заголовки. Приходится аккуратно разруливать fallback на стороне клиента. Это ограничение не обойти чисто «локально».

Что делать, если вы хотите построить подобное

Из этого проекта можно вынести несколько практических принципов. Не как готовый рецепт, а как отправную точку.

  1. Начните с IndexedDB для простых данных. Он есть во всех браузерах и прощает много ошибок.
  2. Для больших бинарных данных переходите на OPFS — он заметно быстрее, но требует аккуратной работы с файловыми дескрипторами.
  3. Выносите любые циклы и вычисления в Web Workers. Даже простая симуляция может подвесить интерфейс, если оставить её в главном потоке.
  4. Не надейтесь, что браузер сохранит данные навсегда. Делайте экспорт в файл и напоминайте пользователю о резервной копии.
  5. Если используете внешние данные (ленты, API), продумайте CORS-фолбэки. Возможно, часть запросов придётся тонко настраивать.

И отдельно про монетизацию: она возможна и без бэкенда. Конечно, sharewall с локальным токеном — это не защита от опытного хакера. Но для аудитории, которая не лезет в DevTools, это полностью рабочая схема, не требующая инфраструктуры.

Local-first подход меняет правила игры: сервер из точки отказа превращается в необязательный элемент. Пользователь получает контроль над данными, разработчик — нулевые расходы на хостинг. Разумеется, в таком подходе есть ограничения — от вытеснения хранилища браузером до CORS. Но для приложений, где приватность и офлайн важнее «серверной магии», это очень перспективный путь.

По материалам: startup. Текст переработан редакцией Слогера.

← На главную

Рекламное место — Конец поста
Реклама · Слогер

Комментарии (0)

Войдите, чтобы комментировать.

Пока нет комментариев. Будьте первым.

Карьера

Как читать WARN Act: что делать, если вместо 60 дней отработки предлагают деньги

Федеральный закон требует предупредить о массовом сокращении за 60 дней. Но иногда работодатель не предупреждает, а платит — и это другое, чем выходное пособие. Разбираем, что должно входить в сумму, где её обычно урезают и как это связано с пособием по безработице.

Слогер 02.11.2026 ▲ 0
Карьера

Как подготовиться к собеседованию по кодингу, где разрешён ИИ: план репетиции на 60 минут

Один маленький проект, таймер на час и умение объяснить каждую строку, которую написал ваш ассистент. Разбираем формат, который в марте 2026 года описала DoorDash, и собираем тренировку под него.

Слогер 02.11.2026 ▲ 0
Карьера

Как работает WARN Act при продаже бизнеса: кто обязан предупредить сотрудников за 60 дней

Сделку закрыли, а через месяц начались сокращения. По федеральному закону США ответ на вопрос «кто должен был предупредить» зависит от даты закрытия и от того, взял ли покупатель людей на работу.

Слогер 02.11.2026 ▲ 0
AI

Почему AI-агент заработал $0 за 69 дней: разбор четырёх каналов и чек-лист проверки заказчика

Шесть заявок в escrow, семь ставок на джоб-борде, 16 баунти и 137 просмотров статей — с нулевым результатом. Что из этих цифр следует, если вы хотите зарабатывать через агента или с его помощью.

Слогер 02.11.2026 ▲ 0
Fluxs lenta
Реклама · fluxs.ru
Карьера

Что будет с медстраховкой после сокращения: разбор WARN, COBRA и страховой биржи

Уведомление по WARN сообщает, когда закончится работа, и молчит о том, когда закончится страховка. Разбираем, где искать дату окончания покрытия, чем COBRA отличается от плана на бирже ACA и какие дедлайны нельзя пропустить.

Слогер 01.11.2026 ▲ 1
Дизайн

Как разработчику-основателю поставить задачу моушн-дизайнеру: бриф, после которого не придётся переделывать

Полстраницы контекста вместо «сделайте чисто и современно»: что писать в брифе, какие материалы прикладывать и почему интерфейс нужно заморозить до первой секунды анимации.

Слогер 01.11.2026 ▲ 1
Карьера

Как читать WARN-уведомления о сокращениях: разбор на примере Haynes Furniture

Haynes Furniture подала уведомление в Вирджинии на 83 сотрудника. Дата уведомления и дата вступления в силу совпадают — 30 октября 2026 года. Что показывает эта запись и чего она не доказывает.

Слогер 31.10.2026 ▲ 1
Fluxs lenta
Реклама · fluxs.ru
Личный опыт

Исполнительная дисфункция или лень: как отличить и что отвечать на обвинения в безделье

Застревание перед простой задачей выглядит как лень только снаружи. Внутри — борьба, которая выматывает сильнее самой работы. Разбираем, чем это отличается и какие фразы помогают в разговоре.

Слогер 31.10.2026 ▲ 0
Карьера

Как читать WARN-уведомления о сокращениях: разбор записи Intel в Фолсоме

В калифорнийском реестре появилась запись о сокращении 67 сотрудников Intel с датой вступления в силу 31 октября 2026 года. На её примере видно, что такие документы говорят и чего не говорят никогда.

Слогер 31.10.2026 ▲ 0
Личный опыт

Как выбрать частного онлайн-психолога: 4 фильтра, которые отсеивают лишнее

Частные онлайн-консультации — это лицензированный специалист на видеосвязи или в чате и приватное пространство, чтобы думать спокойно. Разбираем, что спросить до первой встречи, чтобы не потратить месяцы и деньги зря.

Слогер 31.10.2026 ▲ 1
Fluxs lenta
Реклама · fluxs.ru