УДК 004
О. В. Зеленко, Л. Р. Валеева, С. Г. Климанов
ОБЗОР СОВРЕМЕННЫХ WEB - ТЕХНОЛОГИЙ
Ключевые слова: Web-технологии, браузер, объектная модель, шаблон.
В работе представлено описание основных особенностей, преимуществ и недостатков популярных Web-технологий.
Key words: Web-technology, the browser, object model, template. The paper describes the main features, advantages and disadvantages of the popular Web-based technologies.
Основной характеристикой современного общества является широкое внедрение информационных технологий, интернет -технологий, информатизация общества во всех сферах деятельности. Интернет - технологии расширяют границы окружающего нас мира и способствуют тому, что образ жизни человека постепенно преображается [1].
Что же такое web-технологии? Web-технологии - комплекс технических, коммуникационных, программных методов решения задач организации совместной деятельности пользователей с применением сети Интернет.
Привлекательность Web-технологий как средства доставки информации во многом определяет универсальный интерфейс между человеком и компьютером. Каждому человеку понятны надписи, заголовки, ссылки, картинки. Веб-интерфейс как средство доступа к информации интуитивно понятен. Следствием простоты веб-интерфейса является широкое употребление Интернета как канала коммуникации. Браузер -программа для просмотра веб-страниц и работы с информацией в веб-интерфейсе. Браузеры -программы, которыми обеспечены все современные компьютеры большое число так называемых «гаджетов». Теоретически все браузеры должны отображать все сайты, сделанные по стандартам, одинаково. Практически имеется множество тонкостей и сложностей. Наиболее популярные браузеры: Internet Explorer, Firefox, Opera, Safari, Chrome.
Сейчас в Интернете используется довольно много различных технологий. Данная статья посвящена описанию основных особенностей, преимуществ и недостатков популярных технологий.
Основой всей Всемирной паутины является язык разметки гипертекста HTML - Hyper Text Markup Language. Он служит для логической (смысловой) разметки документа (веб-страницы). Иногда его неправомерно используют для управления способом отображения содержимого веб-страниц на экране монитора или при выводе на принтер, что в корне противоречит идеологии, принятой во всемирной паутине.
Зачастую у web-дизайнера возникает необходимость применить в процессе создания html-документа сложное форматирование - от абзаца к абзацу менять шрифт, расположение текста, его
цвет, формировать различные таблицы данных. Можно решить эту проблему с помощью стандартных средств HTML: описывать каждый абзац отдельным набором команд, но в этом случае итоговый документ будет иметь большой размер, да и само создание кода становится весьма трудоемкой работой [2]. Можно пойти другим путем: включить в страницу описание CSS или подключить внешний файл, выполненный в стандарте CSS - Cascading Style Sheets (каскадные таблицы стилей), в котором с помощью специального макроязыка один раз жестко задать форматирование страницы. Другими словами, файл CSS выполняет роль некого шаблона, применяемого для форматирования текста, таблиц и иных элементов в документе HTML. Есть возможность подключать один и тот же физический файл CSS к различным web-страницам сайта. CSS можно использовать на любом сервере без каких-либо ограничений, поскольку команды CSS исполняются непосредственно на компьютере пользователя. К недостаткам данной технологии можно только отнести отсутствие поддержки CSS старыми браузерами (Internet Explorer и Nescape Navigator ниже 4-ой версии) и немного разный набор свойств CSS, поддерживаемый последними версиями этих двух браузеров.
Для придания веб-страницам динамизма (выпадающие меню, анимация) используются языки написания скриптов. Стандартным скриптовым языком во всемирной паутине является JavaScript. Ядром языка JavaScript является ECMAScript.
Наряду с JavaScript рассмотрим технологию Java. Как правило, две эти технологии объединяют в описаниях, хотя они различны. Наверно, это происходит из-за наличия одного прародителя -языка программирования Java, разработанного около 10 лет назад компанией Sun Microsystems и напоминающий по структуре и синтаксису язык С++.
JavaScript - это язык программирования, используемый в составе страниц HTML для увеличения возможностей. Он был разработан фирмой Netscape на базе языка Sun's Java корпорации Sun. JavaScript является, как бы, надстройкой стандарта HTML и значительно расширяет возможности html-документа, созданного с использованием этой технологии. JavaScript интегрируется в файл HTML в виде нескольких строчек кода (например, это может быть функция, вызываемая на исполнение специальной командой).
Встроенный в браузер интерпретатор JavaScript воспринимает и скрипт, и сам HTML-код как единый документ, обрабатывая и те, и другие данные одновременно.
Модуль Java в отличие от JavaScript интегрируется в использующую его страницу только после загрузки и выполнения самостоятельного приложения (программы) с расширением .class, такие приложения называются апплетами. Апплет также вызывается из html-файла соответствующей командой, но загружается, инициализируется и запускается на исполнение в виде отдельной программы, в фоновом режиме, а до исполнения апплета на его месте вы можете лишь созерцать серый прямоугольник. Поддержка этой технологии осуществляется с помощью, так называемой, "Виртуальной машины Java". Апплеты Java в основном использовались для придания интерактивности и визуальной красоты web-страничкам. Но поскольку апплеты загружались довольно медленно (из-за немаленького размера class файлов) и после написания кода необходимо было создать непосредственно апплет с помощью специального компилятора, а также возможность создавать эти же интерактивные элементы с использованием того же JavaScript, а также DHTML и CSS, обусловили довольно редкое применение технологии Java в виде апплетов сегодня.
С помощью технологии Java / JavaScript можно придать своей странице элементы интерактивности, формировать, компоновать и полностью контролировать формат всплывающих окон и встроенных фреймов, организовывать такие активные элементы, как "часы", "бегущие строки" и иную анимацию, создать чат. Большинство web-камер, передающих на сайт "живое" изображение, также работают на базе соответствующих приложений Java.
Использование этих технологий не требует установки и настройки на сервере каких-либо дополнительных модулей, поскольку скрипты и апплеты выполняются непосредственно на компьютере пользователя. Браузеры старых версий (Internet Explorer и Netscape Navigator ниже с 4-ой версии), не поддерживающих Java / JavaScript, не смогут правильно отображать web-странички, созданные при помощи этих технологий. Но я думаю, что это уже нельзя считать недостатком, поскольку сейчас таких браузеров всего около 3-4%.
HTML, CSS, JavaScript - являются языками, с помощью которых можно создавать сколь угодно сложные веб-сайты. Но это всего лишь лингвистическое обеспечение, в то время как в браузерах документы представляются в виде набора объектов, множество типов которых является объектной моделью браузера (BOM). Объектная модель браузера уникальна для каждой модели и таким образом возникают проблемы при создании межбраузерных приложений. Поэтому Веб-консорциум предложил объектную модель документа (DOM), являющуюся стандартным способом представления веб-страниц с помощью набора объектов.
В отличие от объектной модели браузера DOM содержит набор объектов лишь для содержимого документа и не имеет объектов, позволяющих управлять окнами и рамками окон. При написании приложений в целях поддержки межбраузерной переносимости необходимо придерживаться стандартов DOM, а к объектной модели браузера прибегать лишь при крайней необходимости. Такая необходимость может возникнуть, например, при управлении окнами и строкой состояния. Совокупность HTML, CSS, JavaScript и DOM часто называют динамическим HTML - Dynamic HTML или DHTML.
DHTML (Dynamic Hyper Text Markup Language, динамический язык разметки гипертекста) является расширением стандарта HTML и позволяет создавать web-страницы, включающие такие интерактивные элементы, как движущийся фон, расположенный под статичным содержимым документа, движущиеся объекты, выпадающие меню, кнопки, подсвечивающиеся при наведении курсора мыши, анимацию, бегущие титры и многое другое. По большому счету DHTML представляет собой "среднее арифметическое" между технологиями HTML и JavaScript. Этот стандарт использует простые сценарии, подготовленные с помощью интерпретируемого макроязыка, обрабатываемого браузером совместно с кодом HTML. Такие сценарии именуются "скриплетами".
Для создания скриплетов используются стандартные расширения DHTML и любой макроязык, поддерживающий директивы интерфейса ActiveX. DHTML распознается браузерами Microsoftinternet Explorer, начиная с версии 4.0 и выше.
PHP (Personal Home Page tools) - это еще один интерпретируемый язык, предназначенный для придания web-страницам элементов
интерактивности. Код, написанный на языке PHP, встраивается в документ HTML подобно подпрограмме: в тот участок документа, где необходимо разместить интерактивный элемент, просто вставляется сценарий PHP. Мнемоника данного языка базируется на синтаксисе PERL, Java и С, благодаря чему не вызывает каких-либо трудностей при изучении. Методики, которые позволяют серверам корректно распознавать файлы, содержащие скрипты PHP, различны и зависят в первую очередь от типа конкретного сервера. Как правило, достаточно назначить такому файлу расширение .php, иногда - с добавлением номера версии используемого языка, например .php3 или .php4.
Технология PHP позволяет организовывать на web-странице счетчик посещений, подсчитывать статистику обращений к тем или иным разделам сайта, защитить доступ к какому-либо html-документу паролем и многое другое. Среди недостатков PHP следует отметить то, что данная технология поддерживается далеко не всеми серверами Интернета.
Технология CGI (Common Gateway interface) подразумевает использование в составе
ресурса Интернета интерактивных элементов на базе приложений, обеспечивающих передачу потока данных от объекта к объекту. Именно так организовано во Всемирной сети большинство чатов, конференций (форумов), досок объявлений, гостевых книг, поисковых машин и рейтинговых систем. Упрощенно принцип работы CGI выглядит следующим образом: например, пользователь заполняет на web-страничке ту или иную форму и нажимает на кнопку, после чего информация из формы передается в CGI-скрипт, который запускается на выполнение и обрабатывает полученную информацию. Результат работы CGI-скрипта может быть выдан (встроен) в другую html-страницу, отправлен по почте или трансформирован каким-либо другим способом. Как правило, скрипты CGI размещаются на сервере в специально отведенной для этой цели директории, которой назначается имя CGI-BIN. Следует помнить, что подключение, отладка и запуск таких программ требует соответствующих прав доступа к web-серверу, а также определенных знаний и навыков.
Технология CGI обычно реализуется двумя методами: либо с использованием программ, написанных на языке PERL (Practical Extraction and Report Language), - как правило, такие файлы имеют расширение .pl, либо с помощью приложений, созданных обычно с применением языка С и откомпилированных непосредственно на сервере, поскольку большинство UNIX-совместимых платформ включают в себя встроенный транслятор этого языка. Подобные программы имеют расширение .cgi. Необходимо отметить, что PERL, как и HTML, является интерпретируемым языком, но он интерпретируется не браузером пользователя, а сервером перед передачей данных пользователю. Для того чтобы запустить подобный скрипт на исполнение, на web-сервере не требуется дополнительной компиляции, необходимо лишь установленного на сервере интерпретатора соответствующего языка.
Помимо упомянутых возможностей с помощью данной технологии можно организовать систему показа последовательности рекламных баннеров или автозагрузки файлов на сервер, создать форму отправки электронного письма непосредственно со страницы сайта (без использования почтовой программы) или службу виртуальных открыток. Среди достоинств CGI следует отметить их независимость от клиентского программного обеспечения - эту технологию сможет применять каждый пользователь, просматривающий содержимое сервера при помощи браузера практически любой версии. Главный недостаток заключается в том, что для установки и настройки приложений CGI на сервере нужно обладать как минимум правами администратора, поскольку эти программы при запуске способны нарушить нормальное функционирование серверного компьютера и дестабилизировать работу сети, именно поэтому не все службы хостинга предоставляют возможность использовать CGI-скрипты.
Как видно из вышесказанного, все веб-технологии тесно взаимосвязаны. Понимание этого факта позволит легче осознать назначение того или иного механизма, применяемого при создании веб-приложений. Технологии развиваются и совершенствуются с каждым годом. Появляются новые языки программирования, технологии, что позволяет пользователям реализовывать свои, даже самые сложные, идеи и задумки!
Литература
1. Артюхина М.С., Артюхин О.И., Клешина И.И. Аппаратная составляющая интерактивных технологий образовательного // Вестник Казан. технол. ун-та.-2014. -№8.-С.308 - 314.
2. Климанова Е.Ю., Зеленко О.В. Внедрение современных информационных технологий в образовательный процесс/ Е.Ю. Климанова, О.В. Зеленко // Вестник Казан. технол. ун-та.-2012. Т. 15. -№ 24. -С.212 - 213.
© О. В. Зеленко - ст. препод. каф. АССОИ КНИТУ, app_olgal@rambler.ru; Л. Р. Валеева - магистр гр. 814-М1 каф. АССОИ КНИТУ, lilya_cat20@mail.ru; С. Г. Климанов - магистр гр. 814-М3 каф. ЭЭ КНИТУ, klimanovsl@rambler.ru.
© O. V. Zelenko, senior teacher, Automated systems of obtaining and information processing department, KNRTU, app_olgal@rambler.ru; L. R. Valeeva, undergraduate KNRTU, lilya_cat20@mail.ru; S. G. Klimanov, undergraduate KNRTU, klimanovsl@rambler.ru.