Позже, когда появилась необходимость интерактивности веб-страниц, в HTML появились формы для введения пользователем данных, которые позднее подвергаются обработке. Формы и другую информацию можно обрабатывать с помощью специальных серверных программ (например, на языках PHP или Perl). Открытие мультимедийных файлов, выводимых как непосредственно браузером (например, изображения в форматах JPEG, GIF или PNG; аудиофайлы и др.), так и внешними приложениями, "встраиваевыми" в окно браузера (Flash-анимация, Java-апплеты и прочее).
. DHTML. В самом общем виде можно сказать, что Dynamic HTML - это набор технологий, работающих на стороне клиента и призванных преодолеть статичность традиционных Веб-страниц. Точнее говоря, это технологии, которые обеспечивают: динамическое формирование Веб-страницы в процессе ее загрузки, и динамическое изменение Веб-страницы в ответ на действия пользователя. Для достижения перечисленных целей используются следующие методы:
− динамическое изменение атрибутов и стилей элементов, составляющих HTML-документ;
− динамическое извлечение данных из внешних источников и включение их в Веб-страницу;
− использование динамически загружаемых шрифтов;
− поддержка визуальных и мультимедийных эффектов при отображении страниц;
− механизмы сохранения информации на компьютере-клиенте между сессиями работы.
Все эти явно разнородные методы покоятся, в действительности, на двух китах. Первый - интеграция HTML-документа, каскадных стилей и сценариев клиента, основанная на объектной модели документа. Второй - использование компонентного программирования, позволяющего встраивать однажды разработанные компоненты во вновь создаваемые документы.
Преимущества DHTML:
− Повышение конкурентоспособности узла. Узел, содержащий динамически изменяемые цвета, анимированную графику, систему выпадающих меню и другие элементы пользовательского интерфейса, явно привлекательнее для пользователя, чем обычные статические страницы.
− Легкость сопровождения. DHTML позволяет вынести типовые элементы формирования страниц Веб-узла в отдельные таблицы стилей и сценарии, а затем включать их одинаковым образом во все страницы. Это, безусловно, упрощает сопровождение и минимизирует количество возникающих опечаток и других ошибок.
− Уменьшение трафика. Одна из основных особенностей DHTML состоит в том, что он переносит основную тяжесть по формированию Веб - страниц с сервера на клиента. Платой за это является загрузка с сервера сценариев и программных компонентов, которые при правильном проектировании незначительны по объему.
Динамические страницы загружаются и отображаются намного быстрее статических, что особенно важно для отечественных каналов связи, не страдающих чрезмерно высоким качеством.
Минусы DHTML:
− Dynamic HTML не стандартизован, и под каждый из популярных Веб-обозревателей нужно писать свою версию HTML-документа.
− С появлением DHTML разработка динамической страницы потребовала программирования на сценарном языке, владения основами пользовательского интерфейса и т. п.
4. Расширяемый язык разметки XML. XML - текстовый формат, предназначенный для хранения структурированных данных (взамен существующих файлов баз данных), для обмена информацией между программами, а также для создания на его основе более специализированных языков разметки. Целью создания XML было обеспечение совместимости при передаче структурированных данных между разными системами обработки информации, особенно при передаче таких данных через Интернет. По структуре XML представляет собой не собственно язык разметки гипертекста, а так называемый метаязык, предназначенный для описания других языков более низкого уровня. По мнению аналитиков, в не столь отдаленном будущем XML станет основным стандартом во Всемирной сети, постепенно включив в себя большинство других использующихся ныне форматов.
. Каскадные таблицы стилей CSS. Это технология описания внешнего вида документа, написанного языком разметки. Преимущественно используется как средство оформления веб-страниц в формате HTML и XHTML, но может применяться с любыми видами документов в формате XML, включая SVG и XUL.
CSS используется создателями веб-страниц для задания цветов, шрифтов, расположения и других аспектов представления документа. Основной целью разработки CSS являлось разделение содержимого (написанного на HTML или другом языке разметки) и представления документа (написанного на CSS). Это разделение может увеличить доступность документа, предоставить большую гибкость и возможность управления его представлением, а также уменьшить сложность и повторяемость в структурном содержимом. Кроме того, CSS позволяет представлять один и тот же документ в различных стилях или методах вывода, таких как экранное представление, печать, чтение голосом.
Стандарт CSS определяет приоритеты, в порядке которых применяются правила стилей, если для какого-то элемента подходят несколько правил одновременно. Это называется "каскадом", в котором для правил рассчитываются приоритеты или "веса", что делает результаты предсказуемыми.
До появления CSS оформление веб-страниц осуществлялось непосредственно внутри содержимого документа. Однако с появлением CSS стало возможным принципиальное разделение содержания и представления документа. За счёт этого нововведения стало возможным лёгкое применение единого стиля оформления для массы схожих документов, а также быстрое изменение этого оформления.
Преимущества CSS вёрстки:
· Несколько дизайнов страницы для разных устройств просмотра. Например, на экране дизайн будет рассчитан на большую ширину, во время печати меню не будет выводиться, а на КПК и сотовом телефоне меню будет следовать за содержимым.
· Уменьшение времени загрузки страниц сайта за счет переноса правил представления данных в отдельный CSS-файл. В этом случае браузер загружает только структуру документа и данные, хранимые на странице, а представление этих данных загружается браузером только один раз и кэшируется.
· Простота последующего изменения дизайна. Не нужно править каждую страницу, а лишь изменить CSS-файл.
· Дополнительные возможности оформления. Например, с помощью CSS-вёрстки можно сделать блок текста, который остальной текст будет обтекать (например, для меню) или сделать так, чтобы меню было всегда видно при прокрутке страницы.
6. ЯзыкиJavaScriptиJQuery
JavaScript - это язык управления сценариями просмотра гипертекстовых страниц Web на стороне клиента. Если быть более точным, то JavaScript - это не только язык программирования на стороне клиента. Liveware, прародитель JavaScript, является средством подстановок на стороне сервера Netscape. Однако, наибольшую популярность JavaScript обеспечило программирование на стороне клиента.
К возможностям JavaScript можно, например, отнести следующее:
· отображать изменяющиеся данные, такие как текущее время или дата;
· программировать переменное содержание в зависимости от даты, браузера пользователя или других условий;
· изменять внешний вид элементов страницы, если пользователь щелкнул мышью или провел курсор мыши над элементом.
Для языка высокого уровня JavaScript обладает довольно сильными возможностями. Он не позволяет работать на уровне машинных кодов, однако пользователь получает доступ ко многим возможностям браузеров, Web-страниц, а иногда и системы, в которой работает браузер. В отличие от Java™ или С, программы на JavaScript обходятся без компиляции, браузеру не нужно загружать виртуальную машину для выполнения программного кода.
JavaScript также работает в объектно-ориентированной архитектуре, напоминающей Java или C++. Такие возможности языка, как конструкторы или наследование на базе прототипов, добавляют в схему разработки новый уровень абстракции, что способствует многократному использованию программного кода.
Одна из главных причин, по которой Web-разработчики приняли JavaScript, это возможность выполнения на стороне клиента многих функций, которые ранее выполнялись исключительно на стороне сервера. Кроме того, JavaScript позволяет читать и записывать cookie - ранее эта операция выполнялась исключительно средствами Web-сервера для работы с заголовками.
JQuery помогает легко получать доступ к любому элементу (набору элементов) объектной модели документа (DOM), обращаться к атрибутам и содержимому элементов DOM и конечно манипулировать ими. Причем благодаря своему интуитивно понятному синтаксису, схожему в чем-то с CSS1, CSS2 и XPath, эта работа становится не просто легкой, а даже приятной.
7. Java-апплеты. Java-апплет - это программа, написанная на языке Java и откомпилированная в байт-код. Выполняется в браузере с использованием виртуальной Java-машины. Апплеты используются для предоставления интерактивных возможностей веб-приложений, которые невозможны в HTML. Так как байт-код Java платформо-независим, то Java-апплеты могут выполняться браузерами на многих операционных платформах.Java-сервлеты являются серверными приложениями, но они отличаются от апплетов языком, функциями и другими характеристиками. Предназначены Java-апплеты для выполнения в безопасной среде с целью предотвращения их доступа к локальным ресурсам клиентского компьютера.
Код апплета загружается с веб-сервера, и браузер либо вставляет апплет в веб-страницу, либо открывает отдельное окно с собственным пользовательским интерфейсом апплета.Апплет может быть внедрен в веб-страницу с помощью использования HTML тэга <applet>, или (что рекомендуется) тега <object>.
Можно назвать следующие преимущества Java-апплетов:
· работают практически на большинстве операционных платформ;
· поддерживаются большинством браузеров;
· кэшируются в большинстве браузеров, что существенно ускоряет их загрузку при возвращении на веб-страницу;
· после первого запуска апплета, когда Java-машина уже выполняется и быстро запускается, выполнение апплетов происходит существенно быстрее;
· загружаются со скоростью, сопоставимой с программами на других компилируемых языках, например C++, но во много раз быстрее, чем на JavaScript.
При этом у Java-апплетов имеются и недостатки:
· требуется установка Java-расширения, которые доступны по умолчанию не во всех браузерах;
· не могут запускаться до первой загрузки виртуальной Java-машины, что может занимать значительное время;
· разработка пользовательского интерфейса с использованием апплетов является более сложной задачей по сравнению с HTML;
· не имеют прямого доступа к локальным ресурсам клиентского компьютера.
Рассмотрим технологии, работающие на стороне сервера.
. Практический язык извлечений и отчетов Perl (Practical Extraction and Report Language - практический язык).Это интерпретируемый язык, оптимизированный для просмотра содержимого текстовых файлов, выделения из них информации и генерирования отчетов на основе этой информации, а также просто хороший язык для выполнения многих задач системного администрирования UNIX. Он обладает большим набором преимуществ как язык сценариев общего назначения, которые проявляются через его характерные черты и возможности. Он также удобен для написания различных системных программ. Этот язык прост в использовании, эффективен, но про него трудно сказать, что он элегантен и компактен.
Первым в цепочке достоинств языка Perl является его интерпретируемость. Perl позволяет легко и быстро получить требуемое решение задачи, сочетая в себе элементы компилируемых и интерпретируемых языков программирования. Интерпретатор Рerl, отличается от традиционных интерпретаторов тем, что программа транслируется в промежуточный байт-код, и только после этого выполняется. В традиционных интерпретаторах каждый вводимый оператор интерпретируется и сразу же выполняется, что может приводить к синтаксическим ошибкам во время выполнения. Perl-программа свободна от этого "недостатка", так как все синтаксические ошибки обнаруживаются во время трансляции в байт-код.
Вторым преимуществом использования Perl является его доступность для большинства серверных платформ. Для всех доступных платформ разработаны и свободно распространяются интерпретаторы Perl вместе с документацией по их установке и работе, что приятно отличает его от других программных средств.
Третьим преимуществом языка Perl можно назвать его практическую направленность, т. е. он создавался из практических соображений решения задач администрирования и разработки приложений для UNIX, а это означает, что он обладает следующими важными свойствами:
· полнотой;