Я прочитал статью "Tags First GWT", в которой автор предлагает используя GWT для обработки событий и CSS для верстки. Я просто не знаю, перевешивает ли преимущество кроссбраузерной совместимости GWT гибкость, обеспечиваемую чистым макетом CSS.
GWT
В GWT 2.0 есть несколько шикарных панелей компоновки, но чтобы заставить их правильно изменять размер, вам действительно нужно построить все дерево содержания панелей от корневой панели вниз. Кажется, это все или ничего.
CSS
Вы также можете использовать CSS для макета приложения, и я склонен делать именно это, хотя бы для оправдания моей покупки нескольких книг, рекламирующих евангелие "семантической разметки". Обратной стороной может быть несовместимость между браузерами, распространенность которой мне еще предстоит определить.
Куда идти?
Каково твое мнение? Достаточно ли проблемы кроссбраузерности и достаточно ли распространены, чтобы оправдать отказ от моих книг по CSS и создание панелей макета GWT?
Ответ 1 · рейтинг 8 · Sripathi Krishnan
Я согласен с рекомендацией автора - используйте GWT для клиентской логики, но все же используйте HTML и CSS для представления.
Новые связыватели пользовательского интерфейса и декларативные шаблоны пользовательского интерфейса фактически побуждают вас писать HTML и CSS. Это проще для дизайнеров и упрощает сопровождение кода. Вы можете прочитать соглашения о макете GWT HTML на SO - в нем объясняется, как смешайте виджеты и plain-html / css, чтобы получить преимущества обоих миров.
UI Binder упрощает использование CSS с помощью <ui:style>. С <ui:style> вы можете сгенерировать CSS, специфичный для этого файла. GWT автоматически запутывает и оптимизирует ваш CSS. Кроме того, если вы неправильно напишете имя класса css, это даст вам ошибку времени компиляции (что здорово) вместо того, чтобы вы узнали об этом при развертывании страницы.
В <ui:style> вы можете поместить любой действительный CSS. UIBinder также может включать глобальную таблицу стилей. Кроме того, фоновые изображения в CSS могут автоматически объединяться в sprites / data: uris для повышения производительности.
Чтобы узнать больше, я бы рекомендовал прочитать Руководство по связыванию пользовательского интерфейса, а затем следуя примеру приложения "Контакты". Это отличный способ начать.
Кроме того, я бы рекомендовал использовать шаблон MVP для разработки GWT. применение. Об этом есть несколько хороших статей, и приложение GWT Contacts Sample - отличный способ изучить его.
Ответ 2 · Robusto
Проблемы кроссбраузерности достаточно серьезны, чтобы искать решения в каком-либо фреймворке, особенно если вы на самом деле не дизайнер / разработчик интерфейса. Но я бы не стал отказываться от книг по CSS. Это помогает вам понять, что происходит под покровом, когда абстракция фреймворка начинает просачиваться, и что вы можете с этим сделать.
Сам Google говорит: "Вы также не ограничены заранее заготовленными виджетами. Все, что вы можете делать с DOM браузера и JavaScript, можно делать в GWT, включая взаимодействие с рукописным JavaScript". Предположительно, это включает в себя стилизацию, если вы знаете, как это делать (как и если вы прочитали и поняли все эти книги по CSS).