Определение SmartGWT UI с использованием XML - PullRequest
1 голос
/ 31 мая 2010

Я довольно успешно использую UIBinder на виджетах SmartGWT.Однако мне нужно расширить каждый виджет SmartGWT, который я использую, чтобы соответствовать требованиям UIBinder.Иногда мне приходится маскировать виджет SmartGWT в пространство имен com.google.gwt или маскировать не-GWT-виджет как виджет GWT.Я расширяю виджеты по мере необходимости.

Итак, я начинаю задаваться вопросом, может быть, SmartGWT уже имеет формат XML пользовательского интерфейса, и я мог бы проводить всю эту акклиматизацию UIBinder только для того, чтобы заново изобрести колесо SmartGWT.

Я прочитал и перечитал исходные коды витрины и углубился в некоторые исходные коды SmartGWT, а также прочитал javadocs.

Все, что я нашел, это XML или Json для связи между сервером и клиентом.

Существует ли какой-либо XML-интерфейс UI def, доступный для SmartGWT, будь то gwt-скомпилированный для клиентского JavaScript или подобный UIDL на стороне сервера Vaadin?

И если вы изоморфный агент, может лиВы говорите нам, если есть какие-либо планы разрешить SmartGWT играть с UIBinder (чтобы я больше не мог делать массаж виджетов SmartGWT самостоятельно)?

Ответы [ 2 ]

2 голосов
/ 08 июня 2010

Да, есть определение XML-компонента SmartGWT - то, которое используется Visual Builder и Reify и которое вы также можете написать напрямую. См. Эти документы и этот пункт часто задаваемых вопросов:

http://www.smartclient.com/smartgwtee-latest/javadoc/com/smartgwt/client/docs/ComponentXML.html http://forums.smartclient.com/showthread.php?t=8159#loadVBScreen

Как поясняется в FAQ, мы рекомендуем использовать этот формат XML для набора вариантов использования, которые в значительной степени перекрываются с тем, для чего предназначен UIBinder, то есть для сохранения вашего макета и базовых определений компонентов в декларативном формате, который дизайнеры могут редактировать и который быть отредактирован визуальными инструментами, и отделить вашу фактическую обработку событий Java и другой программный код.

Однако мы настоятельно рекомендуем не использовать этот декларативный формат HTML (как это делает UIBinder), потому что это порождает множество проблем с разметкой между браузерами.

Мы, вероятно, в конечном итоге также поддержим UIBinder для тех немногих случаев, когда он не избыточен в нашем собственном формате XML. Если вам нужно, чтобы это произошло раньше, рассмотрите возможность спонсорства:

http://www.smartclient.com/services/index.jsp#features

0 голосов
/ 16 февраля 2019

Для XML smartclient имеет компонент xml, который представляет собой дизайн пользовательского интерфейса на основе XML, и использует JavaScript для создания логики на стороне клиента. Вам не нужно каждый раз компилировать ваше приложение в среде разработки, и просто перезагрузка браузера будет включать изменения, и вы сможете их протестировать.

...