zhChinese    enEnglish
  ПМ-ПУ  » Образование  » Программы курсов » Технологии разработки Интернет-приложений

Технологии разработки Интернет-приложений

Курс по выбору

Лектор: к.т.н. Матросов Александр Васильевич

Аннотация

Интернет это не просто глобальная сеть соединенных между собой компьютеров, но это еще и набор технологий, позволяющих создавать распределенные приложения. Одной из первых среди них является технология World Wide Web (WWW), базирующаяся на размеченных с помощью языка HTML документов и простого протокола HTTP их передачи, используемого на уровне приложений в модели стека протоколов TCP/IP, и реализованная в виде приложения клиент-сервер.

В рамках этой технологии программа-клиент осуществляет к постоянно работающей на удаленном компьютере программе-серверу запрос на получение требуемого ресурса. Ресурс в виде документа HTML может уже существовать на сервере, а может быть динамически сформирован с помощью запускаемой на сервере определенной программы, которая с учетом переданных в нее данных из HTML-формы, располагаемой на странице HTML и заполняемой пользователем, и создаст пересылаемый программе-клиенту документ HTML.

Для реализации обработки пересылаемых на сервер данных форм HTML был разработан специальный протокол CGI (Common Gateway Interface). Написать программу, использующую этот протокол, можно на любом языке программирования, обеспечивающем доступ к системным переменным окружения. Наиболее популярным для разработки подобных программ стал язык Perl, а серверные Perl-программы стали называться CGI-сценариями. Разработку и реализацию выполняемых на сервере по запросу клиента программ на основе технологии CGI можно считать одной из первых технологий программирования в Интернете, если исключить из рассмотрения технологию разметки гипер-документов с помощью языка HTML. (В дальнейшем были разработаны и другие технологии динамического формирования страниц HTML на основе данных форм - ASP (Active Server Pages), JSP (Java Server Pages) и ColdFusion.) В настоящее время программирование на базе одной из упомянутых технологий обычно называется серверным Web-программированием.

Анализ функционирования большого числа разработанных на основе CGI-сценариев приложений показал, что постоянное обращение к серверной программе за дополнительной информацией или передача на сервер неполных или непроверенных данных формы неэффективно и с точки зрения клиента (ожидание ответа), и с точки зрения сервера и самой сети (их загрузка). Многое из того, что делает серверный сценарий можно осуществлять непосредственно на клиенте, если дополнить документ HTML встроенным в него программным сценарием, код которого обрабатывался бы непосредственно на компьютере клиента. Подобный язык под названием LiveScript был разработан специалистами компании Netscape и реализован в ее программе просмотра Интернета Netscape Navigator. Впоследствии из-за маркетинговых соображений он получил название JavaScript. Первые версии языка позволяли до отправки данных формы на сервер проверить их достоверность и полноту, а также в фоновом режиме загружать на компьютер клиента необходимые графические файлы.

Эта технология и сам язык JavaScript получил поддержку среди других активных разработчиков технологий Интернета и был реализован в программах просмотра Интернета других компаний (Internet Explorer компании Microsoft). В настоящее время существует стандарт ECMA языка JavaScript. Дополненный в дальнейшем возможностью работы с объектной моделью документа (DOM - Document Object Model), предложенной консорциумом W3С, и каскадными таблицами стилей (CSS - Cascading Style Sheet), позволяющими осуществить достаточно тонкое форматирование внешнего вида документа HTML, этот язык стал основным языком клиентского программирования в сети Интернет для создания динамических страниц HTML. Технология динамического изменения содержимого страниц HTML на компьютере клиента без обращения к серверу на базе DOM, CSS и языка сценариев JavaScript (или подобного ему VBScript или PerlScript) получила название технологии Dynamic HTML (DHTML).

Курс "Основы Web-программирования" и посвящен изучению технологии DHTML на базе языка JavaScript.

1. Основы функционирования Интернета

Адресация в Интернете: понятие о IP и DNS-адресах машин, структура URL-адреса ресурса. Клиенты и серверы Интернета и их взаимодействие: DNS-серверы, основы протокола HTTP, язык разметки HTML. Основные службы Интернета: WWW, FTP, электронная почта, группы новостей, TELNET.

2. Язык разметки HTML*

Основные понятия о разметке документов. Теги, атрибуты и элементы HTML. Блоковые и встроенные элементы: абзац, список, таблицы, элементы выделения частей текста. Встраивание графики в страницы HTML. Создание текстовых и графических гиперссылок на части документа или на другие документы HTML. Карты-изображения. Компоновка страниц HTML с помощью таблиц и фреймов. Формы как средство передачи данных на сервер, методы POST и GET. Элементы управления формы: текстовое однострочное и многострочное поле, списки и раскрывающиеся списки, переключатели и флажки, кнопки.

3. Каскадные таблицы стилей (CSS)

Форматирование с помощью стилей в текстовых процессорах. Синтаксис правил каскадных таблиц стилей: селекторы и определения. Группирование и наследование свойств каскадных таблиц стилей. Связывание каскадных таблиц стилей с документом HTML. Применение нескольких таблиц стилей к одному документу: каскадные свойства CSS. Модель форматирования элементов HTML. Свойства каскадных таблиц стилей форматирования шрифтов, цвета и фона, текста, блоковых элементов. Визуальное форматирование: абсолютное и относительное позиционирование блоковых элементов HTML. Компоновка страниц HTML с помощью свойств каскадных таблиц стилей.

4. Язык сценариев JavaScript

Понятие и клиентском и серверном сценарии. Встраивание сценариев JavaScript в страницы HTML. Переменные, типы данных и операции языка JavaScript. Операторы управления последовательностью действий: условные и цикла. Встроенные средства организации диалога с пользователем. Создание пользовательских объектов JavaScript и работа с ними: вызов методов, изменение свойств. Встроенные объекты JavaScript: Array, Date, Global (только в Jscript), Math, String, Image, Event, Function, Location, Navigator, MimeType, Number, Object, Screen, Window. Обработчики событий: onClick, onDblClick, onLoad и др.

5. Объектная модель DHTML

Иерархическая модель объектов страницы HTML в IE5 и NN4. Свойства и методы объектов HTML, доступ к объектам из сценария JavaScript, вызов методов и изменение свойств объектов. Изменение свойств каскадных таблиц стилей элементов, семейство style. Модель событий и программирование динамических эффектов на странице HTML.

6. Объектная модель DOM

Иерархия объектов: отношения родитель, потомок, прямой родственник и родственники одного поколения. Перемещение по иерархии объектов. Удаление и создание объектов. Включение их в иерархическую структуру объектов страницы.

7. Основы языка XML и объектная модель XML

Синтаксис XML, введение в схемы XML и XSLT. Встраивание документов XML в документ HTML. Иерархия объектов XML: отношения родитель, потомок, прямой родственник и родственники одного поколения. Перемещение по иерархии объектов. Удаление и создание объектов. Включение их в иерархическую структуру объектов документа XML.

Примечание. Если содержимое пункта 2* известно и не представляет интереса, то он заменяется пунктом 7.

Литература

  1. Матросов А., Сергеев А., Чаунин М. HTML 4.0. - СПб.: БХВ - Санкт-Петербург, 1999. - 672 с.
  2. Хефлин Д. Ней Т. Разработка Web-скриптов. Библиотека программиста. - СПб.: Питер, 2001. - 496 с.
  3. Тихонов А.И. Динамический HTML. - М.: ЗАО "Издательство БИНОМ", 2001. - 496 с.
  4. Кингсли-Хью Э., Кингсли-Хью К. JavaScript 1.5: учебный курс. - СПб.: Питер, 2001. - 272 с.
  5. Комер Д. Принципы функционирования Интернета. - СПб.: Питер, 2002. - 384 с.
  6. Wilde E. Wilde's WWW. Technical Foundations of the World Wide Web. - Berlin: Springer-Verlag, 1999. - 594 p.