Технический директор в Агентство Рупор
· 12.08Local-First веб-приложения
Пропал интернет и приложение перестало работать, потому что все данные оно получало с удалённого сервера. Сообщения не прочитать, документы не отредактировать, а таск-трекер сломался. Знакомая картина?
Большинство веб-приложений остановит работу, но не все. Набирает популярность новая (или хорошо забытая старая) парадигма Local-First: веб-приложение всегда работает с локальной базой данных, а интернет нужен только для синхронизации.
Подход внедряют у себя Linear, Miro, Trello, Figma, Notion, Excalidraw, Replit, Obsidian и растущее множество веб-приложений.
Чтобы реализовать Local-First, разработчикам нужно решить ряд технических вопросов: - В какой локальной базе хранить данные? - Как приложение должно себя вести при отключении от интернета? - Как синхронизировать изменения без конфликта?
Для всех этих ситуаций есть теоретическая база — структуры данных CRDT и алгоритмы синхронизации, написаны библиотеки для фронтэнда на React и Vue, разработаны базы данных.
Выигрыши для пользователя: - Высокая отзывчивость интерфейса и моментальное сохранение изменений у пользователя. - Непрерывные сеансы работы в приложении — выше продуктивность.
Замечу, что пользователь ожидает, что ваше приложение будет отзывчивым и поддерживать оффлайн-режим. Внедрение улучшит пользовательский опыт, но вряд ли станет главной фичей. Скорее всего, Local-First подход скоро станет частью фреймворков разработчиков и незаметно распространится.
❤️ Жми на сердечко, если интересно ⚡️ Жми на молнию, если узнал новое 🧑💻 Жми на ботана, если кодил синхронизацию
еще контент автора
еще контент автора
Технический директор в Агентство Рупор
· 12.08войдите, чтобы увидеть
и подписаться на интересных профи