



AWT и Swing предназначены для программирования автономных приложений (и, в меньшей степени, апплетов). Предполагается, что GWT сделает программирование веб-приложений подобными автономным приложениям. Я бы не стал программировать не-веб-приложение с помощью GWT.
Он запрограммирован очень похоже (по образцу Swing), а код на 100% является java (компилируется стандартным компилятором Java без ошибок), но способ его работы сильно отличается. Вместо компиляции в приложение Java он компилируется в Javascript, который отправляется в ваш браузер.
Эта возможность программировать хороший активный Javascript без фактического кодирования Javascript и HTML очень хороша.
Кроме того, поскольку он программируется так же, как свинг, вы можете довольно легко делать такие вещи, как добавление слушателей, которые влияют на другие элементы управления.
GWT концептуально похож на Swing, но он больше заменяет JSP, чем что-либо еще.
Я согласен. Хотя вы все еще используете Java на стороне сервера.
Определите концепцию.
AWT / Swing используются для настольных приложений или апплетов Java. Оба они требуют для работы JVM.
GWT используется для перевода кода Java в Javascript. Это работает только в движках Javascript, то есть в браузере.
Дизайн API, как указано выше, аналогичен Swing. Вы получаете те же панели, кнопки и другие классы компонентов, что и в Swing.
GWT - это набор инструментов javascript, который позволяет писать javascript на Java. Единственное реальное сходство со Swing и AWT состоит в том, что они представляют собой наборы инструментов для создания пользовательских интерфейсов и используют Java. Конечный продукт отличается, и реальная цель их использования иная. GWT дает вам возможность генерировать пользовательский интерфейс ajax для веб-браузера, в то время как два других предоставляют вам консольное (или апплет) java-приложение. На мой взгляд, настоящая причина использования GWT - получить быстрый интерфейс ajax для целей прототипирования. Но я не думаю, что он действительно готов к производству, то есть я не думаю, что Google использует его в своих собственных веб-приложениях. Лучшим выбором для более надежных веб-приложений ajax является http://developer.yahoo.com/yui/ или http://script.aculo.us/.
GWT очень похож на Swing в использовании виджетов, панелей и слушателей событий, которые он предоставляет. Другой способ взглянуть на GWT - представить Javascript и HTML как язык ассемблера, а GWT - как своего рода язык высокого уровня, который генерирует Javascript и HTML. С GWT легко разрабатывать настольные приложения для Интернета, используя те же инструменты, которые вы использовали бы для создания настольных приложений.
Дискламер: Я работаю в IT Mill, но это просто информация к оригинальному плакату. Это не маркетинговый спам.
Если вам нравится идея написать Java и получить из этого веб-страницу, вас может заинтересовать Набор инструментов IT Mill. Это набор инструментов для создания программного обеспечения RIA поверх стека J2EE, и он активно использует GWT.
Одна из основных идей заключается в том, что код, сгенерированный GWT, так же подвержен атакам на стороне клиента, как и любой другой JS / Ajax-трафик. IT Mill Toolkit гарантирует, что данные проверяются и на стороне сервера.
Набор инструментов также разработан таким образом, что, если вы знакомы с Swing, у вас не должно возникнуть проблем с его использованием.
Фактически, GTW поддерживает только строгое подмножество стандартных библиотек Java. Некоторые библиотеки не поддерживаются просто потому, что они не могут быть представлены в JavaScript. Например, GWT Random - это служебный класс со статическими методами, а Java 1.5 использует его как объект и т. д.