Эволюция сайтостроения
 
22.02.2003
Илья Щуров Voyager


 
стр. 1
стр. 2 >>

 «А не создать ли мне собственный сайт или хотя бы страничку?» — такая мысль рано или поздно посещает многих интернетчиков. Именно с нее начинается длинная и извилистая Дорога Вебмастеринга: поиск темы и материалов, разработка дизайна, выбор площадки для размещения (хостинга), — а также освоение соответствующих технологий. Большинство людей сталкивается здесь с похожими проблемами и решает их похожими способами. Посему хочу поделиться собственным опытом очарования и разочарования в приемах сайтостроения — не претендуя на звание специалиста в вебмастеринге и рассказав лишь о тех идеях и принципах создания сайтов, которыми руководствовался сам.

«Не грузите меня терминами, мне
просто нужен сайт»

Свежепосвященный в вебмастеры Юзер в самом начале своей деятельности сталкивается со множеством непонятных терминов и аббревиатур, от которых голова идет кругом. Возникают вопросы: что лучше — 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, то есть включение на стороне сервера, и позволяет Схема работы CGI- скриптасобирать страницу из отдельных кусочков, подключая к одним файлам другие. Узнав про это, сообразительный Юзер быстро понимает, что любая страница на его сайте представляет собой эдакий «слоеный пирог» — собственно текст материала оказывается зажат между верхним и нижним колонтитулом, причем последние одинаковы на всех страницах и посему их можно достаточно легко вынести в отдельные файлы, а затем подключать SSI-инструкциями. Вооружившись текстовым редактором (визуальные уже неприменимы, поскольку они предпочитают работать с целостными html-документами, а не с «SSI-нарезкой»), Юзер Схема организации движка, экономного к ресурсам серверакромсает файлы своего сайта, заменяя код, относящийся к дизайну (те самые колонтитулы), на команды вида <—#include virtual=«/top.txt»—>. Реализуется идея разделения содержания и формы: в файлах остается только контент, а дизайн настраивается через изменение SSI-вставок. Теперь можно одним движением мыши сменить оформление и навигацию на всем сайте. И верстка страниц становится сплошным удовольствиемем — не надо путаться в коде всяких таблиц и ячеек, достаточно заменить в обычном txt-файле символы новой строки на тег <p> да добавить в начало и конец файла инструкции на вставку верхних и нижних колонтитулов. Заодно Юзер постепенно обучается языку HTML, и у него появляется ни с чем не сравнимое чувство свободы и полного контроля над ситуацией — теперь можно самому писать код страниц, а не надеяться на визуальный редактор. Благодать, одним словом!
Благодать-то она благодать, но перейдя на модульную конструкцию страниц, мы решили только часть проблем — при публикации новых материалов все равно полсайта приходится менять вручную и перезакачивать на сервер, и тут уж никакой SSI не поможет.
Что же делать? Очевидно, автоматизировать процесс! В поисках средств для этого Юзер рано или поздно натыкается на CGI-скрипты. Они представляют собой программы, которые запускаются и работают на стороне сервера, взаимодействуя с пользователем через браузер. Информация вводится в такой скрипт путем заполнения веб-формы, обрабатывается им, а затем результат выводится посетителю в виде динамической страницы. Это достаточно гибкий и универсальный инструмент, с помощью которого можно автоматизировать рутинные действия.
В течение недели осваивается, например, Perl и пишется (или где-то берется) несложная программа, которая запрашивает через веб-форму параметры материала: рубрику, заголовок, имя автора, сам текст, аннотацию и т. д., затем записывает введенную информацию в уже сверстанном виде в новый файл, проставляет на него ссылки в других файлах и делает всю остальную нудную работу. Может даже подготовить выпуск почтовой рассылки, если сайт Юзера уже успел ею обзавестись.
Более того, оказывается, что с помощью CGI можно делать еще много хороших вещей — начиная от вставки в страницы, например, случайной ссылки из коллекции и заканчивая гостевой книгой или даже баннерной сетью.
Связка «SSI+CGI» может работать долго и успешно. Но если проект растет, он начинает предъявлять новые требования к системе управления. Сайт становится сложнее по структуре и, главное, по динамике — материалы изменяются в реальном времени, между ними появляются связи, увеличивается количество интерактивов (форумов, голосований), возможно, к проекту подключаются новые люди, которые хотят получить прямой доступ к сайту и самостоятельно редактировать контент. И тут оказывается, что любое изменение, кроме тривиальной публикации, до сих пор не было автоматизировано, да и сделать это с технологией хранения информации в статических html-файлах принципиально невозможно!

 


 
стр. 1
стр. 2 >>


 Билеты в Сказку [ "13-я КОМНАТА" ]
 Новости [ "НОВОСТИ" ]
 Микрофишки [ "НОВОСТИ" ]
 Облегчает понимание [ "НОВОСТИ" ]
 Взрослые игры Nokia [ "РЕПОРТАЖ" ]
 Большой КЫШ [ "РЕПОРТАЖ" ]
 Пещерная конкуренция [ "BUSINESS@RUS" ]
 Следите за… [ "BUSINESS@RUS" ]
 АУДИТ [ "ТЕМА НОМЕРА" ]
 Карта бита [ "ТЕМА НОМЕРА" ]
 Голова — два уха [ "ТЕМА НОМЕРА" ]
 Эволюция сайтостроения [ "SOFTТЕРРА LITE" ]
 Играй,гармонь [ "SOFTТЕРРА LITE" ]
 За забором [ "SOFTТЕРРА LITE" ]
 События [ "SOFTТЕРРА LITE" ]
 Gлавная передача [ "КОМПЬЮFЕРРА LITE" ]
 Младший брат, которого не было [ "КОМПЬЮFЕРРА LITE" ]
 Апокрифы действительности [ "МЫСЛИ" ]
 Конспирология хайтека [ "МЫСЛИ" ]
 RUSUфикация [ "АНАЛИЗЫ" ]
 Китайский ватт [ "UNDOCUMENTED" ]
 Насколько полно используется аудиоподсистема вашего компьютера? [ "ВОПРОС НЕДЕЛИ" ]
 А напоследок я скажу… [ "ПИСЬМОНОСЕЦ" ]


Все материалы номера