Лучшая практика GwtQuery

Как лучше всего создать большое приложение (действительно большое) с помощью GwtQuery?

  • использовать его с Gwt Mvp, т.е. мероприятия / места?
  • использовать его с Mvp4G или Gwtp, как фреймворк?
  • использовать его в одиночку?

Любые указатели будут полезны


person Gautam    schedule 17.11.2014    source источник


Ответы (1)


gQuery — это не фреймворк, а просто служебная библиотека, которая добавляет синтаксис сахара в Gwt java, так что вы можете работать с DOM с помощью популярного API jQuery. Он также добавляет некоторые утилиты, такие как Promises, Easy Ajax, привязку данных Json и Xml и т. д.

Сказал, что лучшими практиками для gwtquery могут быть:

  1. Выберите окончательную архитектуру в GWT, которой вы больше довольны. Вы можете использовать обычные виджеты GWT или GWT MVP, GWTP, MGWT, GXT, Vaadin и т. д.
  2. Use gQuery to write less code for certain tasks
    • If you have to parse JSON or XML don't use gwt but gQuery builders
    • Если вам необходимо использовать сторонние сервисы или ваше приложение не использует ни rpc, ни rf, используйте gQuery Ajax вместо RequestBuilder.
    • Если у вас очень вложенный асинхронный код, используйте вместо этого gQuery Promises.
    • Для перетаскивания используйте плагин gquery DnD.
    • Чтобы быстро написать что-нибудь в консоль, просто используйте console.log вместо того, чтобы настраивать регистраторы gwt.
    • Чтобы избежать шаблона отложенного связывания для каждой перестановки, просто используйте if (Browser.isIE) ... и воспользуйтесь удалением кода.
    • Чтобы включить внешний JS в ваш скомпилированный вывод, используйте JsniBundler
    • Чтобы использовать внешние методы JS, используйте только JsUtils из gQuery.
    • Чтобы добавить дополнительные события к виджетам или элементам, используйте GQuery.on(). Даже вы можете заменить EventBus для запуска пользовательских событий с данными (кстати, лучшая производительность).
    • так далее
  3. Если вы используете какой-либо шаблон MVP, используйте манипулирование DOM gQuery в реализациях View, а также синтаксический анализ Ajax, Promises и Json в ваших докладчиках, чтобы вы могли протестировать свой код в JVM.
  4. To enhance existing gwt widgets, don't extend them but modify their DOM structure with gQuery in your views, so as you can:
    • change and style the inner HTML
    • добавить отсутствующее поведение, добавив новые события и т. д.
    • преодолеть ограничение Widget API
  5. Для создания новых виджетов Gwt может быть намного проще написать плагин gQuery и, при желании, предложить Gwt API для пользователей, не использующих gwtquery.
  6. Если архитектура вашего приложения достаточно проста или вам нужно иметь дело только с DOM и REST, используйте только gwtquery для всего: потребление отдыха, пользовательский интерфейс и т. д., как если бы вы делали это с jQuery.

В прошлом году мы (Жюльен и я) сделали интересную презентацию на конференции GWT.create 2013. У вас есть интерактивные слайды или их статическая версия, и я делаю презентацию, рассказывающую о gQuery и его передовом опыте на GWT.create 2015.

person Manolo Carrasco Moñino    schedule 17.11.2014
comment
Когда вы привязываете обработчик события к виджету, не забудьте сделать это, когда виджет уже подключен к DOM: myWidget.addAttachHandler(new Handler() { public void onAttachOrDetach(AttachEvent event) { if (event.isAttached() ) { $(myWidget).on(щелчок, новая функция() { ... }); } else { $(myWidget).off(щелчок); } } }); - person jdramaix; 17.11.2014
comment
Круто.. Я сделал несколько фрагментов пользовательского интерфейса с помощью gquery, и я могу поклясться в производительности. В сочетании с режимом суперразработчика он затыкает большую дыру в экосистеме gwt. - person Gautam; 17.11.2014
comment
Я также с нетерпением жду более зрелого JsQuery. Это спасло бы жизнь веб-разработчикам Java :) - person Gautam; 17.11.2014
comment
Сверху слайды просто потрясающие. Хотя я не доберусь до GWT.create, к сожалению, я буду с нетерпением ждать видео. И планирую написать кучу плагинов (надеюсь), которыми я обязательно поделюсь. Благодаря тонну - person Gautam; 17.11.2014
comment
Я рад, что вам нравится gQuery. Да, пожалуйста, поделитесь этими плагинами, мы упомянем их на нашем сайте или поможем вам во всем, что вам нужно. - person Manolo Carrasco Moñino; 17.11.2014