Каково текущее состояние развития GWT? - PullRequest
8 голосов
/ 26 ноября 2010

В прошлом я делал проект GWT (версия 1.4 GWT), и он был чрезвычайно болезненным.
Интерфейс построен с кодом (что действительно плохо), требует много медленной компиляции и ожидания, модульное тестирование былоужасно.Не говоря уже о том, что интеграция с Hibernate была самой раздражающей вещью.

Но мне кажется, что GWT очень популярен среди разработчиков Java, и я пересматриваю это.

Вы пробовали GWT 2.x?сейчас лучше?Меня особенно интересуют три предыдущих пункта (медленная компиляция, построение пользовательского интерфейса и модульное тестирование).

1 Ответ

13 голосов
/ 26 ноября 2010

Давайте рассмотрим три основные жалобы по одной.

Медленная компиляция

Это действительно намного лучше, во многих отношениях.

  • Компиляция стала быстрее.
  • Компилятор GWT может компилировать несколько перестановок параллельно.
  • (Боже, ужасный) браузер с "размещенным режимом" был заменен плагином для браузера "режим разработки", чтобы вы могли тестировать в своем любимом основном браузере без компиляции.

Здание интерфейса

Да. UiBinder .

Напишите «шаблоны» HTML, которые включают элементы, которые действуют как заполнители для виджетов. Элементы, представляющие панели (виджеты, которые могут содержать виджеты), могут содержать элементы, представляющие другие виджеты.

Да, некоторые составляющие виджетов в Java все еще будут присутствовать, но теперь это значительно уменьшено.

Модульное тестирование

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

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

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