Пару дней назад вышла очередная и долгожданная версия фреймворка для разработки веб-приложений — GWT в версии 2.5.0.RC1. Давайте посмотрим, что же нового мы увидим в релизе 2.5.
1) Super Dev Mode — экспериментальная замена привычному Development Mode. Как и его предшественник, Super Dev Mode позволяет GWT разработчикам быстро перекомпилировать код и видеть результат в браузере. Также он позволяет пользоваться дебагером. Однако работает он иначе. Если не вдаваться в подробности, о которых вы можете почитать тут, то отличия от старого доброго Dev Mode следующие:
- Не требуется плагин для браузера. Поддерживать разные браузеры станет проще, в том числе и на мобильных устройствах.
- Не делается автоматическая перекомпиляция после каждой перезагрузки страницы, что упрощает дебаг многостраничных приложений.
- Super Dev Mode не будет страдать от ошибок в плагинах различных браузеров.
- Разработчики могут производить дебаг Java, JavaScript, и возможно других языков стороны клиента в одной и той же дебаг-сессии. Это особенно полезно, когда GWT код вызывает напрямую JavaScript.
- Браузерные дебагеры имеют продвинутые фичи, такие как DOM breakpoints.
Есть конечно и недостатки. Из основных следует отметить то, что работа над Super Dev Mode еще не закончена, а также он пока тестируется только в Chrome и Firefox.
2) Elemental — новая экспериментальная библиотека для быстрого легковесного и «to the metal» веб программирования в GWT.
Elemental поддерживает все фичи HTML5, включая доступ к DOM конечно, но также и WebGL, WebAudio, WebSockets, WebRTC, Web Intents, Shadow DOM, File API и другие. Elemental также включает высокопроизводительные коллекции и новую JSON библиотеку, которые одновременно хорошо работают как в браузере, так и на сервере.
3) Новые оптимизации компилятора. GWT компилятор может по желанию использовать Closure compiler для обеспечения дополнительной JavaScript оптимизации. Поскольку эти оптимизации замедляют компиляцию, для их включения нужно воспользоваться специальным флагом компилятора -XenableClosureCompiler
.
4) Обновленная поддержка ARIA. Добавлена новая ARIA библиотека, которая полностью охватывает W3C ARIA стандарт. Она облагчает правильное назначение ARIA ролей, состояний и свойств DOM элементов.
5) Улучшенный UiBinder. В GWT 2.5 добавлено расширения для UiBinder, которое поддерживает рендеринг ячеек и управление событиями. В частности, это позволяет UiBinder генерировать реализацию UiRenderer для помощи в рендеринге SafeHtml и диспетчеризации событий для методов отмеченных @UiHandler тегом.
Также введены IsRenderable/RenderablePanel типы. Когда используются вместо HTMLPanel, они могут значительно уменьшить время рендеринга и снизить отклик сложных UiBinder интерфейсов.
Это лишь краткий обзор основных фич. С более полным описанием новых фич и починенных багов можно ознакомиться в Release Notes.
Загрузить GWT 2.5.0.RC1 можно здесь.
А также появился GWT плагин для Eclipse 4.2 Juno, который можно загрузить обычным для плагинов способом. Адрес репозитория: dl.google.com/eclipse/plugin/4.2
Автор: CHEM_Eugene