Я обратился именно к этому вопросу в презентации на местном собрании JUG на днях.
Что лучше, зависит от того, какие проблемы вы пытаетесь решить.Обычно это означает, какую боль вы пытаетесь избежать в предыдущих проектах.
Если вам будет больно включать статический контент в код вашего модуля GWT, тогда ваш второй вариант выглядит более подходящим.Если различные виджеты должны взаимодействовать друг с другом (например, обновление одного обновляет другие), тогда ваш первый вариант будет содержать меньше боли.
Вам нравится декларативный стиль генерации графического интерфейса?Если это так, то подумайте об использовании UiBinder, который включен в GWT 2.