Как смоделировать вложенные списки со многими элементами с помощью Google Drive Realtime API?

Я хотел бы смоделировать упорядоченные вложенные списки однородных элементов (например, то, что вы увидите в стандартном виджете дерева), используя API Google Диска в реальном времени. Эти деревья могут быть довольно большими, идеально подходящими для многих тысяч предметов.

Один из подходов:

Item:
    title: CollaborativeString
    attributes: CollaborativeMap
    children: CollaborativeList // recursivly hold other items

Но я не уверен, что это возможно при работе с большим количеством предметов.

Альтернативой может быть хранение всего порядка дерева элементов в одном CollaborativeList и добавление дополнительного атрибута «уровень». Затем реконструируйте древовидную структуру на основе этого уровня клиента. Это изменило бы необходимость поддерживать тысячи CollaborativeList к одному большому списку. Вероятно, есть много других альтернатив, о которых я не знаю.

Спасибо за подсказки о том, как лучше всего смоделировать это в Google Drive Realtime API.


person Jesse Grosjean    schedule 08.08.2014    source источник


Ответы (1)


Пока общий размер документа находится в пределах ограничений размера, не должно быть существенной разницы в производительности между подходами с точки зрения фреймворка. (Одно предостережение: использование ObjectChangedListeners с высокосвязным графом может замедлить работу. Вместо этого предпочтительнее регистрировать прослушиватели на конкретных объектах.)

Имеет смысл смоделировать его как настоящее дерево, так как с ним будет проще всего работать, и вы можете использовать новую операцию перемещения для атомарной перестановки элементов в списках.

person Cheryl Simon    schedule 09.08.2014