Лекция 10. Создание динамического наполнения страницы. JavaScript-библиотеки и технология Comet

  • ppt
  • 11.05.2020
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала 92. Лекция 10. Создание динамического наполнения страницы.ppt

Лекция 10. Создание динамического наполнения страницы. JavaScript-библиотеки и технология Comet

JSON

JSON (JavaScript Object Notation) – текстовый формат обмена данными, основанный на JavaScript и обычно используемый именно с этим языком
Формат считается независимым от языка и может использоваться практически с любым языком программирования
Практическая польза использования JSON открывается при использовании технологии AJAX

2

Пример JSON

На языке XML:

Иван
Иванов


Московское ш., 101, кв.101
Ленинград


JSON-представление:
{
"firstName": "Иван",
"lastName": "Иванов",
"address": {
"streetAddress": "Московское ш., 101, кв.101",
"city": "Ленинград",
},
}

3

Библиотека ExtJS

ExtJS – библиотека JavaScript для разработки веб-приложений и пользовательских интерфейсов, изначально задуманная как расширенная версия Yahoo! UI Library, однако, преобразовавшаяся затем в отдельный фреймворк.
Использует адаптеры для доступа к библиотекам YUI, jQuery или Prototype
Поддерживает технологию AJAX, анимацию, работу с DOM, реализацию таблиц, вкладок, обработку событий и т.д.

4

Объектно-ориентированное программирование на ExtJS

Пространство имен Ext.namespace
Переопределение метода Ext.override
Наследование Ext.extend
Ext.apply – копирование каждого члена объекта config в объект obj
Ext.applyIf копирование каждого члена объекта config в объект obj, но только в том случае, когда этот член еще не существует в объекте назначения

5

Основные компоненты ExtJS

Самый нижний слой – низкоуровневые функции по работе с DOM-деревом, событиями, стилями и другие функции
Core – основные базовые модули:
Ядро
Модуль для работы визуальных компонент
Утилиты
Поддержка кросс-браузерного Drag&Drop
Компонент State Manager
Работа с данными:
Основной компонент Store
Reader
Proxy
Объект (или набор объектов) Record

6

Визуальные компоненты ExtJS

Layout
Динамическая подсказка или Tooltip
Виджеты
Таб-панель
Tree
Форма
Таблица или Grid

7

Библиотека Prototype

Prototype – JavaScript-фреймворк, упрощающий работу с Ajax и некоторыми другими функциями
Обычно используется вместе с Ruby on Rails, script.aculo.us и Rico.
Поддерживает ООП
Поддерживается следующими браузерами: Internet Explorer 6.0+, Mozilla Firefox 1.5+, Apple Safari 2.0+ и Opera 9.25+

8

Возможности Prototype

Функция $() – обращение к DOM элементу HTML-страницы
Функция $$() – для разделения CSS от контента
Функция $F() – возвращение значения определенного элемента HTML формы
Функция $A() – преобразование аргумента в объект Array
Функция $H() – преобразование объектов в перечислимые Хэш-объекты
Объект Ajax – методы инициализации и работы с функцией XMLHttpRequest
Класс Element – методы класса предназначены для работы с элементами HTML

9

Библиотека jQuery

jQuery – библиотека JavaScript, фокусирующаяся на взаимодействии JavaScript и HTML
Возможности:
переход по дереву DOM, включая поддержку XPath как плагина
события
визуальные эффекты
AJAX-дополнения
JavaScript-плагины

10

Функция $() jQuery

$(html) – позволяет создать html-элементы «на лету» из «чистого» HTML
$(elems) – позволяет «прицепить» всю функциональность jQuery к уже существующим элементам страницы
$(expr[, context]) – первый параметр указывает выражение, которое позволит jQuery найти элемент на странице, второй параметр указывает, где искать этот элемент

11

Управление элементами документов и их свойствами в jQuery

12

Метод

Описание

append(content)/prepend(content)

Добавить переданный элемент или выражение в конец/в начало выбранного элемента

appendTo(expr)/prependTo(expr)

Добавить выбранный элемент в конец/в начало переданного элемента

attr(name)

Получить значение атрибута

attr(params)

Установить значение атрибутов. Атрибуты передаются в виде {ключ1:значение1[, ключ2:значение2[, …]]}

attr(name, value)

Установить значение одного атрибута

css(name)/css(params)/css(name, value)

Получить/установить значение отдельных параметров CSS

text()/text(val)

Получить/задать текст элемента

empty()

Удалить все подэлементы текущего элемента

Анимация в jQuery

animate(params, speed, easing, callback);
params – свойства, которые участвуют в анимации в виде пар {ключ: значение}
speed – скорость в миллисекундах
easing – замедление анимации
callback – функция, которая будет вызвана после завершения анимации
Эффекты jQuery:
show([speed[, callback]]) – показать элемент
fadeOut(speed[, callback]) – скрыть элемент путем изменения его прозрачности
slideDown(speed, callback) – показать элемент, спустив его сверху

13

Технология Comet

Технология Comet – модель работы Веб-приложения, при которой постоянное HTTP-соединение позволяет Веб-серверу отправлять (push) данные браузеру без дополнительного запроса со стороны браузера
HTTP server push (HTTP streaming) – механизм отправки данных с Веб-сервера к Веб-браузеру
Веб-сервер не закрывает соединение после отправки ответа клиенту
Данные составляются в очередь до следующего запроса клиента

14

Схема работы Comet – HTTP-streaming

15

Short polling



Long polling

Схема работы Comet – Polling

16