почему виджеты GWT-ячеек являются фатерами?

#gwt

#gwt

Вопрос:

Я хотел знать, насколько виджеты ячеек быстрее по сравнению с обычными (старыми) виджетами GWT?

Я просмотрел Руководство разработчика статьи gwt — Виджеты ячеек

В нем говорится

Виджет ячейки отображает свой пользовательский интерфейс в виде строки HTML, используя innerHTML вместо традиционных манипуляций с DOM

Может кто-нибудь, пожалуйста, объяснить вышеизложенное? и как?

Ответ №1:

В обычной сетке GWT вы должны добавлять каждый виджет отдельно, что означает, что браузер никак не может это оптимизировать. Каждый добавляемый вами виджет также имеет свой собственный обработчик событий. Таким образом, вы создадите по крайней мере один элемент DOM для каждого добавляемого вами виджета и добавите его в сетку.

CellWidgets сначала преобразуют все дочерние элементы в строку, которая затем добавляется в DOM, вызывая SetInnerHTML (браузер может оптимизировать этот вызов и добавить все дочерние элементы в пакет), а обработка событий выполняется CellWidget только один раз.