Преимущества gwtQuery
Может кто-нибудь сказать мне, каковы преимущества использования запроса gwt. Это только для эффектов CSS. и как мы можем использовать его для создания элементов вроде gwt.
Насколько я понимаю, просто используйте компоненты gwt, такие как label,textbox,buton в проекте, а затем запрос gwt просто для того, чтобы придать некоторые эффекты этим компонентам, это так?
Если это для css-эффектов, то же самое мы можем сделать и в gwt, тогда почему я буду использовать Gwtquery вместо gwt. кто-нибудь может мне помочь..
Спасибо,
2 ответа
GQuery гораздо больше, чем это. Вы можете быстро и легко перейти в de DOM (например, в jQuery)!
Смотри, сегодня утром я использовал это таким образом:
Element p = DOM.createElement("p");
p.addClassName("KV");
p.setInnerText(newBody);
$(cellList + " #__idx=\""+position+"\" p .KV").replaceWith(p);
Если вы посмотрите на последнюю строку, вы увидите: связанный DOM для виджета cellList
(CellList из MGWT), найдите элемент с идентификатором "__idx"
затем выберите элементы p
и из них элементы, которые имеют класс "KV"
,
Вы думали код в нормальном gwt для этого?
Другая действительно полезная вещь, которую вы можете использовать, это шаблон Promise. Что-то вроде do A, если B закончил правильно, и do B, если C закончил правильно. Мы используем это для проверки подлинности oAuth в нашем приложении. Поверьте, если вы имеете дело с Facebook OAuth в одну строку, вы можете быть уверены, что все в порядке.
Если вы не используете GQuery, вам, вероятно, нужно создать 4 обратных вызова с его методами onSuccess и onFailure (код Spaguetti).
И многое другое...
Также в проекте участвуют важные люди из сообщества Google и Opensource, и это хороший знак.
Думайте в gwtquery как существенное дополнение к GWT. Это ничего не заменяет, но делает вашу жизнь немного легче.
Между прочим, это основные функции, отсутствующие в GWT, которые добавляет gquery.
1. Селекторы CSS и манипуляции с обходом DOM: позволяют улучшить любой виджет GWT. Например, чтобы добавить изображение и класс CSS для всех <td>
в таблице GWT так же просто, как:
$(".mygwttable td").append("<img src='' />").addClass("whatever");
2. Получите любой экземпляр виджета, присутствующий в DOM, как способ отделить ваш код.
TextBox emailBox = $("input[name='email']").widget()
3 - Легко манипулировать элементами: атрибуты, стиль и т. Д.
$(".gwt-Label")
.css($$("background: red, color: white, width: 100%")
.attr("whatever", true);
4- Интуитивно понятный Ajax, намного проще, чем RequestBuilder
$(myLabel).load("file.html");
5- Помощники для чтения javascript, изменения объектов javascript и выполнения функций javascript без написания одной строки JSNI
Properties history = JsUtils.prop(window, "history");
JsUtils.runJavascriptFunction(history, "pushState", null, null, "whatever.html")
6 - Json и XML привязка данных: гораздо более интуитивно понятнее и проще, чем автобин.
7- Обещания, анимации и многое другое...
Итак, хотя вы могли бы создать проект gwt без использования какого-либо виджета gwt, используя только gwtquery, нормальный способ использования gquery - это дополнение к GWT, поэтому разрабатывайте свое приложение, используя стандартный способ gwt, и используйте помощники gquery для написания меньшего количества кода.
В вашем случае используйте обычные виджеты gwt и используйте gwtquery для их улучшения (стилизация, изменения в отображаемом dom, события и т. Д.) Без необходимости расширять их для внесения изменений.