1 / 10

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

Использование Google Web Toolkit для разработки AJAX-приложений. Илья Обшадко. http://ilya.obshadko.com/. Основное. http://code.google.com/webtoolkit. Google Web Toolkit – набор инструментальных средств для разработки AJAX -приложений на языке Java

nikita
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

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

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

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

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

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

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

More Related