Всем Привет!
Воображаемое облачное приложение - это большой список задач 1000+ (тудушки)
Каждая задача достаточно обьемна и содержит в себе этапы, сроки, всякие статусы, приритеты, исполнителей, комментарии и тд. Все это можно менять.
Список можно фильтровать по тэгам, алфавиту, дате, статусам, приоритетам.. короче почти по всем пунктам.
Какая больше подходит архитектура, с учетом того что должно работать и на мобильных?
1) Снять все обязанности с фронта и доверить фильтрацию серверу,
каждое изменение отдавать его величеству. (гоняем большие json-ы)
+ Легко реализовать.
- 100 маленьких компаний, по 1000 задач в каждой, и 600 человеками прсото ddos-нут сервер, придется тратится на железо.
- Отзывчивостью и не пахло(и старничку обновлять нид, чтобы изменения подтянуть), особенно плохо если гонять по 3г
2) Каждый пользователь асинхронно скачивает себе дамп задач и записывает в локальное хранилище, далее работает исключительно с ним, Каждое изменение попадает в планировщик, а тот уже синхронизирует с сервером. Остальные могут получать изменения например по сокетам.
- Сложнее реализовать, т.к много тонких мест.
+ Можно работать в офлайне или со слабым инетом
+ Можно юзать более дешевое железо
- Отзывчивость сильно зависит от мощности девайса, но грамотное кэширование, кусочек асинхронности и все будет летать.
3) другие способы??
А что Вы думаете по этому поводу?
Опять с бэкендером спорил..)