Официально анонсирован выход второй версии Google Web Toolkit, набора средств для разработки динамических web-приложений, которые могут быть написаны на языке Java, а затем при помощи транслятора преобразованы в представление на базе JavaScript и HTML.
В дополнение к основным усовершенствованиям в SDK и Google-плагине для Eclipse, в релиз входит новый анализатор производительности Speed Tracer, предоставляющий средства для анализа внутренних механизмов работы любых web-приложений. Speed Tracer позволяет более детально проанализировать каждый шаг работы динамических web-приложений в браузере, оценить задержки при выводе данных на экран и оценить время выполнения XMLHttpRequest запросов.
Основные нововведения:
Значительные улучшения цикла edit/refresh с помощью нового метода отладки "development mode" на базе нового браузерного плагина GWT Developer Plugin, позволяющего отлаживать проект с использованием любого браузера по выбору разработчика. Тем самым предоставляется возможность отладки Java-кода в Firefox (Safari, Inspector и так далее), одновременно используя, к примеру, Firebug для просмотра DOM-структур и экспериментов с CSS.
Декларативный интерфейс с UiBinder: простое отделение визуальных аспектов интерфейса от связанной с ним логики приложения. Для построения интерфейса в XML-шаблоне (файл .ui.xml) декларативно смешиваются элементы HTML и виджета, и затем логика приложения помещается в ассоциированном .java. Плагин для Eclipse теперь предоставляет мастера, автодополнения, "красное подчёркивание" и рефакторинг, распознающие UiBinder.
Впервые появляются layout-панели, создающие поверх стандартного CSS систему проектирования с комплексной увязкой параметров и делающие возможным создание именно того макета интерфейса, который нужен разработчику. Тестовое приложение Mail в GWT SDK было обновлено для демонстрации работы панелей.
Новая ключевая возможность: управляемое разработчиком разбиение кода (developer-guided code splitting) путём создания "точки разбиения" (split point) методом GWT.runAsync(). Компилятор автоматически позаботится о последующей загрузке оставшихся фрагментов кода в правильном порядке. Приложение-образец, включённое в GWT SDK - Showcase.
ClientBundle расширяет и обобщает связующий шаблон: простая декларация интерфейса, выполняемая на этапе компиляции, оптимизирует и встраивает ресурсы напрямую в компилируемый JavaScript. Поддерживается связка различных типов ресурсов, включая изображения, текст и даже CSS. CssResource - новый мощный фреймворк для управления стилями с поддержкой расширенного CSS-синтаксиса для задания спрайтов, именованных констант, контекстов, условных селекторов и т.д.