Кто-либо использовал GWT и может сказать, что он действительно поставляет то, что он обещает? [закрытый]

Вы должны использовать Object.keys и Array.filter:

var result = {1: "PASS", 2: "PASS", 3: "FAIL", 4: "PASS", 5: "FAIL"};
var passCount = Object.keys(result).filter(function(key){
   return ( result[key] === 'PASS' );
}).length;
28
задан John Topley 6 August 2009 в 15:27
поделиться

10 ответов

Я написал приложение довольно большого размера на GWT, и должен сказать, что я впечатлен GWT даже больше, чем когда начинался проект. Мое общее «ощущение» платформы таково, что все действительно хорошо продумано, и они ничего не делают, если не умеют делать это хорошо, и могут делать это хорошо во всех браузерах (пользователи IE остаются вашими пользователями!)

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

Некоторые функции, которые мне нравятся, включают:

  • Возможность для совместного использования кода на стороне сервера и на стороне клиента. (если, конечно, ваша серверная часть написана на java). Я не' Поначалу я не ожидаю, что это будет много, но на практике это действительно может сэкономить много дублирования кода. Однако я считаю, что в целом это работает только с кодом, который был написан с учетом GWT - использование кода, написанного не с учетом GWT, часто не работает. Это потому, что GWT имеет только подмножество классов в JDK, а в javascript вам нужно заботиться о производительности намного больше, чем на стороне сервера.
  • Он нацелен на создание самого быстрого javascript, быстрее, чем вы когда-либо писали вручную (потому что, если бы вы написали его вручную, код было бы невозможно поддерживать). К сожалению, реальность такова, что браузеры, которые используют многие люди, имеют невероятно медленные движки javascript, поэтому производительность вашего кода javascript имеет большое значение. Компилятор Gwt - это настоящий оптимизирующий компилятор - он будет встроенными методами, интернируйте все свои струны. девиртуализируйте вызовы методов, когда это возможно, и т. д. Поскольку вы компилируете для каждого браузера и каждого языкового стандарта, компилятор также может встроить специфичный для браузера и локальный код. В этой презентации Google I / O есть несколько тестов, показанных на нескольких слайдах.
  • Она также автоматически спрайт ваши изображения вместе, чтобы минимизировать количество необходимых HTTP-запросов, что снова повысит скорость вашего сайта. GWT 2.0 позволит вам объединять произвольные файлы.
  • большинство файлов, созданных gwt, имеют строгий хэш в качестве их имени, что позволяет вам установить файлы для кеширования навсегда, но не беспокойтесь о людях, имеющих старые версии, если изменения файлов
  • Разделение кода в GWT 2.0 очень впечатляет, и его будет очень сложно сделать вручную. По мере роста вашего приложения Работа с размером вашего javascript имеет все большее значение, и вам нужно иметь возможность разбить его на части
  • Вы кодируете на статически типизированном языке. Я знаю, что некоторые люди предпочитают динамическую типизацию, но мне нравится сравнивать эти дебаты с дебатами о emacs и vi - в обоих лагерях много умных людей, и споры в Интернете не изменят чьих-либо предпочтений
  • . получить возможность использовать множество отличных инструментов, существующих в экосистеме java, которые, как правило, намного более зрелые, чем эквивалентные инструменты javascript. - junit, java IDE, отладчики java, рефакторинг и т. д.
38
ответ дан 28 November 2019 в 03:00
поделиться

Просто GWT качает, Google делает "волну Google" полностью на GWT.

1
ответ дан iftee 14 October 2019 в 10:38
поделиться

Я сделал несколько проектов за несколько лет, и это фантастика. Возвращение к инфраструктуре на основе JS / JSP / request действительно ужасно.

Не хочу отказываться от проверок времени компиляции, модульных тестов в моей IDE, рефакторинга IDE и т. Д., Совместного использования кода между различными уровнями, солидного набора виджетов, невероятно хорошо продуманной среды.

Может сделать намного больше, намного быстрее и легче в обслуживании.

0
ответ дан salk31 14 October 2019 в 10:38
поделиться

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

Google Wave , я думаю, стал прототипом того, «что возможно» с GWT. 1289] По-прежнему довольно сложно найти хорошие шаблоны проектирования GWT, потому что технология слишком нова и может навредить усилиям по разработке очень многофункционального и крупномасштабного веб-приложения в GWT. Перед тем, как начать такой проект, я бы порекомендовал посмотреть примеры шаблона модель-представление-презентатор (MVP) и обязательно использовать его или что-то подобное в качестве основы для потока управления вашего веб-приложения. Одна хорошая вещь в GWT и написании кода на Java,

4
ответ дан 28 November 2019 в 03:00
поделиться

Я кратко рассмотрел его для более старого приложения на одной из моих работ, и должен признать, что это было очень впечатляюще. Весь код был написан на Java, а javascript был красиво построен.

В нем был AJAX, динамические страницы, работа. Для этого также есть плагины, такие как Ext GWT framework.

Это определенно стоит изучить и попробовать, но вы можете обнаружить, что цикл разработки «не кажется правильным», поэтому вы можете использовать обычный JavaScript.

2
ответ дан 28 November 2019 в 03:00
поделиться

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

Например, я иногда пишу прямо в библиотеке DOM для проектов. Это очень похоже на написание кода JavaScript, за исключением того, что вы можете правильно использовать IDE и получить мощь компилятора. Из компилятора я получаю статическую проверку типов, много хороших оптимизаций компилятора и (на самом деле, мой любимый для поддержки кода) утверждения режима отладки. Никто на самом деле никогда не уделяет много внимания способности делать утверждения, но это ' Так приятно иметь возможность скомпилировать режим отладки, который выполняет дорогостоящие проверки, чтобы выявить ошибки, а затем выключить режим отладки, и код просто испарится. (Не только утверждения assert удаляются, но и весь код, доступный из asserts, также компилируется.)

В других случаях я пишу код для библиотеки пользовательского интерфейса GWT. Этот код немного похож на swt-код или SWT-код, поэтому он удобнее всего для чистых java-разработчиков. Работая на этом уровне, вам не нужно так сильно беспокоиться о DOM, и обычно можно создать приложение без написания JavaScript. Иногда вы сталкиваетесь с ошибкой, когда что-то не работает должным образом в определенном браузере. Люди из GWT рассматривают эти ошибки.

Вы можете выбрать, на каком уровне абстракции вы хотите работать. На каждом уровне есть компромиссы,

5
ответ дан 28 November 2019 в 03:00
поделиться

Я создал два довольно существенные приложения GWT за три года работы в Google. Он выполняет то, что обещает - мои приложения были гораздо более интерактивными и гораздо более удобными, чем мои знания Javascript, и мой инструментарий Javascript позволил бы мне создавать с использованием других инструментов.

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

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

И обязательно посмотрите презентацию Келли. Он и некоторые другие из I / O дают действительно четкое представление о том, что может делать GWT.

3
ответ дан 28 November 2019 в 03:00
поделиться

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

Общие проблемы, связанные с GWT, с которыми я сталкивался, обычно имели отношение к Ext GWT / GXT framework или интеграции FCKEditor.

1
ответ дан 28 November 2019 в 03:00
поделиться

Я думаю, что GWT делает то, что говорит на жестяной банке ...

5 главных причин для выбора GWT:

  1. Гобелен может быть слишком сложным, и кривая обучения для новичков довольно крутая. разработчики, которые только начинают \ присоединяются к команде. Esp. на более крупных проектах.

  2. Я обнаружил, что могу разрабатывать «более богатые» приложения, используя GWT, видя, что моя сила - Java, а не Javascript. Чтобы реализовать аналогичную функциональность с помощью Tapestry, мне пришлось бы вручную писать Javascript, который позже стал бы кошмаром обслуживания.

  3. Совместимость с браузерами, я тратил много времени, пытаясь заставить свой рукописный Javascirpt работать со всеми разные браузеры (как я уже сказал, Javascript - не моя сильная сторона :-) Компилятор GWT скрывает меня от этого, в результате чего я трачу больше времени на написание функций.

  4. Синяя кнопка возврата,

4
ответ дан 28 November 2019 в 03:00
поделиться

Я не знал много Javascript, когда пытался создать свой сайт. Собственно, поэтому я и откладывал создание сайта.

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

1
ответ дан 28 November 2019 в 03:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: