Введение
Свободная библиотека Java Google Web Toolkit (GWT '/ɡ//w//ɪ//t/), или GWT Web Toolkit, является набором инструментов с открытым исходным кодом, который позволяет веб-разработчикам создавать и поддерживать JavaScript-приложения в Java. Он лицензирован по лицензии Apache 2.0. GWT подчеркивает многоразовые подходы к повседневным задачам веб-разработки, а именно асинхронные удаленные вызовы процедур, управление историей, закладки, абстракцию пользовательского интерфейса, интернационализацию и переносимость между браузерами.
Google Web Toolkit (GWT '/ɡ//w//ɪ//t/), or GWT Web Toolkit, is an open source set of tools that allows web developers to create and maintain JavaScript front end applications in Java. It is licensed under Apache License 2.0. GWT emphasizes reusable approaches to everyday web development tasks, namely asynchronous remote procedure calls, history management, bookmarking, UI abstraction, internationalization, and cross browser portability.
История
Версия GWT 1.0 RC 1 была выпущена 16 мая 2006 года. Google объявил о GWT на конференции JavaOne в 2006 году. + История выпуска Дата выпуска GWT 1.0 17 мая 2006 GWT 1.1 11 августа 2006 GWT 1.2 16 ноября 2006 GWT 1.3 5 февраля 2007 GWT 1.4 28 августа 2007 GWT 1.5 27 августа 2008 GWT 1.6 7 апреля 2009 GWT 1.7 13 июля 2009 GWT 2.0 8 декабря 2009 GWT 2.1.0 19 октября 2010 GWT 2.2.0 11 февраля 2011 GWT 2.3.0 3 мая 2011 GWT 2.4.0 8 сентября 2011 GWT 2.5.0 октября 2012 GWT 2.5.1 марта 2013 GWT 2.6.0 30 января 2014 GWT 2.6.1 10 мая 2014 GWT 2.7.0 20 ноября 2014 GWT 2.8.0 20 октября 2016 GWT 2.8.1 24 апреля 2017 GWT 2.8.2 19 октября 2017 GWT 2.9.0 2 мая 2020 GWT 2.10.0 9 июня 2022 GWT 2.11.0 9 января 2024 В 2010 году Google приобрел Java Instantiations, компанию, известную тем, что фокусируется на инструментах для разработчиков Eclipse, включая GWT Designer, который теперь поставляется в паке с плагином Google Eclipse. В 2011 году с введением языка программирования Dart Google заверил сообщество GWT, что GWT будет продолжать поддерживаться в обозримом будущем, но также намекнул на возможное сближение двух подходов Google к "структурированному веб-программированию". Они также признались, однако, что несколько инженеров, ранее работавших над GWT, теперь работают над Dart. В 2012 году на своей ежегодной конференции I/O Google объявил, что GWT будет преобразована из проекта Google в полностью открытый проект. В июле 2013 года Google опубликовал в своем блоге GWT, что трансформация в проект с открытым исходным кодом была завершена.
In August 2010, Google acquired Instantiations, a company known for focusing on Eclipse Java developer tools, including GWT Designer, which is now bundled with Google Plugin for Eclipse. In 2011 with the introduction of the Dart programming language, Google reassured the GWT community that GWT would continue to be supported for the foreseeable future but also hinted at a possible rapprochement between the two Google approaches to "structured web programming". They've also admitted, however, that several of the engineers previously working on GWT are now working on Dart. In 2012 at their annual I/O conference, Google announced that GWT would be transformed from a Google project to a fully open sourced project. In July 2013, Google posted on its GWT blog that the transformation to an open source project was complete.
GWT 2.0
8 декабря 2009 года Google запустил Google Web Toolkit 2.0 с Speed Tracer. Версия 2.0 GWT предлагает ряд новых функций, в том числе: В режиме разработки браузера (ранее известный как режим хостинга вне процесса, OOPHM): до версии 2.0 хостинг использовался для встраивания модифицированного браузера, чтобы позволить запускать байткодную версию приложения во время разработки. С версии 2.0 хостинг-режим, переименованный в "режим разработки", позволяет использовать любой (поддерживаемый) браузер для просмотра страницы, отлаживаемой с помощью плагина браузера. Плагин взаимодействует с оболочкой режима разработки с использованием TCP/IP, что позволяет отлаживать ошибки на разных платформах (например, отлаживание ошибок в Internet Explorer на Windows из оболочки режима разработки, работающей на машине Linux). Разделение кода: разработчик предоставляет "раздельные точки" в исходном коде, компилятор GWT может разделить код JavaScript на несколько небольших кусков вместо одной большой загрузки. Это приведет к сокращению времени запуска приложения, поскольку размер первоначальной загрузки уменьшится. Декларативный пользовательский интерфейс: с использованием формата XML новая функция, известная как UiBinder, позволяет создавать пользовательские интерфейсы с помощью декларации, а не кода. Это позволяет четко разделить конструкцию пользовательского интерфейса и реализацию поведения. Сбор ресурсов: интерфейс ClientBundle позволит объединять ресурсы любого характера (изображения, CSS, текст, двоичный файл) и передавать их в одной загрузке, что приведет к меньшему количеству поездок на сервер и, следовательно, к снижению задержки приложения. Поскольку в новом режиме разработки удалена большая часть специфического кода платформы, новая версия будет распространяться как уникальный архив, а не один на поддерживаемую платформу, как это было в случае с предыдущими версиями.
In Browser Development Mode (formerly known as Out Of Process Hosted Mode, OOPHM): prior to version 2.0, the hosted mode was used to embed a modified browser to allow running the bytecode version of the application during development. With version 2.0, hosted mode, renamed "development mode", allows using any (supported) browser to view the page being debugged through the use of a browser plugin. The plugin communicates with the development mode shell using TCP/IP, which allows cross platform debugging (for example, debugging in Internet Explorer on Windows from a development mode shell running on a Linux machine). Code splitting: with the developer providing "split points" in the source code, the GWT compiler can split the JavaScript code into several small chunks instead of one big download. This will lead to reduced application startup time as the size of the initial download is decreased. Declarative User Interface: using an XML format, the new feature known as UiBinder allows the creation of user interfaces through declaration rather than code. This allows a clean separation of UI construction and behavior implementation. Resource bundling: the ClientBundle interface will allow resources of any nature (images, CSS, text, binary) to be bundled together and transferred in one download, resulting in fewer round trips to the server and hence lower application latency. Since the new development mode removed most platform specific code, the new version will be distributed as a unique archive, instead of one per supported platform, as was the case with previous versions.
Мобильные
В качестве общей структуры для создания веб-приложений, Google Web Toolkit также может использоваться в качестве структуры для создания мобильных и планшетных приложений, либо путем создания необходимых виджетов и анимаций с нуля, либо путем использования одной из мобильных рамок для GWT. Приложение HTML5, написанное на GWT, может иметь отдельные представления для планшетов и мобильных телефонов.