Как Не Ошибиться При Создании Сайта. Статика или динамика: Что Выбрать С Учетом Развития Сайта
Сколько страниц и сайтов Вы успели посетить за время пребывания в глобальной сети? Кто-то больше, кто-то меньше, я сам не берусь сосчитать, сколько их было, многие, возможно, уже не существуют.
А задумывались ли Вы над тем, что представляет собой каждая страница, пробовали заглянуть внутрь сайта?
Хочу предложить Вам последовать за мной, а я попытаюсь открыть Вам одну из сторон создания сайтов, их внутреннего устройства
. Мы не будем сильно углубляться в технические детали, но я постараюсь, чтобы Вы поняли главное - чем отличаются статические сайты от динамических, в чем их преимущества и недостатки, какой способ разработки сайта выбрать.
Все сайты в сети можно разделить на две большие группы: статические и динамические сайты.
С точки зрения посетителя сайта порой не важно, на какой странице он находится, статической или динамической, иногда даже трудно точно это определить.
Но я хочу рассмотреть такое разделение с точки зрения разработчика - создателя сайта.
Для начала следует определиться с понятиями, что же собой представляют статические и динамические сайты.
Что такое статический сайт?
Статической я буду называть страницу, которая целиком хранится на сервере и показывается посетителю в своем неизменном виде (следует учесть, что статическая страница может содержать некоторые изменяемые элементы, например баннеры, однако она все равно остается статической).
Для большей ясности приведу пример. Представьте, что Вы сохраняете какую-либо страницу на свой компьютер. Допустим, теперь она хранится в файле "Page.html" Если Вы откроете ее при помощи броузера, то увидите все наполнение страницы.
Вот примерно в таком виде (как при сохранении на локальный компьютер) статические страницы хранятся на сервере, который только выдает их посетителю.
Статическим я буду называть сайт, большинство или все страницы которого являются статическими.
Таких сайтов довольно много, с них, можно сказать, начинался интернет.
Что такое динамический сайт?
Динамической я буду называть страницу, формируемую сервером из нескольких частей или получаемую путем внесения либо изменения данных в страницу.
Рассмотрим процесс генерации динамической страницы подробнее. Если статическая страница не претерпевает практически никаких изменений и попадает на экран к посетителю в своем "первозданном" виде,
то динамической страницы, такой, как ее видит человек, на сервере не существует. Она собирается несколькими различными способами из данных, хранящихся на сервере, и только после этого показывается посетителю.
Как же она может собираться? Давайте рассмотрим:
- Первым вариантом может быть объединение нескольких (двух и более) отдельных частей в одну страницу - это самый простой способ генерации.
- Вторым вариантом является заполнение шаблонной страницы какой-либо информацией, хранящейся отдельно или получаемой в результате работы алгоритма (например, в результате вычислений).
- Третьим, и, пожалуй, самым распространенным вариантом является сочетание первых двух во всевозможных вариациях, т.е. страница собирается из нескольких кусочков, в которые при этом вносятся различные изменения.
Следуя предыдущим определениям, динамическим я буду называть сайт, большинство или все страницы которого создаются динамически.
Приведу еще одну аналогию, чтобы все встало на свои места. Представьте, что смотрите фильм. Кадры сменяют друг друга, сливаясь в одну живую картинку, но если посмотреть на процесс воспроизведения подробнее, Вы поймете, что каждый кадр был заранее сохранен, и теперь Вы просто видите их поледовательность.
Вы ничего не можете изменить, не можете вмешаться в события фильма. Уже догадались к чему я клоню? Да, он аналогичен статичному сайту, страницы которого точно так же как кадры фильма, были заранее созданы его автором.
На что же в таком случае будет похож динамический сайт? На компьютерную игру. В ней есть определенный сценарий, свои персонажи и интерьеры, но финальная картинка получается только после совмещения всех этих частей, причем не без Вашего участия
.
То, что Вы видите на экране, зависит от Ваших действий. Точно так же динамический сайт реагирует на Ваши действия на своих страницах и собирает из кусочков необходимую вам страницу.
С принципом разделения мы разобрались, давайте перейдем к разбору плюсов и минусов обоих подходов относительно друг друга.
Вы можете спросить, а что, если на сайте статических и динамических страниц примерно одинаково? Я смею Вас заверить, что таких сайтов довольно мало, да и в нашем случае это большой роли не играет. Просто те преимущества и недостатки, которые я рассмотрю чуть ниже, будут относиться не ко всему сайту, а к его соответствующей части.
Преимущества и недостатки динамических сайтов
Напрашивается вопрос, а зачем вообще это нужно, делать страницу динамической, разбивать ее на части, хранить информацию где-то отдельно и т.д.? Не проще ли создать сайт таким, как его должен видеть посетитель и не выпендриваться?
Как я уже говорил, со статических сайтов начинался интернет, динамические страницы и сайты появились позднее, но начали теснить своих прародителей, а это значит, что они имеют свои преимущества.
Вот давайте и рассмотрим, какие преимущества имеют динамические сайты по сравнению со статическими, ну а чтобы обзор был полным, уделим время и недостаткам.
Хочу сразу заметить, что, давая определения, я начинал с описания отдельных страниц. Это было сделано для того, чтобы вам было понятнее, о чем идет речь
Теперь же, при сравнении, я буду рассматривать целые сайты: статические и динамические. Соответственно и преимущества будут касаться именно готовых сайтов, т.к. подчас для страниц они просто не подходят.
Итак, с появлением языков программирования, выполняемых на стороне сервера, появилась возможность вносить изменения в данные отправляемые посетителю. Что же это дало?
- Разделение информации и дизайна;
- Упрощение модификации и обновления страниц;
- Возможность изменять контент, реагируя на действия посетителя.
Давайте рассмотрим каждый пункт поподробнее.
Разделение информации и дизайна сайта
Использование динамических страниц позволяет хранить некий шаблон дизайна, в который, в зависимости от страницы, на которую зашел посетитель, помещается необходимое наполнение.
Такой вариант очень удобен, ведь для всего сайта создается один или несколько шаблонов, и все изменения дизайна, которые требуется сделать на сайте, производятся только с ними.
В качестве примера представьте себе корпоративный сайт, на котором несколько сотен страниц (это не так уж много по нынешним меркам). И предположим, организация решила поменять свой логотип, нет ничего проще - если сайт статический, нужно внести изменения в каждую страницу.
А теперь представьте, что сайт состоит из тысяч страниц, а изменения приходится делать постоянно. Сколько временных и человеческих ресурсов для этого потребуется?
Если же сайт динамический, все гораздо проще. Изменения вносятся в один или несколько шаблонных файлов, и все страницы сайта автоматически изменяются.
Данный подход также позволяет разграничить полномочия людей, занимающихся наполнением и модификацией сайта. Т.е. одни сотрудники могут заниматься дизайном, другие наполнением страниц. В идеале они даже не будут пересекаться, только посетитель сайта будет видеть результат их совместной работы на экране своего монитора.
С точки зрения организации работы и разделения труда, вариант создания сайта на основании шаблонов практически идеален. Человек, ответственный за дизайн сайта не сможет вмешаться в процесс наполнения страниц контентом, и за все недочеты в дизайне будет нести ответственность только он.
И наоборот, тот, кто занимается информационным наполнением сайта, не сможет нарушить дизайн сайта. Каждый занимается своим делом, не мешая другим. Это ускоряет работу и снижает затраты.
Упрощение модификации и обновления страниц на сайте
Это преимущество непосредственно вытекает из первого. При рассмотрении предыдущего пункта я уже немного коснулся этого вопроса. Я привел пример с изменением логотипа фирмы на всех страницах сайта. Но ведь сайт требует постоянной модификации, особенно это касается его контента. Информация должна быть свежей.
Разделение информации и дизайна на сайте позволяет ускорить процесс обновления и наполнения сайта, т.к. не требует от людей, выполняющих эти операции, знаний в областях html-разметки, графики и т.д. Т.е. можно даже подготовить дизайн сайта (заказать у фирмы, предоставляющей такие услуги),
а потом производить наполнение сайта собственными силами, не затрачивая средства на постоянное привлечение сторонних или включение в свой штат специалистов по дизайну, что потребовалось бы при статической организации сайта. Да и временные затраты на обновление значительно сокращаются.
Возможность изменять контент сайта, реагируя на действия посетителя
Третье достижение стало прорывом на пути развития глобальной сети. Посудите сами, все преимущества, описанные в первых двух пунктах, облегчали работу создателей сайтов и снижали их расходы, но для посетителей это было не очень важно. А вот третье преимущество отразилось непосредственно на них. Только благодаря ему Вы можете видеть огромное количество электронных магазинов, виртуальных клубов, интернет-игр и т.п. Только возможность изменять наполнение сайта под конкретного посетителя позволило воплотиться в жизнь этим проектам.
Представьте, что Вы попали в электронный магазин, который использует статические страницы. В таком интернет-магазине Вы не сможете посмотреть свою корзину, Вы не сможете проследить за этапами оплаты и выполнения заказа, Вы не увидите ничего кроме страниц с товарами. Да, возможность сделать заказ у Вас останется, но захотите ли Вы назвать это магазином, будете ли в нем что-то покупать?
Еще один пример - это форумы и чаты, коих на просторах сети развелось бесчисленное множество. Все они создаются динамически, без поддержки этой технологии ни один из них не смог бы существовать.
Доски объявлений, клубы по интересам, виртуальные игры и соревнования - ничего этого бы Вы не смогли увидеть.
Добавьте сюда все системы электронных платежей и Вы поймете, как оскудела бы сеть, лишившись динамических сайтов. Вернее теперь Вы можете представить, что мы все приобрели с появлением этих новых возможностей.
Недостатки динамических сайтов
Как и у всего остального в нашем неидеальном мире, у динамических сайтов есть свои недостатки.
Первым недостатком является необходимость использования дополнительных программных средств для построения динамического сайта. На статическом сайте все страницы уже готовы, серверу остается только показать их посетителю, а на динамическом сайте необходимо вносить в них какие-то изменения, для этого требуется соответствующие программные решения.
В зависимости от сложности сайта, трудоемкость и стоимость разработки таких программ может очень сильно варьироваться. Сейчас существует множество готовых решений для создания сайта, в том числе и бесплатных.
В сети можно найти не один десяток всевозможных бесплатных скриптов, которые позволят вам создать на сайте форум, доску объявлений, клуб знакомств, магазин и т.д. Но если требуется что-то специфическое, здесь не обойтись без дополнительных разработок.
Вторым недостатком является повышение требований к аппаратным мощностям серверных систем. Этот недостаток непосредственно следует из предыдущего, т.к. теперь серверу требуется еще выполнить какую-топрограмму для модификации страницы сайта, а только потом выдать ее посетителю. ...