GWT - должен ли сервер возвращать необработанные данные или виджет? - PullRequest
0 голосов
/ 11 ноября 2010

Вопрос новичка:

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

Должен ли я создать виджет GWT Tree на сервере и просто вернуть его как есть, или я должен придерживаться необработанных данных и сформулировать виджет на клиенте?

Ответы [ 3 ]

5 голосов
/ 11 ноября 2010

(1) Вы хотите передать чистые данные (объекты Java) между сервером и клиентом.Клиент (код в браузере) должен отвечать за превращение чистых данных в визуальное представление для пользователя.

(2) Кроме того, поскольку виджеты GWT ссылаются на части DOM браузера, я вполне уверенв любом случае вы не можете создать экземпляр этих объектов на сервере.

2 голосов
/ 11 ноября 2010

Две причины, почему я думаю, что вы не должны отправлять все дерево виджетов:

  • Передача обработки клиентам значительно облегчает жизнь вашим серверам, особенно при работе с большим количеством дорогостоящих запросов. Вот что такое GWT: пусть клиент выполняет всю работу.
  • Сервер не несет ответственности за работу с пользовательским интерфейсом. Такие функции, как отложенное связывание (то есть определение того, какие части вашего приложения необходимы для конкретного браузера, от которого поступает запрос), выполняются на клиенте после загрузки no.cache.js. Это не может быть сделано на сервере.
0 голосов
/ 13 ноября 2010

Может быть, вам нужна структура данных, которая содержит предварительно обработанные данные макета?Вы можете предварительно обработать код макета, который вам нужен, на стороне клиента, вставив его в Array / ArrayList какого-то специального класса.Может быть, тогда вы сможете обойти клиентскую логику построения дерева и просто перебрать список?Но вы должны проверить время, например, для сортировки большого списка быстрее выполнить сортировку на сервере и отправить список обратно, для небольшого списка нагрузка на сеть больше, чем у более медленного JavaScript-браузера.Я не знаю, верно ли это для вашего примера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...