Ответы пользователя по тегу Одностраничное приложение
  • Как правильно получать данные с сервера в SPA (React + Redux)?

    @grinat
    Если там справочники, то они кэшируются. А сервис воркер, это если чел без интернета зашел и ему все показалось, хотя конкретно в данном случае смысла в нем ноль, эти аяксы можно также хранить в бд, но смысла в этом тоже ноль, поскольку они и так обычно есть в памяти.
    Ответ написан
    Комментировать
  • Архитектурный вопрос. Может ли клиент иметь бизнес логику?

    @grinat
    Путаницы нет, проблем в том что в ряде случаев клиенты стали настолько толстыми, что на клиент фактически выкачивается вся бд, потом по хитрой логике она синхронизируется. Как итог при сложных расчетах это все еле шевелится на клиенте, потому что на клиенте не выйдет купить еще плашку с озу либо добавить стойку. Поэтому и пошел тренд на тонкие клиенты. Spa может быть как толстым, когда выкачивается все с сервера, все это может работать оффлайн, когда есть интернет синхронизуется, так и тонким, когда просто получаются данные и отображаются, а за все что сложнее 2+2 отвечает сервер. Но большое приложение никак не выйдет сделать толстым spa, толстым можно сделать приложение на electron.
    Клиент может иметь логику в рамках своей интерактивности, то есть если добавляются товары в корзину, то нет смысла делать отдельный запрос и считать сумму на сервере(при условии что например нет скидки которая зависит от всей истории заказов пользователя за последние годы и нет задачи обеспечить согласованность на всех устройсвах где залогинен польователь и мог паралельно сделать заказы и т.п.). Но за генерацию инвойса с итоговой суммой может отвечать только бакэнд.
    Ответ написан
    Комментировать
  • Какой js фреймворк / библиотеку выбрать для SPA + SSR?

    @grinat
    У тебя ни один код не заработает под ssr, если он написан под браузер, потому что noda это не браузер. Обычно два бандла делают один для клиента, другой под ssr, либо другой вариант есть, это мокать кучу браузерных api.
    Ответ написан
    Комментировать