Лучшие вопросы
Таймлайн
Чат
Перспективы

Google Web Toolkit

Из Википедии, свободной энциклопедии

Google Web Toolkit
Remove ads

Google Web Toolkit (GWT, ˈɡwɪt) — свободный Java-фреймворк, который позволяет веб-разработчикам создавать Ajax-приложения. Его особенность — компилятор Java -> JavaScript, позволяющий почти всю разработку клиента и сервера реализовать на основе Java и лишь на последнем этапе создать соответствующие JavaScript, HTML и CSS. Выпускается под лицензией Apache версии 2.0. GWT делает акцент на повторное использование и кросс‐браузерную совместимость.

Краткие факты Тип, Разработчик ...
Remove ads

История

Версия 1.0 RC 1 (build 1.0.20) выпущена 16 мая 2006 года. Компания Google анонсировала GWT на конференции JavaOne в 2006 году.

История версий:

Remove ads

Разработка с применением GWT

Используя GWT, разработчики могут быстро писать и отлаживать AJAX-приложения на языке Java, используя инструментарий отладки Java. Компилятор GWT переведёт код Java-приложения соответствующему браузеру JavaScript, HTML и CSS.

Кроме того, GWT оснащен XML-парсером, поддержкой интернационализации, интерфейсом для удаленного вызова процедур, интеграцией JUnit и небольшим пакетом виджетов для разработки элементов графического интерфейса пользователя (GUI). Они могут быть созданы аналогично тому, как это делается с помощью пакета Swing. Отладка GWT-приложения разделена на две части: отладка серверной части приложения осуществляется как отладка обычного Java web-приложения, для отладки клиентской части понадобится gwt dev-plugin для браузера.

Утилита командной строки webAppCreator, поставляемая вместе с GWT, автоматически создает все файлы, необходимые для нового GWT-проекта. Она также позволяет создавать файлы проекта Eclipse.

Существует подключаемый модуль Google Plugin для IDE Eclipse (начиная с версии 3.3), позволяющий упростить процессы создания GWT-проекта и размещения готовых приложений на сервисе Google App Engine.

Remove ads

Особенности

Суммиров вкратце
Перспектива
  • Избегается повторная реализация одних и тех же графических интерфейсов для локальных и для веб-приложений с помощью различных технологий, например — RCP для первых и JSF — для вторых.
  • Обычная схема — «stateless клиент / stateful сервер» может быть заменена схемой «stateful клиент / stateless сервер». Это позволяет больше реакций пользователя обрабатывать непосредственно в клиенте.
  • Простой механизм удалённого вызова процедур. В сочетании с предыдущим качеством это позволяет серверу передавать в ответ данные, а не HTML. Сервер при этом может быть любой — не обязательно тот, который передал первую картинку.
  • Для передачи сложных данных может использоваться как стандартный RPC — передаче подлежат сериализируемые Java-объекты, так и тексты на XML или JSON.
  • Динамические и многоразовые компоненты пользовательского интерфейса (виджеты): Программисты могут использовать заранее разработанные классы для реализации трудоемких элементов динамического поведения, таких, как drag-and-drop, или сложных визуальных структур.
  • Управление историей браузера
  • Поддержка полнофункциональной Java-отладки[3]
  • GWT устраняет некоторые кросс-браузерные проблемы разработки.[3]
  • JUnit-интеграция
  • Поддержка интернационализации и локализации
  • Поддержка HTML Canvas (с учётом изменений API)
  • Разработчики могут вставлять готовые JavaScript-фрагменты в исходный Java-текст, применяя JavaScript Native Interface (JSNI).
  • Поддержка использования Google API Gears в приложениях GWT
  • Программное обеспечение с открытым исходным кодом
  • Разработчики могут проектировать и разрабатывать приложения в чистом объектно-ориентированном стиле, так как они используют Java (вместо JavaScript).[4] Обычные JavaScript-ошибки, такие, как опечатки и несоответствие типов, обрабатываются во время компиляции.
  • JavaScript, генерируемый GWT-компилятором, может быть разделен на фрагменты. Это не только дает возможность лучше понимать его, но и экономит время загрузки приложения — первый фрагмент может начать работать, не дожидаясь, пока весь JavaScript текст будет загружен[4]
  • Ряд библиотек доступен для GWT от Google или третьих лиц. Это расширяет функциональные возможности GWT.[4]

Доступные виджеты

Начиная с версии 2.4 (сентябрь 2011), GWT предлагает несколько виджетов

Подробнее Виджеты, Панели ...

Многие обычные виджеты, отсутствующие в GWT, реализованы в сторонних библиотеках, таких как Sencha GXT, GWT Component Library, GWT-Ext, GWT Widget Library, GWTiger, Rocket GWT, Dojo, SmartGWT и т. д.

Remove ads

Компоненты

Основные компоненты GWT:

Компилятор Java -> JavaScript (GWT Java-to-JavaScript Compiler)
Переводит Java код в JavaScript.
Отладчик (браузер, GWT Development Mode)
Позволяет запускать GWT-приложения в режиме отладки (ранее назывался «hosted»; приложения запускаются как Java код в JVM без компиляции в JavaScript).
Библиотека эмуляции JRE-классов (JRE emulation library)
Реализация часто используемых стандартных Java-классов на JavaScript'е.
Библиотека графических элементов (GWT Web UI class library)
Множество пользовательских интерфейсов и классов для создания виджетов.
Веб-сервер
Tomcat или Jetty.
Remove ads

Мобильные приложения

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

Некоторые из наиболее распространенных мобильных библиотек GWT

Remove ads

Примечания

См. также

Ссылки

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads