Добавлен GWT в веб-приложение. Другие разработчики жалуются на время компиляции. Что мне им сказать? - PullRequest
2 голосов
/ 30 августа 2010

Я недавно добавил GWT в наш проект для реализации функции Ajax нашего веб-приложения. Другие разработчики жалуются на дополнительное время, которое компиляция GWT добавляет к сборке, и спрашивают, почему я вместо этого не использовал JSON и jQuery. Что мне им сказать?

Ответы [ 6 ]

4 голосов
/ 30 августа 2010

Попробуйте сделать сборку более умной, если это еще не сделано: часть GWT (клиента) должна быть перекомпилирована только при изменении исходного кода клиента. Я предполагаю, что в основном вы меняете этот источник, поэтому другие разработчики не будут испытывать боль.

Предупреждение: Конечно, это не сработает, если исходный код вашего клиента делится кодом с существующим проектом (я полагаю, это Java-проект на стороне сервера?). Но, возможно, вам следует избегать совместного использования кода в вашем случае: даже если это нарушает принцип СУХОГО (не повторяйте себя), осознайте, что вы все равно нарушите его, если не используете GWT.

Однако, если вы делаете повторное использование кода из серверного проекта, у вас есть хороший аргумент, почему вы использовали GWT.

3 голосов
/ 31 августа 2010

Если разработчикам приходится собирать весь материал GWT (все перестановки) для разработки приложения, это настоящая боль.Начиная с GWT 2 вы можете настроить запуск проекта веб-приложения в «режиме разработки».Его можно запустить прямо из Eclipse (плагин Google) благодаря встроенному контейнеру для причала.В таком сценарии компилируются только запрашиваемые ресурсы, и процесс является пошаговым.Я считаю это очень удобным - накладные расходы на компиляцию GWT в нашем приложении seam + richfaces + GWT очень малы во время цикла разработки.

Когда дело доходит до сборок приложений, есть несколько опций, которые могут ускорить компиляцию GWT.Вот контрольный список:

  • отключить отчеты соя
  • флаг draftCompile enable, который пропускает некоторую оптимизацию
  • , устанавливая флаг localWorkers, который вы можете немного ускорить, когдапостроение на многоядерном процессоре
  • скомпилировать ограниченный набор перестановок: например, только для браузеров, используемых во время разработки, и только для одного языка

В готовых версиях веб-приложения должен быть отключен draftCompile.Также должны быть включены все варианты языков.Профили Maven очень полезны для параметризации сборок.

2 голосов
/ 30 августа 2010

По какой причине вы использовали GWT вместо JSON / jQuery?

Я бы задал тот же вопрос, потому что для того, что вам нужно, GWT может не понадобиться законно.

1 голос
/ 30 августа 2010

По своему опыту я полностью понимаю жалобы, которые вы получаете.GWT - замечательная технология, и она имеет много преимуществ.У него также есть недостатки, и одним из них является длительное время компиляции.Компилятор GWT выполняет много статического анализа кода, и это не то, что имеет решение на порядок величины.

Как разработчик, самая разочаровывающая вещь в мире - это длинные циклы разработки-развертывания-тестирования.Я знаю, что чувствуют ваши разработчики.

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

0 голосов
/ 24 января 2012

Какой инструмент вы используете для компиляции проекта?

Давным-давно я использовал ant , и он был достаточно умен, чтобы выяснить это, когда ни один из исходных файлов для GWTприложение (код клиента) изменилось, задача компилятора GWT не была вызвана.

Однако, после этого я использовал maven , и это было настоящей болью, потому что его плагин не распознал, что код не изменился, и компиляция GWT была запущена снова и снова, нетНеважно, было ли это необходимо или нет.

Я бы порекомендовал ant для проектов GWT.Альтернативой было бы переписать плагин maven или заставить разработчиков привыкнуть к длительному времени компиляции.

0 голосов
/ 30 августа 2010

Если имелась веская причина для использования GWT вместо чистого javascript, вы должны сообщить им об этом (навыки, отладка для очень сложной для реализации проблемы, вы не хотели иметь дело с совместимостью браузера и т. Д.) Если нет веских причин, может быть, они правы, чтобы расстраиваться.

Я сам использую GWT и знаю об этом времени компиляции: -)

Если вы использовали GWT для простого в реализации виджета в JavaScript или чего-то в этом роде, возможно, вам следует подумать об использовании вместо этого javascript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...