Статьи с сайта www.webholm.ru

Современные web-технологии (часть I)

 

   Сейчас в Интернете используется довольно много различных технологий. Данная статья посвящена описанию основных особенностей, преимуществ и недостатков популярных технологий JavaScript/Java, CGI, SSI, CSS.

 

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%.

 

CGI

 

   Технология 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-скрипты.

 

SSI

 

   SSI (Server Side Include) - технология, выполняемая на web-сервере, тесно переплетена с упомянутой выше CGI. На основе макроязыка, очень напоминающего С++, SSI позволяет реализовать такие возможности, как вывод в документе того или иного текста в зависимости от определенных условий или согласно заданному алгоритму, формировать файл HTML из динамически изменяющихся фрагментов или встраивать результат работы CGI в какой либо его участок. Достоинства и недостатки SSI аналогичны описанным в предыдущем абзаце.

 

CSS

 

   Зачастую у web-дизайнера возникает необходимость применить в процессе создания html-документа сложное форматирование - от абзаца к абзацу менять шрифт, расположение текста, его цвет, формировать различные таблицы данных. Можно решить эту проблему с помощью стандартных средств HTML: описывать каждый абзац отдельным набором команд, но в этом случае итоговый документ будет иметь большой размер, да и само создание кода становится весьма трудоемкой работой. Можно пойти другим путем: включить в страницу описание CSS или подключить внешний файл, выполненный с стандарте CSS - Cascading Style Sheets (каскадные таблицы стилей), в котором с помощью специального макроязыка один раз жестко задать форматирование страницы. Другими словами, файл CSS выполняет роль некого шаблона, применяемого для форматирования текста, таблиц и иных элементов в документе HTML. Есть возможность подключать один и тот же физический файл CSS к различным web-страницам сайта. CSS можно использовать на любом сервере без каких-либо ограничений, поскольку команды CSS исполняются непосредственно на компьютере пользователя. К недостаткам данной технологии можно только отнести отсутствие поддержки CSS старыми браузерами (Internet Explorer и Nescape Navigator ниже 4-ой версии) и немного разный набор свойств CSS, поддерживаемый последними версиями этих двух браузеров.

 

 

Современные web-технологии (часть II)

 

   Продолжаем описание основных особенностей, преимуществ и недостатков популярных web-технологий. Сейчас мы поговорим о PHP, ASP, VBScript, Macromedia Flash, DHTML, XHTML и XML.

 

PHP

 

   PHP (Personal Home Page tools) - это еще один интерпретируемый язык, напоминающий PERL, предназначенный для придания web-страницам элементов интерактивности. Код, написанный на языке PHP, встраивается в документ HTML подобно подпрограмме: в тот участок документа, где необходимо разместить интерактивный элемент, просто вставляется сценарий PHP. Мнемоника данного языка базируется на синтаксисе PERL, Java и С, благодаря чему не вызывает каких-либо трудностей при изучении. Методики, которые позволяют серверам корректно распознавать файлы, содержащие скрипты PHP, различны и зависят в первую очередь от типа конкретного сервера. Как правило, достаточно назначить такому файлу расширение .php, иногда - с добавлением номера версии используемого языка, например .php3 или .php4.

   Технология PHP позволяет организовывать на web-странице счетчик посещений, подсчитывать статистику обращений к тем или иным разделам сайта, защитить доступ к какому-либо html-документу паролем и многое другое. Среди недостатков PHP следует отметить то, что данная технология поддерживается далеко не всеми серверами Интернета.

 

ASP

 

   ASP (Active Server Pages, активные страницы сервера) - еще одна технология, аналогичная JavaScript и PHP, но на этот раз разработанная всем известной компанией Microsoft. Для того чтобы сделать web-страницу интерактивной с применением технологии ASP, необходимо встроить в ее код соответствующий скрипт, написанный на макроязыке, отдаленно напоминающем Java и С. Скрипт интерпретируется и исполняется непосредственно на сервере, после чего пользовательскому браузеру отправляется уже готовый html-документ с результатами работы сценария ASP. Отсюда следует вполне справедливое заключение о том, что для страниц, содержащих ASP, не имеет значения, какое программное обеспечение установлено на пользовательском компьютере. Зато принципиальное значение имеет тип сервера, на котором вы планируете использовать ASP, поскольку отнюдь не все они поддерживают данную технологию.

 

VBScript

 

   VBScript или Visual Basic Script (Visual Beginners All-purpose Symbolic Instruction Code Script - визуальный символический универсальный командный код для начинающих) - очередная версия интерпретируемого языка (наподобие JavaScript), встраиваемого в html-документ с целью включения в состав web-страницы интерактивных элементов. Данная технология была разработана компанией Microsoft в противовес разработанному компанией Netscape JavaScript.

   Если сравнить более распространенный стандарт JavaScript с VBScript, то некоторые отличия можно наблюдать лишь в синтаксисе языка: синтаксис VBScript несколько проще, поскольку основан на языке Visual Basic, в остальном они схожи. С помощью VBScript можно реализовать практически весь спектр возможностей, характерных для JavaScript. Обе технологии не зависят от типа сервера, на котором планируется разместить включающую их web-страницу. Однако VBScript в настоящее время менее распространен в Интернете, нежели его "конкурент", поскольку он поддерживается только браузерами производства Microsoft, а именно Microsoft Internet Explorer версии 3.0 и выше. Netscape Navigator не имеет интерпретатора этого языка, поэтому приверженцы этого браузера лишены возможности использовать интерактивные элементы, созданные с применением VBScript, в то время как JavaScript поддерживается и Internet Explorer, и Netscape Navigator.

 

Macromedia Flash

 

   Стандарт Flash был разработан компанией Macromedia в 1996 году. Основное назначение данной технологии - создание высококачественной интерактивной анимации, которую можно представлять при относительно небольшой размере итогового файла. С помощью Macromedia Flash web-мастер имеет возможность изготавливать красочные анимационные заставки, определенные элементы которых могут "реагировать" на движения мыши, а также в web-страницы мини-игры, озвученные мультипликационные клипы и многое другое. Другими словами, Macromedia Flash способна практически на все, что доступно при применении Java, и даже больше.

   Одним из основных отличий Macromedia Flash от всех остальных существующих ныне web-технологий является то, что это единственный стандарт, позволяющий работать не только с растровой графикой, но и с векторной. Помимо этого текст импортируется в среду Flash не как растровое изображение, а именно как текст, в котором один символ кодируется одним байтом информации, что является серьезным оружием в борьбе с излишним объемом результирующих файлов. Немаловажно, что во Flash имеется возможность воспроизведения музыки и звуков в формате mp3.

   Для создания документов, подготовленных согласно данному стандарту, компания Macromedia выпустила специальную объектно-ориентированную среду разработчика в виде 32-разрядного приложения для Microsoft Windows - Micrimedia Flash. Благодаря этому собственно процесс программирования при подготовке интерактивных элементов Flash и анимации сведен к минимуму: пользователю достаточно создать новый проект в удобной и дружественной среде, для чего необходимо лишь разобраться в принципах работы программного пакета и уметь обращаться с мышью, - по окончании работы программа встроит созданные объекты в документ HTML автоматически.

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

   Механизм технологии Macromedia Flash достаточно прост: в общем случае подготовленные разработчиком интерактивные элементы и анимация превращаются в интерпретируемый код, который импортируется в страницу HTML. Для того чтобы клиентский браузер мог распознавать объекты Flash, необходимо, чтобы на компьютере пользователя была установлена специальная надстройка к браузеру (plug-in), которая носит название Macromedia Flash Player, загрузка которой с сайта Macromedia предлагается автоматически браузером, если она не установлена, а на странице представлен Flash объект. Macromedia Flash Player распространяется бесплатно фирмой-разработчиком данной технологии. Проигрыватель Flash уже интегрирован в браузеры Microsoft Internet Explorer 4.0 и выше и Netscape Navigator версии 4.01 и выше. Другие браузеры, к сожалению, не умеют распознавать данный стандарт, в чем и заключается его основной недостаток.

 

DHTML

 

   DHTML (Dynamic Hyper Text Markup Language, динамический язык разметки гипертекста) является расширением стандарта HTML и позволяет создавать web-страницы, включающие такие интерактивные элементы, как движущийся фон, расположенный под статичным содержимым документа, движущиеся объекты, выпадающие меню, кнопки, подсвечивающиеся при наведении курсора мыши, анимацию, бегущие титры и многое другое. По большому счету DHTML представляет собой "среднее арифметическое" между технологиями HTML и JavaScript. Этот стандарт использует простые сценарии, подготовленные с помощью интерпретируемого макроязыка, обрабатываемого браузером совместно с кодом HTML. Такие сценарии именуются "скриплетами".

   Для создания скриплетов используются стандартные расширения DHTML и любой макроязык, поддерживающий директивы интерфейса ActiveX. DHTML распознается браузерами Microsoft Internet Explorer, начиная с версии 4.0 и выше.

 

XHTML и XML

 

   XML (Extensible Markup Language, расширяемый язык разметки) является принципиально новым стандартом, предложенным в 2000 году создателем языка HTML - консорциумом World Wide Web Consortium (W3C). Это новейшая технология изготовления web-страниц, и ее окончательная спецификация в настоящий момент еще находится в стадии разработки. По структуре XML представляет собой не собственно язык разметки гипертекста, а, так называемый, метаязык, предназначенный для описания других языков более низкого уровня. В свою очередь XHTML (Extensible Hypertext Markup Language, расширяемый язык разметки гипертекста) представляет собой промежуточный вариант между XML и HTML 4.0. Именно за счет его широкого применения W3C планирует осуществить постепенный переход от одного стандарта к другому. В спецификацию XHTML заложен принцип обратной совместимости. Иными словами, владельцам web-сайтов, страницы которых выполнены по технологии HTML 4.0 или более ранних версий, не придется как-либо изменять формат опубликованных в Интернете документов: все дополнения и расширения нового языка полностью включают в себя предыдущие стандарты.

   XHTML и XML значительно расширяют возможности HTML и позволяют web-мастерам использовать практически весь заложенный в современный Интернет потенциал на 100%, в первую очередь в сфере электронной коммерции. Поскольку XHTML подразумевает модульную архитектуру построения электронных документов, данный стандарт позволяет создавать механизмы взаимодействия с нетрадиционными для Интернета устройствами, такими как факсы, сотовые телефоны и телевизоры. По мнению аналитиков, в не столь отдаленном будущем XML станет основным стандартом во Всемирной сети, постепенно включив в себя большинство других использующихся ныне форматов.

Источник: webholm.ru