Google Web Toolkit

редактировать
Google Web Toolkit
Gwt logo.png
Автор (ы) Google
Первоначальный выпуск16 мая 2006 г.; 14 лет назад (16.05.2006)
Стабильный выпуск 2.9.0 / 2 мая 2020 г.; 5 месяцев назад (2020-05-02)
Репозиторий Измените это в Викиданных
Написано наJava
Операционная система Linux, Windows, OS X, FreeBSD
Доступно вJava
Тип Ajax framework
Лицензия Лицензия Apache 2.0
Веб-сайтwww.gwtproject.org

Google Web Toolkit (GWT ), или GWT Web Toolkit, представляет собой набор инструментов с открытым исходным кодом, который позволяет веб-разработчикам создавать и поддерживать JavaScript интерфейсные приложения на Java. За исключением нескольких собственных библиотек, все является исходным кодом Java, который может быть построен на любой поддерживаемой платформе с включенными файлами сборки GWT Ant. Он под лицензией Apache License 2.0..

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

Содержание

  • 1 История
  • 2 Разработка с GWT
  • 3 Компоненты
  • 4 Возможности
    • 4.1 Доступные виджеты
  • 5 Использование на предприятии
  • 6 GWT 2.0
  • 7 Мобильный
  • 8 См. Также
  • 9 Ссылки
  • 10 Библиография

История

GWT версии 1.0 RC 1 был выпущен 16 мая 2006 г. Google анонсировал GWT на конференции JavaOne, 2006 г.

История выпуска
ВыпускДата
GWT 1.017 мая 2006 г.
GWT 1.111 августа 2006 г.
GWT 1.216 ноября 2006 г.
GWT 1.35 февраля 2007 г.
GWT 1.428 августа 2007 г.
GWT 1.527 августа 2008 г.
GWT 1.67 апреля, 2009
GWT 1.713 июля 2009 г.
GWT 2.08 декабря 2009 г.
GWT 2.1.019 октября 2010 г.
GWT 2.2.011 февраля 2011 г.
GWT 2.3.03 мая 2011 г.
GWT 2.4.08 сентября 2011 г.
GWT 2.5.0октябрь 2012 г.
GWT 2.5.1март 2013 г.
GWT 2.6.030 января 2014 г.
GWT 2.6.110 мая 2014 г.
GWT 2.7.020 ноября 2014 г.
GWT 2.8.020 октября 2016 г.
GWT 2.8.124 апреля 2017 г.
GWT 2.8.219 октября 2017 г.
GWT 2.9.02 мая 2020 г.

В августе 2010 г. Google приобрела Instantiations, компанию, известную своим вниманием к Eclipse. Инструменты разработчика Java, в том числе GWT Designer, который теперь входит в состав подключаемого модуля Google для Eclipse.

. В 2011 году, с появлением языка программирования Dart, Google заверил сообщество GWT, что GWT продолжит будет поддерживаться в обозримом будущем, но также намекнул на возможное сближение двух подходов Google к "структуре ведущее веб-программирование ". Однако они также признали, что ряд инженеров, ранее работавших над GWT, теперь работают над Dart.

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

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

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

GWT не вращается только вокруг программирования пользовательского интерфейса; это общий набор инструментов для создания любых высокопроизводительных клиентских функций JavaScript. Действительно, многие ключевые архитектурные решения полностью оставлены на усмотрение разработчика. Заявление о миссии GWT поясняет философское разделение роли GWT и роли разработчика. Примером этого является история: хотя GWT управляет токенами истории, когда пользователи нажимают «Назад» или «Вперед» в браузере, он не предписывает, как отображать токены истории в состояние приложения.

Приложения GWT могут запускаться в двух режимах:

  • Режим разработки (ранее называвшийся режимом хостинга): приложение запускается как байт-код Java в виртуальной машине Java (JVM). Этот режим обычно используется для разработки, поддержки горячей замены кода и отладки. В 2014 году классическая реализация режима разработки стала непригодной для использования в результате обновлений браузера, пока ее не заменили более совместимым режимом Super Dev Mode, который стал по умолчанию в GWT 2.7.
  • Рабочий режим (ранее веб-режим): приложение выполняется как чистый JavaScript и HTML, скомпилированный из исходного кода Java. Этот режим обычно используется для развертывания.

Доступно несколько подключаемых модулей с открытым исходным кодом для упрощения разработки GWT с другими IDE, включая GWT4NB для NetBeans, Cypal Studio для GWT (плагин Eclipse ) и GWT Developer для JDeveloper. Подключаемый модуль Google для Eclipse обрабатывает большинство задач, связанных с GWT, в среде IDE, включая создание проектов, вызов компилятора GWT, создание конфигураций запуска GWT, проверку и подсветку синтаксиса.

Компоненты

Основные компоненты GWT включают:

Компилятор GWT Java-to-JavaScript
Переводит язык программирования Java в язык программирования JavaScript.
Режим разработки GWT
Позволяет разработчикам запускать и выполнять приложения GWT в режиме разработки (приложение работает как Java в JVM без компиляции в JavaScript). До версии 2.0 режим хостинга GWT предоставлял специальный «хост-браузер» для отладки кода GWT. В версии 2.0 отлаживаемая веб-страница просматривается в обычном браузере. Режим разработки поддерживается за счет использования подключаемого модуля с собственным кодом, который называется подключаемым модулем разработчика Google Web Toolkit для многих популярных браузеров.
Библиотека эмуляции JRE
Реализации JavaScript часто используемых классов в Java стандартная библиотека классов (например, большинство классов пакета java.lang и подмножество классов пакета java.util).
Библиотека классов веб-интерфейса GWT
Набор настраиваемых интерфейсов и классов для создания виджетов.

Возможности

  • Динамические и повторно используемые компоненты пользовательского интерфейса : программисты могут использовать предварительно разработанные классы для реализации трудоемких динамических действий, таких как перетаскивание или сложное визуальные древовидные структуры.
  • Простой RPC механизм
  • Управление историей браузера
  • Поддержка полнофункциональной отладки Java
  • GWT обрабатывает некоторые кроссбраузерные проблемы для разработчика.
  • Модульное тестирование интеграция
  • Поддержка интернационализации и локализации
  • Поддержка HTML Canvas t (возможны изменения API)
  • Разработчики могут смешивать рукописный JavaScript в исходном коде Java, используя собственный интерфейс JavaScript (JSNI).
  • Поддержка использования Google API в приложениях GWT (изначально поддержка Google Gears )
  • с открытым исходным кодом
  • Разработчики могут проектировать и разрабатывать свои приложения чисто объектно-ориентированным способом, поскольку они используют Java (вместо JavaScript). Распространенные ошибки JavaScript, такие как опечатки и несоответствие типов, перехватываются во время компиляции.
  • JavaScript, генерируемый компилятором GWT, может быть либо не запутанным и более простым для понимания, либо запутанным и меньше для загрузки.
  • Для GWT доступен ряд библиотек от Google и третьих сторон. Они расширяют возможности GWT.

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

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

Виджеты и панели
ВиджетыПанели
КнопкаPopupPanel
PushButtonStackPanel
RadioButtonStackLayoutPanel
CheckBoxHorizontalPanel
DatePickerVerticalPanel
ToggleButtonFlowPanel
TextBoxVerticalSplitPanel
PasswordTextBoxHorizontalSplitPanel
TextAreaSplitLayoutPanel
ГиперссылкаDockPanel
ListBoxDockLayoutPanel
CellListTabPanel
MenuBarTabLayoutPanel
ДеревоDisclosurePanel
CellTree
SuggestBox
RichTextArea
FlexTable
Grid
CellTable
CellBrowser
TabBar
DialogBox

Многие общие виджеты, которых нет в GWT, были реализованы в сторонних библиотеках.

Использование на предприятии

GWT использует или поддерживает Java, Apache Tomcat (или аналогичный веб-контейнер), Eclipse IDE, Internet Explorer и интернационализация и локализация. Основанные на Java GWT RIA могут быть протестированы с использованием среды тестирования JUnit и инструментов покрытия кода. Поскольку GWT позволяет проверять изображения, CSS и бизнес-логику во время компиляции, многие распространенные дефекты разработки автоматически обнаруживаются без необходимости ручного тестирования, обычно требуемого RIA.

Google отмечает, что некоторые из ее продуктов основаны на GWT: Blogger, AdWords, Авиабилеты, Wallet, Предложения, Группы, Входящие.

GWT 2.0

8 декабря 2009 г. Google запустил Google Web Toolkit 2.0 с Speed ​​Tracer.

Версия 2.0 GWT предлагает ряд новых функций, в том числе:

  • Режим разработки в браузере (ранее известный как Out Of Process Hosted Mode, OOPHM): до версии 2.0 размещенный режим использовался для встраивания модифицированного браузера. чтобы разрешить запуск версии приложения с байт-кодом во время разработки. В версии 2.0 размещенный режим, переименованный в «режим разработки», позволяет использовать любой (поддерживаемый) браузер для просмотра отлаживаемой страницы с помощью плагина браузера. Плагин взаимодействует с оболочкой режима разработки с помощью TCP / IP, что позволяет выполнять кросс-платформенную отладку (например, отладку в Internet Explorer в Windows из оболочки режима разработки, запущенной на компьютере Linux).
  • Разделение кода: с разработчик предоставляет «точки разделения» в исходном коде, компилятор GWT сможет разделить код JavaScript на несколько небольших фрагментов вместо одной большой загрузки. Это приведет к сокращению времени запуска приложения, поскольку размер начальной загрузки уменьшается.
  • Декларативный пользовательский интерфейс: с использованием формата XML новая функция, известная как UiBinder, позволяет создавать пользовательские интерфейсы посредством объявления, а не кода. Это позволяет четко разделить создание пользовательского интерфейса и реализацию поведения.
  • Объединение ресурсов: интерфейс ClientBundle позволяет объединять ресурсы любого характера (изображения, CSS, текст, двоичные файлы) и передавать их за одну загрузку, что приводит к меньшее количество обращений к серверу и, следовательно, меньшая задержка приложения.

Поскольку в новом режиме разработки была удалена большая часть кода, зависящего от платформы, новая версия будет распространяться в виде уникального архива, а не по одному для каждой поддерживаемой платформы, как это было в случае с предыдущие версии.

Mobile

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

См. Также

  • Портал бесплатного программного обеспечения с открытым исходным кодом
  • icon Портал компьютерного программирования

Ссылки

Библиография

Последняя правка сделана 2021-05-22 14:04:11
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте