Подводные камни в планировании разработки на GWT

 

В последнее время к Google Widget Toolkit приковано внимание веб-разработчиков со всего мира. GWT – это прекрасная технология для AJAX-разработки. Она позволяет избавиться от многих проблем, связанных с кросс-браузерной разработкой, взаимодействием с пользователем и циклом разработки.

Библиотека предоставляет невиданные ранее возможности для разработки Web 2.0 – приложений с высокой степенью интерактивности. Но в этом кроется подвох.

Зачастую интерфейс веб-приложения более лёгок для разработки, чем интерфейс десктопных приложений, и тому есть 2 причины. Во-первых, система HTML/CSS предоставляет большое число инструментов для визуального воплощения дизайнерской мысли. Нет нужды многократно проходить цикл сборка/запуск/отладка для каждой страницы. Во-вторых, HTML обеспечивает намного меньше интерактивности, чем заключено в браузере. Поэтому на разработчика ложится меньше задач по отладке.

 

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

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

Другое свойство GWT-приложений – интерактивность. Это одновременно и хорошо, и проблемно.
Как было сказано выше, приложения Web 1.0 практически не обеспечивали интерактивного взаимодействия с пользователем. И первым шагом веб-дизайнеров была отрисовка статических частей интерфейса. Здесь такое уже невозможно. Разработчикам нужно конкретное поведение приложения. А поведение приложения – это часть кода. Его не так-то просто изменить. Поэтому нужно иметь в запасе всё необходимое для отладки и доводки интерфейса.

Подытожим вышесказанное. Держите разработчиков и дизайнеров как можно ближе друг к другу. Может, поэтому Google Apps и работают так добротно, что интерфейс создавался в близком сотрудничестве с разработчиками.

Об авторе:

Alexey Kharlamov. Photo Алексей Харламов – эксперт в области разработки приложений на Java. Работает с GWT-проектами с самого начала развития GWT.