SPA архитектура
Всем Привет! :)
Воображаемое облачное приложение - это большой список задач 1000+ (тудушки) Каждая задача достаточно обьемна и содержит в себе этапы, сроки, всякие статусы, приритеты, исполнителей, комментарии и тд. Все это можно менять. Список можно фильтровать по тэгам, алфавиту, дате, статусам, приоритетам.. короче почти по всем пунктам. Какая больше подходит архитектура, с учетом того что должно работать и на мобильных? 1) Снять все обязанности с фронта и доверить фильтрацию серверу, каждое изменение отдавать его величеству. (гоняем большие json-ы) + Легко реализовать. - 100 маленьких компаний, по 1000 задач в каждой, и 600 человеками прсото ddos-нут сервер, придется тратится на железо.;) - Отзывчивостью и не пахло(и старничку обновлять нид, чтобы изменения подтянуть), особенно плохо если гонять по 3г 2) Каждый пользователь асинхронно скачивает себе дамп задач и записывает в локальное хранилище, далее работает исключительно с ним, Каждое изменение попадает в планировщик, а тот уже синхронизирует с сервером. Остальные могут получать изменения например по сокетам. - Сложнее реализовать, т.к много тонких мест. + Можно работать в офлайне или со слабым инетом + Можно юзать более дешевое железо - Отзывчивость сильно зависит от мощности девайса, но грамотное кэширование, кусочек асинхронности и все будет летать. 3) другие способы?? А что Вы думаете по этому поводу? :) Опять с бэкендером спорил..) |
п.1
Я сейчас чем-то подобным занимаюсь. По сути у нас есть конструктор таблиц (конфигурируется с сервера) т.е. вся таблица строится динамически на клиенте (колонки, фильтры etc.) https://yadi.sk/i/jIyrSM98bphUv |
Если тебе не нужна работа offline, то не заморачивайся и делай всё на сервере.
|
Хранить по максимуму на сервере. Работать тоже с ним. Данные гонять на сервер. Можно частично кэшировать, но обязательно синхронизировать при первой возможности. 100 компаний моментально сделают тебе git из твоего приложения, если не синхронизировать постоянно.
Похоже, что тебе нужен именно третий вариант. Сначала гонять все на сервер, а затем посмотреть, что можно оптимизировать(кэшировать) и сделать допил. |
Цитата:
Я просто думал что нагрузку на сервер нужно уменьшать по возможности, и такие вещи как например фильтрация поручать клиенту, а тогда так или иначе нужно отдавать ему дамп, или хотя бы модели, чтобы он отфилтровал. |
Если не указано иного считаем что клиент работает с утюга.)
|
Наверное регулярно ругаюсь с бэкендерами пттому что хочу сделать клиет толще))
|
Цитата:
Цитата:
Цитата:
|
Цитата:
будь моя воля я бы от бэка избавился и воцарился бы p2p среди клиентов, но блин приложенице не подходящее и как сделять я хз пока)) |
Цитата:
|
Часовой пояс GMT +3, время: 22:54. |