Очень сложно иметь здесь «лучшую практику», поскольку четыре разных подхода хорошо работают в разных ситуациях. В зависимости от того, как вы используете GWT, будет определяться лучший вариант для использования.
Если ваша команда состоит из A) только Java и B) только CSS / HTML, варианты 1 или 2 будут работать. Однако, если у вас есть роль UX, которая понимает точку интеграции GWT и CSS / HTML / XML (читай: UiBinder). Этот человек может понять, как лучше всего настроить порядок UiBinder для максимизации функциональности, предоставляемой роли только для Java.
UiBinder + ClientBundle добавить дополнительный уровень сложности для вашего проекта. Это дает много преимуществ, но если ваша команда не в хорошей форме, вы можете нанести слишком много вреда.
«Наилучшая практика» может включать организацию основного файла CSS (используемого через ClientBundle или опции 1 или 2), который организован таким образом, чтобы обеспечить общую согласованность приложения и в то же время использовать особые стили в UiBinders для локальных материал
Если вы хотите сделать все возможное, я думаю, вам следует сосредоточиться на максимальном использовании UiBinder и CssResource / ClientBundle (материал Externs CssResource / ClientBundel, а также предоставление программного доступа к стилям UiBinder с помощью
Использовать внешний материал для повторного использования + добавленная согласованность