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

Презентация:



Advertisements
Похожие презентации
AJAX Выполнила: студентка группы ПИ-311 Газизова Влада.
Advertisements

Google Web Toolkit Google Gadgets Google Apps Marketplace Денис Лунев.
Богданов Марат Робертович Современные веб-технологии. Подробный курс RIA-приложения.
Использование AJAX для асинхронной передачи данных. Что такое AJAX. Как использовать. В чем преимущество. Примеры использования на крупных сайтах. Выполнила:
Симпозиум 2008 Сергей Шутов, ДИМАС Борис Егоров, Интерсистемс Практика использования Zen и Прототип-6.
WEB- ТЕХНОЛОГИИ Лекция 5. Традиционное Web- программирование 1.
Разработка отладчика для программ на языке haXe и целевой платформы Adobe Flash 9 Выполнил студент 544 группыКрасько Н.Л. Научный руководительПлискин М.М.
Технология модели «клиент-сервер». Роли Компьютер, управляющий тем или иным ресурсом, принято называть сервером этого ресурса Компьютер, желающий воспользоваться.
Web 2.0 Твердохлеб Татьяна гр.9231 users, thro. Web 2.0 (определение Тима ОРейли) методика проектирования систем, которые путём учета сетевых взаимодействий.
ATLAS/AJAX – новый подход к web Кондратьев Денис VNG User Group
Предметно-ориентированное моделирование приложений для платформы Android Никонова Ольга СПбГУ Научный руководитель Брыксин Т.А.
БЭСТ Дизайнер проектов Введение Концепции Основные понятия.
Универсальный интерфейс пользователя АСР Fastcom Козик Денис Александрович Инженер разработчик Отделения телекоммуникационных систем Форс - центр разработки.
Интеграция приложений с использованием BPEL. Содержание Что такое BPEL? Как работает BPEL? Как использовать BPEL для интеграции приложений?
Реализация концепции построения и формирования отраслевой системы государственного учета, регистрации и мониторинга (ОСГУРМ) информационных ресурсов сферы.
Технология MVC в высоконагруженных проектах Андрей Шетухин Илья Космодемьянский.
Selenium: Начало.. Особенности WEB-приложений Множество браузеров, отличающиеся реализацией Отсутсвие строгих правил в HTML Различные конфигурации на.
Выполнила: Абдуллаева С.И. Проверила: Митющенко Е.В.
1 Введение Информационные системы Альтернативы задачи доступа к данным Стандарт JPA и коммерческие ORM имплементации Определение ORM Проблемы полного преобразования.
Где хранить данные в web- приложении page –JSP страница request – HTTP запрос session – сессия пользователя application – веб-приложение Static Java class.
Транксрипт:

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

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

Основы GWT JAVA JS GWTC IDEGWTSбайткод JS Safari Firefox MSIE deployment отладка и тестирование Илья Обшадко

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

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

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

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

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

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

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