Реализация “тонкого” или “толстого” клиента.
Допустим мы делаем приложение - ленту рекомендаций, на базе которого лежит алгоритм ранжирования, который принимает решения какие посты показывать, а какие нет.
Какими путями пойти?
На клиенте есть какой то интерфейс, и для работы необходимы данные из базы данных, но перед тем как непосредственно отправить запрос в базу данных нужно еще и алгоритмически вычислить какие посты показывать, а какие нет.
Тонкий клиент
Отправляется Get запрос серверу. Сервер, запускает у себя программу ранжирования и запрашивает данные из базы данных и выдает оформленный в JSON ответ.
Толстый клиент
Делать на клиенте обработку (алгоритм ранжирования) и сразу (из приложения) опрашивать базу данных, при этом сократив серверные расходы (из-за того что вся обработка происходит на клиенте). Ведь алгоритмы на клиентской машине (Android/IOS) будут исполняться быстрее, чем ждать, когда ответит сервер.
Как обычно делают?