2011-01-18 2 views
1

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

1. GWT allows using java to program 
web. (only, it also allows merging 
javascript through JSNI of course) 

2. The developer does not have to be a guru in browser incompatibilities 
to develop web sites which works on 
a variety of browsers because 
incompatibilities are handled by GWT 
through differed bindind 

3. GWT allows easy integration of popular Java Tools such as , 
hibernate through gilead 

4. GWT enables server implementation not only in java but also other 
languages such as php 

5. GWT enables code splitting which improves application interactivity 
by allowing javaScript file to 
download only when required 

6. In essence GWT is toolkit, it does not force a way to program, 
other layers can be placed on top of 
it to program such as placing MVP or 
MVC framework on top of GWT and then 
develop app 

7. GWT MVP is great because first it allows collaborative working, faster 
testing with JUnit and the event bus 
allows many updates in client side 
application by placing event on the 
event bus 

8. GWT compiled java files to obfuscated mode which is first small 
and make the application safer 
because bots fails on the javascript 
generated during the obfuscated mode 

В случае в 8 баллов, я уже кое-что не специально для GWT, то дайте мне знать.

ответ

2

Существует также «perfect caching», что является термином, используемым для описания того, как GWT оптимизирует JavaScript для каждого браузера.

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

EDIT: Каждый раз, когда вы вносите изменения в свой Java-код, GWT изменяет имя соответствующего файла JavaScript. Веб-серверы могут включать кеширование для файлов JavaScript (так что браузеры не будут повторно загружать один и тот же файл), заверили, что имя изменится при изменении кода Java, и браузер загрузит последнюю версию.

EDIT: Мне также очень нравится функция CssResource. Создавая обфускационные имена стилей CSS, GWT эффективно предоставляет каждому виджету свое собственное пространство имен для стилей CSS; например, я мог бы определить «красивое» имя стиля на двух разных виджетах и ​​иметь эти стили, используя разные правила CSS. Конечно, можно также делиться стилями CSS между виджетами.

Image resources также классные. Они оптимизируют способ загрузки и доступа к изображениям.

Не забывайте internationalization.

+0

Ya, это хорошо, есть еще один, но я не понимаю его хорошо, истекает время кеша установки, и я не знаю больше, но что-то вроде этого – Noor

+0

Я отредактировал свой ответ, чтобы включить объяснение истечения срока действия кеша. – David

+0

Спасибо за объяснение !! – Noor

0

Я думаю, вы собрали довольно приличный список дифференциаторов, которые уже есть. Я думаю, что один момент, который стоит добавить, - это RequestFactory feature в последнем выпуске, который, если хотите, упрощенно и RPC для данных и упрощает разработку приложений Create, Read, Update и Delete - type (CRUD) ,

+0

Спасибо Нико Адамс! – Noor

0

Существуют и другие, более важные/более широко принятые графические интерфейсы, основанные на Java. Есть, например, Struts и JSF. Вот почему некоторые из ваших точек не подходят только для GWT, но для всех графических интерфейсов GUI в целом, например. пуля точки 1, 2 & 3.

Но добавить еще один: Я думаю, что GWT простой способ кодировать AJAX-приложение, поскольку он скрывает вещи AJAX довольно хорошо. Вы согласны?

Кроме того, GWT представляет собой проприетарную структуру (которая как-то уникальное свойство). JSF стандартизирован, а Struts - Apache.