В большинстве примеров Activity и Places, которые я видел, люди используют SimplePanel в качестве отображения для ActivityManager.
Мне было интересно, есть ли преимущество в использовании DeckPanel/DeckLayoutPanel вместо SimplePanel. Довольно просто создать оболочку вокруг панели Deck, которая реализует AcceptsOnWidget.
Я нигде не видел, чтобы эта тема обсуждалась. До того, как MVP + Activity стали широко использоваться в GWT, люди обычно использовали панели вкладок (которые внутри используют панели типа колоды) и панели колоды для управления переключением между панелями в заданном представлении.
Разница между ними заключается в том, что SimplePanel.setWidget(..) удалит предыдущий дочерний элемент из DOM и добавит новый виджет, тогда как панель типа колоды будет использовать CSS для управления видимостью текущей панели (например, «display: none», чтобы скрыть неактивные панели).
Если вы используете панель колоды, это обычно означает, что у вас будет гораздо больше элементов в DOM. Я бы предположил, что это использует больше памяти и делает приложение «вялым», даже если эти узлы не видны («отображение: нет»). Это правда?
Если это так, то почему Google использовал импл стиля панели колоды для TabPanel/TabLayoutPanel вместо внутреннего использования SimplePanel?
Является ли один подход более благоприятным по сравнению с другим?