Лучшее решение для привязки данных для GWT
Использовали ли вы когда-нибудь один из многих решений для переплетения данных для GWT? Если да, то насколько хорошо это работает?
Я хотел бы прекратить перематывать свои собственные привязки для GWT, но нет четкого победителя в пространстве привязки данных.
Я бы предпочел использовать что-то с будущим, например. Инкубатор GWT, но там ничего нет.
Я использую GWTDesigner и люблю его, но у него также нет решения для этого.
Его довольно фундаментальная недостающая особенность. Вы знаете, планирует ли команда GWT добавить поддержку для этого? В этом случае, может быть, я подожду.
Спасибо
Ответы
Ответ 1
В случае каких-либо сомнений по поводу этого в настоящее время вы должны использовать редакторов GWT:
http://www.gwtproject.org/doc/latest/DevGuideUiEditors.html
В какой-то момент в будущем будет поддерживаться также проверка достоверности jsr 303.
Ответ 2
Вы можете проверить http://code.google.com/p/gwt-pectin/
Ответ 3
SmartGWT (http://www.jroller.com/sjivan/entry/smartgwt_1_0_released) - это API GWT для продукта smartclient.
У них хорошее решение для привязки данных, поскольку оно было построено с учетом интеграции на стороне сервера. Но недостатком является то, что это не чистая среда GWT. Это оболочка JSNI вокруг другого продукта (Smart Client Framework).
Ответ 4
если его привязка данных к пользовательскому интерфейсу к моделям (т.е. текстовое поле привязано к свойству некоторого модельного объекта), то GWT имеет библиотечную функцию, называемую UIBinder. Его не совсем готовый к использованию в производстве, но явно (таким образом, не выпущенный), но команда google wave использует его (и выглядит так хорошо, как работает). Оформить эту страницу для получения дополнительной информации http://code.google.com/p/google-web-toolkit-incubator/wiki/UiBinder
Если вы говорите о GWT RPC, возвращающем объекты модели с сервера (например, объекты спящего режима), Gilead, как упоминалось в другом месте, вероятно, стоит посмотреть - хотя у меня никогда не было личного опыта.
Существует еще один метод, который использует Javascript Object Overlays, чтобы превратить json в их модели эквивалентных классов для использования в GWT (хорошо для фреймворков, таких как grails, которые могут легко изгнать json, но их модель домена не совместима с RPC). просмотрите эти сообщения в блоге для получения некоторых советов о том, что http://raibledesigns.com/rd/entry/json_parsing_with_javascript_overlay (и http://googlewebtoolkit.blogspot.com/2008/08/getting-to-really-know-gwt-part-2.html)
Ответ 5
Я предлагаю вам попробовать HexaBinding, который неинвазивный и ориентирован только на привязку дары. Вот ссылка: https://github.com/ltearno/hexa.tools/blob/master/hexa.binding/README.md
Ответ 6
Я только что прочитал его несколько минут назад в списке рассылки, который был выпущен так называемый GWTEventService 1.0. Я не совсем уверен, если это то, что вы хотите, но это звучит многообещающе для меня.
Позвольте мне привести сайт:
GWTEventService - это инфраструктура связи клиент-сервер на основе событий. Он использует GWT-RPC и технологию Comet/Server-push. Клиентская сторона предлагает API высокого уровня с возможностью регистрации слушателей на сервере, как компонент GUI. События могут быть добавлены в контекст/домен на стороне сервера, а слушатели на стороне клиента получают информацию о входящих событиях. Серверная сторона полностью независима от реализации клиента и имеет высокую степень конфигурирования. Домены могут быть определены для определения того, какие события важны для разных контекстов.
Возможно, это решение для вас. Я попробую.
Ответ 7
Gilead, ранее Hibernate4GWT, "определяет класс PersistentRemoteService, наследующий от RemoteServiceServlet, чтобы обрабатывать бесшовно устойчивое управление сущностями". Он находится в активном развитии уже несколько лет.
Ответ 8
проверьте привязку eclipse databinding 3.5 для gwt
Ответ 9
используйте google-web-toolkit-инкубатор http://code.google.com/p/google-web-toolkit-incubator/wiki/Downloads?tm=2 для привязки данных.
uface не имеет скомпилированной версии, и их исходный код DOESNT компилируется в соответствии с их указаниями. (запись прямо над этой ссылкой относится к uface).
Ответ 10
Проверьте gwtXP на http://www.gdevelop.com/w/gwtxp/.
gwtXP позволяет объявлять элементы интерфейса, привязывать данные и обработчики действий в XML. Примеры:
- Объявить элементы пользовательского интерфейса: < g: label text = "Имя пользователя:" /" >
- Объявить привязку данных (использует привязку данных Eclipse): < g: textBox text = "$ {user.userName}" /" >
- Поддержка привязки значений и привязки списка.
- Объявить обработчики действий: < g: кнопка text = "Сохранить" onClick = "# {saveUser}" /" >
Обновлено 06 марта 20010: см. сообщение в http://www.gdevelop.com/w/blog/2010/03/06/data-binding-in-gwt/