Задать вопрос
Ответы пользователя по тегу JavaScript
  • Актуален ли Logux?

    Привет. Актуальна — проект развивается и задачи такие сейчас стоят часто. Недавно выпустили документацию и красивый сайт для проекта. Сами используем его в продакшене и знаю несколько проектов, который внедрили Логакс.

    На Логакс стоит смотреть если:

    1. У тебя на сайте несколько пользователей могут редактировать один документ — это очень часто в различных админках, где в компании несколько менеджеров. Тут конкурентов вообще мало, но и Логакс не даст 100% решения, надо будет грамотно продумывать атомарные операции. Хотя даже если не продумывать будет лучше, чем с AJAX/GraphQL.
    2. Если нужны обновления данных без перезагрузки страницы. Тут решений много, но Логакс отлично ложиться если у тебя Redux — не надо делать отдельный слой совместимости, просто пересылаешь экшены. Ну и всякие приятные мелочи есть — синхронизация между вкладками, корректное поведение в офлайн и т. п.
    3. Если нужен оптимистичный UI — когда форма закрывается сразу по нажатию на Сохранить. Это круто ускоряет UI, но, понятно, что просто ради одной-двух форм нет смысла добавлять Логакс. Это скорее как дополнительный бонус
    4. Если надоело как криво работают современные приложения с реальной сетью. Это было главной причиной создания Логакса для меня. Хочется, чтобы данные между вкладками синхронизировались. Чтобы приложение не показывало бесконечную критику, если Интернет пропал (а это происходит постоянно). В отличии от AJAX и GraphQL, Логакс сразу сделан из расчёта реального Интернета, а не идеальной связи localhost-localhost на машине разработчика.


    Конкуренты: для задачи 1 можно взять Firebase, но это vendor lock-in, сложно использовать свою базу и разрешение конфликтов чуть хуже. Для задачи 2 есть много решений (гугли по websocket js) в том числе для GraphQL — но у многих решений хуже продуманы крайние случаи (например, разный порядок событий на разных клиентах приведёт к разному результату). Для оптимистичного UI тоже есть решения, большинство их которых так же ломается в реальных случаях (что будет если сервер упал).

    Но вообще сейчас много есть попыток пересоздать связь с сервером — тот же gun.js. Гугли по CRDT js.

    Вопросы можно задать нам в гитер-чате.
    Ответ написан
    Комментировать