Эволюция сайтостроения 22.02.2003 Илья Щуров Voyager
«А не создать ли мне собственный сайт или хотя бы страничку?» — такая мысль рано или поздно посещает многих интернетчиков. Именно с нее начинается длинная и извилистая Дорога Вебмастеринга: поиск темы и материалов, разработка дизайна, выбор площадки для размещения (хостинга), — а также освоение соответствующих технологий. Большинство людей сталкивается здесь с похожими проблемами и решает их похожими способами. Посему хочу поделиться собственным опытом очарования и разочарования в приемах сайтостроения — не претендуя на звание специалиста в вебмастеринге и рассказав лишь о тех идеях и принципах создания сайтов, которыми руководствовался сам.
«Не грузите меня терминами, мне просто нужен сайт»
Свежепосвященный в вебмастеры Юзер в самом начале своей деятельности сталкивается со множеством непонятных терминов и аббревиатур, от которых голова идет кругом. Возникают вопросы: что лучше — www или http, действительно ли скрипты — это те же теги, только крупнее, можно ли бесплатно зарегистрировать домен первого уровня, зачем нужен jpg, если есть Photoshop, и множество других. Юзер с удивлением обнаруживает, что вебмастеринг — это далеко не так просто, как казалось. Однако на помощь приходят современные технологии: визуальные html-редакторы, шаблонные генераторы страниц, популярные на бесплатных хостингах, а также веб-панели управления и другие подобные вещи. Всего за неделю в программе FrontPage (обычно), DreamWeaver (в продвинутых случаях), Word (в безнадежных случаях) или веб-редакторе хостинга создается десяток страниц, одна из которых гордо называется Главной, а несколько других представляют собой содержание основных рубрик проекта. Затем все они связываются сетью гиперссылок, на них в беспорядке вешаются картинки и кнопки, выбирается какой-нибудь замысловатый фон — и сайт, кажется, готов к запуску — без единой строчки кода, написанной самим Юзером. «Ура! — говорит Юзер. — Как хорошо, что мы живем в мире, в котором вебмастер может забыть о технических трудностях и сконцентрироваться на содержании». Первое недовольство возникнет, скорее всего, при втором-третьем обновлении — когда окончательно станет ясно, что при публикации очередного материала приходится выполнять немаленькую работу: сверстать страницу в html-формате, поместить ее на сервер, дать аннотированную ссылку из содержания рубрики, в которой она публикуется, сообщить о появлении материала на Главной странице в разделе «Новости», изменить другие связанные страницы (установив перекрестные ссылки); при этом все страницы нужно снова закачать на сервер, все ссылки проверить на правильность (а трудно ли ошибиться, если index.html почему-то оказывается не тем же, что Index.html, а последний сильно отличается от Index.htm?), а при нахождении, не дай бог, ошибки — исправить оба варианта страницы, и тот, что на сервере, и тот, который на домашнем компьютере. Публикации и обновления материалов превращаются в кошмар, сравнимый разве что с уборкой на рабочем столе (реальном или компьютера), и это только начало. Через две недели работы Юзер понимает, что внутреннюю структуру сайта надо слегка поменять — несколько рубрик объединить в одну, из другой сделать новый крупный раздел с разбиением на подразделы и т. д. Если Юзер оказался не слишком прилежным и не внял советам не строить навигацию на фреймах, он сейчас обрадуется своей непослушности — достаточно будет лишь поменять файл, соответствующий списку рубрик, да перестроить страницы-содержания1. В противном случае придется менять все страницы — ведь на каждой есть столбик со ссылками на рубрики. Некоторым облегчением сего действия может стать использование шаблонов при разработке (в DreamWeaver или, возможно, FrontPage), но и в этом случае все файлы придется закачивать заново. Проходит три дня. Юзер завершает изменение навигации. Вот уже последний файл «слит» на сервер, все ссылки проверены на работоспособность, а новая структура радует глаз своей стройностью. Кажется, что совершать подобные подвиги не придется еще много лет. Телефонный звонок. Юзер снимает трубку, сначала радостно улыбается, потом бледнеет и падает в обморок: знакомый нарисовал новое оформление для сайта. Это было бы хорошо — старое, как теперь очевидно, оставляет желать лучшего — жутко непрофессиональное, шаблонное, с набившей оскомину графикой из бесплатной библиотеки, с торчащими откуда-то кусками таблиц и периодически съезжающим вбок текстом, и его пора сменить на что-нибудь красивое и оригинальное… Но ведь придется редактировать все файлы и закачивать их на сервер. Снова!!!
«Почему мне раньше никто не сказал про SSI и CGI?» Через какое-то время после полного разочарования в статических веб-страницах и визуальных редакторах Юзер узнает, что SSI — это не страшный монстр, а скорее добрая и милая собачка, которую надо только приручить и она начнет верой и правдой служить своему хозяину. SSI расшифровывается как Server Side Include, то есть включение на стороне сервера, и позволяет собирать страницу из отдельных кусочков, подключая к одним файлам другие. Узнав про это, сообразительный Юзер быстро понимает, что любая страница на его сайте представляет собой эдакий «слоеный пирог» — собственно текст материала оказывается зажат между верхним и нижним колонтитулом, причем последние одинаковы на всех страницах и посему их можно достаточно легко вынести в отдельные файлы, а затем подключать SSI-инструкциями. Вооружившись текстовым редактором (визуальные уже неприменимы, поскольку они предпочитают работать с целостными html-документами, а не с «SSI-нарезкой»), Юзер кромсает файлы своего сайта, заменяя код, относящийся к дизайну (те самые колонтитулы), на команды вида <—#include virtual=«/top.txt»—>. Реализуется идея разделения содержания и формы: в файлах остается только контент, а дизайн настраивается через изменение SSI-вставок. Теперь можно одним движением мыши сменить оформление и навигацию на всем сайте. И верстка страниц становится сплошным удовольствиемем — не надо путаться в коде всяких таблиц и ячеек, достаточно заменить в обычном txt-файле символы новой строки на тег <p> да добавить в начало и конец файла инструкции на вставку верхних и нижних колонтитулов. Заодно Юзер постепенно обучается языку HTML, и у него появляется ни с чем не сравнимое чувство свободы и полного контроля над ситуацией — теперь можно самому писать код страниц, а не надеяться на визуальный редактор. Благодать, одним словом! Благодать-то она благодать, но перейдя на модульную конструкцию страниц, мы решили только часть проблем — при публикации новых материалов все равно полсайта приходится менять вручную и перезакачивать на сервер, и тут уж никакой SSI не поможет. Что же делать? Очевидно, автоматизировать процесс! В поисках средств для этого Юзер рано или поздно натыкается на CGI-скрипты. Они представляют собой программы, которые запускаются и работают на стороне сервера, взаимодействуя с пользователем через браузер. Информация вводится в такой скрипт путем заполнения веб-формы, обрабатывается им, а затем результат выводится посетителю в виде динамической страницы. Это достаточно гибкий и универсальный инструмент, с помощью которого можно автоматизировать рутинные действия. В течение недели осваивается, например, Perl и пишется (или где-то берется) несложная программа, которая запрашивает через веб-форму параметры материала: рубрику, заголовок, имя автора, сам текст, аннотацию и т. д., затем записывает введенную информацию в уже сверстанном виде в новый файл, проставляет на него ссылки в других файлах и делает всю остальную нудную работу. Может даже подготовить выпуск почтовой рассылки, если сайт Юзера уже успел ею обзавестись. Более того, оказывается, что с помощью CGI можно делать еще много хороших вещей — начиная от вставки в страницы, например, случайной ссылки из коллекции и заканчивая гостевой книгой или даже баннерной сетью. Связка «SSI+CGI» может работать долго и успешно. Но если проект растет, он начинает предъявлять новые требования к системе управления. Сайт становится сложнее по структуре и, главное, по динамике — материалы изменяются в реальном времени, между ними появляются связи, увеличивается количество интерактивов (форумов, голосований), возможно, к проекту подключаются новые люди, которые хотят получить прямой доступ к сайту и самостоятельно редактировать контент. И тут оказывается, что любое изменение, кроме тривиальной публикации, до сих пор не было автоматизировано, да и сделать это с технологией хранения информации в статических html-файлах принципиально невозможно!
Билеты в Сказку [ "13-я КОМНАТА" ]
Новости [ "НОВОСТИ" ]
Микрофишки [ "НОВОСТИ" ]
Облегчает понимание [ "НОВОСТИ" ]
Взрослые игры Nokia [ "РЕПОРТАЖ" ]
Большой КЫШ [ "РЕПОРТАЖ" ]
Пещерная конкуренция [ "BUSINESS@RUS" ]
Следите за… [ "BUSINESS@RUS" ]
АУДИТ [ "ТЕМА НОМЕРА" ]
Карта бита [ "ТЕМА НОМЕРА" ]
Голова — два уха [ "ТЕМА НОМЕРА" ]
Эволюция сайтостроения [ "SOFTТЕРРА LITE" ]
Играй,гармонь [ "SOFTТЕРРА LITE" ]
За забором [ "SOFTТЕРРА LITE" ]
События [ "SOFTТЕРРА LITE" ]
Gлавная передача [ "КОМПЬЮFЕРРА LITE" ]
Младший брат,
которого не было [ "КОМПЬЮFЕРРА LITE" ]
Апокрифы
действительности [ "МЫСЛИ" ]
Конспирология хайтека [ "МЫСЛИ" ]
RUSUфикация [ "АНАЛИЗЫ" ]
Китайский ватт [ "UNDOCUMENTED" ]
Насколько полно используется аудиоподсистема вашего компьютера? [ "ВОПРОС НЕДЕЛИ" ]
А напоследок я скажу… [ "ПИСЬМОНОСЕЦ" ]
Все материалы номера
|