Когда использовать GWT и когда нет

Мне интересно, существуют ли конкретные случаи, когда GWT не подходит? Например, было бы целесообразно переработать переполнение стека с помощью GWT?

Я разрабатываю приложение, в котором есть Java Restlet API, и я планировал использовать GWT (ранее я бы просто использовал стандартный HTML/CSS с болотным кодом с внутренним кодом PHP, вызывающим API). Мне интересно, есть ли причины, почему я не должен делать это?

4 ответа

Мой ответ не заполнен, но я считаю, что следующие пули могут быть полезны.

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


посмотрите этот раздел GWT для больших проектов?

GWT - лучший выбор для управления сложными действиями на одной странице. например, Google wave, Google mail... вы можете легко обновить (ajax) любую часть страницы.

Из-за того, что GWT является компилятором java-to-javascript, пользователь должен дождаться загрузки файлов .js, и это вызывает много и много проблем, если ваше веб-приложение велико. Чем больше ваш проект, тем больше файлов javascript, тем больше пользователь должен дождаться загрузки файлов .js.


ИМХО Если у вас есть статический веб-сайт, такой как блог, порталы новостей и т.д., которые каждая страница имеет свою собственную идентификацию и представляет собой сущность и запрашивается отдельно, не используйте GWT самостоятельно (вы все равно можете смешивать ее с серверной сгенерированные страницы, такие как FB).

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


Я бы предложил избежать GWT любой ценой. У меня есть опыт разработки огромного проекта с GWT, и это кошмар, из-за длинного цикла развития. Если у вас есть приложение в angularjs/react/jquery, вы обновляете исходный код, нажмите F5 и перезагрузите его. Вы можете быстро отладить нажатие F12.

Если вы используете GWT в огромном проекте, вам нужно подождать ~ 1 мин для компиляции приложения. И тогда нет хорошего способа отладить его. Google предоставил специальные плагины для браузера, но они работали нестабильно и не поддерживали последние версии браузеров, поэтому мне пришлось понизить FF. Кроме того, огромная отладка приложений GWT занимает тонны java-памяти, поэтому вам нужно предоставить больше памяти tomcat. И, наконец, на практике вы не можете избежать изучения js, вам придется изучить его, если вы делаете современную веб-разработку.

UPDATE 15.05.2017: Мой ответ был заблокирован поклонниками GWT, но я хотел бы отметить, что моя информация обновлена: 1-страничная версия hello world rebuild cyrcle занимает около 30 секунд с последней IDEA и 10Gb mem SSD блокнот. Я также попросил друзей, имеющих GWT в производстве для серьезного проекта: они утверждают, что 2min - это среднее время перераспределения.

licensed under cc by-sa 3.0 with attribution.