Панели макета GWT против макета CSS

Я прочитал статью «Tags First GWT», в которой автор предлагает используя GWT для обработки событий и CSS для верстки. Я просто не знаю, перевешивает ли преимущество кроссбраузерной совместимости GWT гибкость, обеспечиваемую чистым макетом CSS.

GWT

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

CSS

Вы также можете использовать CSS для макета приложения, и я склонен делать именно это, хотя бы для оправдания моей покупки нескольких книг, рекламирующих евангелие «семантической разметки». Обратной стороной может быть несовместимость между браузерами, распространенность которой мне еще предстоит определить.

Куда идти?

Каково твое мнение? Достаточно ли проблемы кроссбраузерности и достаточно ли распространены, чтобы оправдать отказ от моих книг по CSS и создание панелей макета GWT?


person David    schedule 14.04.2010    source источник
comment
вы имеете в виду w3.org/TR/2009/WD-css3- layout-20090402, когда вы говорите макеты css?   -  person Anurag    schedule 14.04.2010
comment
Не особо. Я имею в виду целый ряд методов CSS для перемещения, позиционирования, изменения размера, плавности, наложения и перемешивания с HTML.   -  person David    schedule 14.04.2010


Ответы (2)


Я согласен с рекомендацией автора - используйте 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 - отличный способ изучить его.

person Sripathi Krishnan    schedule 14.04.2010
comment
Использование тегов ‹ui: style› в этой штуке UI Binder действительно странно. Я имею ввиду, где селекторы? - person David; 14.04.2010
comment
Обновил свой пост. ‹Ui: style› - это совершенно необязательная вещь, которая придает большую мощь вашему CSS. Однако, если вам это неудобно, вы можете вообще пропустить его и просто включить простой-старый-css-файл. - person Sripathi Krishnan; 14.04.2010

Проблемы кроссбраузерности достаточно серьезны, чтобы искать решения в каком-либо фреймворке, особенно если вы на самом деле не дизайнер / разработчик интерфейса. Но я бы не стал отказываться от книг по CSS. Это помогает вам понять, что происходит под покровом, когда абстракция фреймворка начинает просачиваться, и что вы можете с этим сделать.

Сам Google говорит: «Вы также не ограничены заранее заготовленными виджетами. Все, что вы можете делать с DOM браузера и JavaScript, можно делать в GWT, включая взаимодействие с рукописным JavaScript». Предположительно, это включает в себя стилизацию, если вы знаете, как это делать (как и если вы прочитали и поняли все эти книги по CSS).

person Robusto    schedule 14.04.2010
comment
Правда, в GWT можно все. Все дело в простом программировании. Но я научился этой аккуратной технике CSS с отрицательной маржой и плавающей точкой, понимаете? Ага, я не знаю. - person David; 14.04.2010