Похож ли Google Web Toolkit на AWT и Swing?

Я вкратце изучил GWT, и мне понравилась идея, что я могу разработать на Java и скомпилировать приложение до HTML и JavaScript. Одинакова ли концепция, лежащая в основе GWT, AWT и Swing?

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
9
0
13 213
7
Перейти к ответу Данный вопрос помечен как решенный

Ответы 7

AWT и Swing предназначены для программирования автономных приложений (и, в меньшей степени, апплетов). Предполагается, что GWT сделает программирование веб-приложений подобными автономным приложениям. Я бы не стал программировать не-веб-приложение с помощью GWT.

Он запрограммирован очень похоже (по образцу Swing), а код на 100% является java (компилируется стандартным компилятором Java без ошибок), но способ его работы сильно отличается. Вместо компиляции в приложение Java он компилируется в Javascript, который отправляется в ваш браузер.

Эта возможность программировать хороший активный Javascript без фактического кодирования Javascript и HTML очень хороша.

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

Фактически, GTW поддерживает только строгое подмножество стандартных библиотек Java. Некоторые библиотеки не поддерживаются просто потому, что они не могут быть представлены в JavaScript. Например, GWT Random - это служебный класс со статическими методами, а Java 1.5 использует его как объект и т. д.

Henrik Paul 04.01.2009 20:53

GWT концептуально похож на Swing, но он больше заменяет JSP, чем что-либо еще.

Я согласен. Хотя вы все еще используете Java на стороне сервера.

WhyNotHugo 22.06.2009 01:00

Определите концепцию.

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, у вас не должно возникнуть проблем с его использованием.

Другие вопросы по теме