'

Использование Google Web Toolkit для разработки AJAX-приложений

Понравилась презентация – покажи это...





Слайд 0

Использование Google Web Toolkit для разработки AJAX-приложений Илья Обшадко http://ilya.obshadko.com/


Слайд 1

Основное Google Web Toolkit – набор инструментальных средств для разработки AJAX-приложений на языке Java Разработчики могут использовать GWT, экономя на "лишней" языковой среде и сокращая время на отладку Архитекторы за счет использования GWT получают в свое распоряжение индустриальный набор методик и паттернов проектирования Менеджеры могут выиграть от использования GWT, т.к. не будут нуждаться в выделенных ресурсах под разработку на JavaScript http://ilya.obshadko.com/ Илья Обшадко http://code.google.com/webtoolkit


Слайд 2

Основы GWT JAVA JS GWTC IDE GWTS байткод JS JS Safari Firefox MSIE deployment отладка и тестирование http://ilya.obshadko.com/ Илья Обшадко


Слайд 3

Построение UI Вся работа с UI построена на использовании DOM Единая иерархия базовых виджетов Расширяемость ограничена только фантазией разработчика (mygwt, gwt-ext etc.)? Управление визуальным отображением при помощи CSS Работа с состояниями приложения при помощи history UI строится только динамически http://ilya.obshadko.com/ Илья Обшадко


Слайд 4

Клиент-сервер Для hardcore J2EE fans: встроенная подсистема клиент-серверного взаимодействия. Требует J2EE-бэкенда, имеет довольно запутанный API. Формат передачи данных нестандартный. Существенный плюс: позволяет передавать туда и обратно Java-объекты Для всех остальных: привычный XmlHttpRequest, естественно, обернутый в Java-классы. Формат можно использовать любой, в GWT встроена поддержка для работы с JSON и XML По возможности избегать передачи больших объемов http://ilya.obshadko.com/ Илья Обшадко


Слайд 5

Клиент-сервер: use case Задача: форма бронирования авиабилетов с возможностью подсказки при вводе части названия города или кода аэропорта, проверкой корректности дат и ряда других условий, накладываемых партнерской системой; должно работать в условиях фактического отсутствия доступа к server side code Решение: на основе стандартных виджетов SuggestBox и SuggestOracle. Для того, чтобы облегчить загрузку страницы с формой, данные по аэропортам разбиты на файлы по первым буквам названий. Чтобы избежать оверхеда на JSON-парсере, использован текстовый формат http://ilya.obshadko.com/ Илья Обшадко


Слайд 6

Реализация модели MVC На уровень управления выносится вся работа с асинхронными вызовами и бизнес-логикой, на уровень представления – манипуляции с DOM; модель в данном случае – просто объекты предметной области Любое изменение состояния приложения начинается с изменения history token Введение необходимых абстракций: сериализация цепочки удаленных вызовов (ChainedCall), рендеринг (LayoutCallback) Использование inner classes вместо методов http://ilya.obshadko.com/ Илья Обшадко


Слайд 7

MVC + GWT: use case onHistoryChanged()? создание контекста рендеринг есть еще? разблокируем UI обработка рез-тов асинхронный вызов блокируем UI ChainedCall execute()? processResults()? LayoutCallback.execute ()? next()? да нет http://ilya.obshadko.com/ Илья Обшадко


Слайд 8

Инструменты разработки GWT SDK: самые простые задачи можно решать из командной строки IntelliJ IDEA: поддержка GWT входит по умолчанию начиная с версии 6 Eclipse: большой выбор плагинов, поддерживающих GWT, как бесплатных, так и коммерческих Использование привычного отладчика http://ilya.obshadko.com/ Илья Обшадко


Слайд 9

Заключение Плюсы: стандартность, полностью линейный процесс разработки, хорошая кроссплатформенность, активное комьюнити Минусы: неизбежный оверхед по объемам кода и динамический рендеринг, который не всегда приемлем Потенциальные сценарии применения: если вы давно хотели начать использовать AJAX но не знаете с чего начать; если вы ненавидите JavaScript; есть вам нужно создать Web2.0-стартап, а JavaScript ненавидят ваши программисты http://ilya.obshadko.com/ Илья Обшадко


×

HTML:





Ссылка: