Классическим решением, вероятно, является использование шаблона прокси , где часть графика отправляется по сети, а некоторые папок заменяются прокси, у которых не будет своих списки детей, населенных до их запроса. Обращение к серверу занимает значительное количество времени и, вероятно, приведет к слишком большому количеству запросов, если все папки являются прокси-серверами (это будет выдавать новый запрос при каждой проверке содержимого папки), поэтому вы хотите перейти к некоторый компромисс между размером каждой порции данных и количеством запросов к серверу, необходимых в типичном сценарии. Это, конечно, зависит от приложения, но отправка содержимого всех дочерних папок, например, на глубину 2, может быть полезной стратегией ...
Короткая история : что, вероятно, будет работать лучше всего, это ваше решение № 1, за исключением того, что вы хотите отправлять более одной папки за раз из-за накладных расходов при двусторонней передаче на сервер. ..