Есть: backend на Django REST Framework, frontend на Angular2+. Список компаний + связи один-ко-многим (фотки, контакты организации).
Какой вариант взаимодействия с API лучше? (В обоих вариантах тянем, например, по 20 записей)
1. Грузим список компаний, который содержит ВСЮ информацию о компаниях, то есть сразу и ссылки на фотки, и контакты, и время работы. Соответственно, запрос один, но большой (жадная загрузка и т.д.). Зато при клике на элемент в списке ангуляр рендерит подробную информацию уже без дополнительно запроса.
2. Грузим список компаний, который содержит только информацию необходимую для отображения в списке (название, категория). По клику на компанию ангуляр идёт на апи за дополнительной информацией. Соответственно, клик на каждую компанию - дополнительный запрос. Тут стоит учесть, что не обязательно все компании прокликают.
Как по вашему опыту стоит или не стоит делать и почему? Или это вопрос сугубо индивидуальный, и наверняка можно сказать что лучше только в бою?
Сам склоняюсь к этому же варианту + хочу чтобы приложение могло в offline mode, этот вариант как раз более удобен для него. Но мало ли, есть какие-нибудь подводные камни.
Андрей Шубин: с точки зрения производительности и правильности подхода, данные лучше подгружать по мере необходимости, следовательно второй вариант является наиболее приемлемым.