Новиков А. О.

Иркутский Национальный Исследовательский Технический университет, Россия

Разработка динамических веб-сайтов

Ежедневно создаются сотни новых веб-сайтов, которые также ежедневно пополняются сотнями новых страниц и большими объемами информации. Как создаются все эти новые массивы страниц, и каким образом они так быстро обновляются? В этой статье мы познакомимся с технологиями и программными системами, которые заставляют не угасать потоки информации во всемирной паутине.

Перед тем как погрузиться в разработку динамического веб-сайта, важно понять, что представляют собой статический веб-сайт и статические веб-страницы, составляющие его основу. Статический сайт – это набор HTML-страниц, которые взаимосвязаны между собой ссылками. С самого основания сети Internet все сайты были именно статическими. Собой они представляли стандартные документы, посещаемые различными пользователями, с целью получения какой-либо интересующей их информацией. Главным минусом статических страниц является сложность внесения в них изменений, трудности с обновлениями сайта. Без достаточных знаний в веб-программировании, управление сайтом становится невозможным, что автоматически несёт за собой расходы на оплату услуг специалистов. Кроме того, при увеличении количества страниц, целостность сайта и правильность программных кодов становится поддерживать ещё труднее.

Более гибкими в этом отношении выступают динамические сайты Динамический сайт – сайт состоящий из динамичных страниц – шаблонов, контента, скриптов и прочего, в виде отдельных файлов. Динамические сайты в браузере формируются из нескольких частей: страницы-шаблона и отдельно хранимого содержимого. Как правило, для отображения любого количества однотипных страниц используется одна страница-шаблон, в которую подгружается соответствующее содержимое. Главная особенность динамических сайтов в том, что реализовано разделение содержания и оформления веб-страниц. Это позволяет оперативно изменять информацию на сайтах без необходимости изменять программные коды страниц.

Разобравшись в основных понятиях, перейдем к основной теме статьи – разработке динамических веб-сайтов. Динамические сайты можно разрабатывать «с нуля», вручную создавая все необходимые программные коды, скрипты и т.д. в текстовых редакторах или интегрированных средах разработки. Современное программное обеспечение позволяет без особого труда создавать и изменять динамические веб-страницы. Но каждый сайт имеет как минимум несколько различных разделов и подразделов, множество графики, флэш-анимации, музыки и видеофайлов на своих страницах. Возникает проблема централизованного хранения и управления огромным количеством файлов. Очевидно, что необходим какой-то инструмент, с помощью которого задача управления сайтом значительно упрощается. И такой инструмент есть - система управления контентом или CMS.

CMS, от английского Content Management System (система управления контентом), - это программное обеспечение, позволяющее пользователям размещать или изменять уже размещенную на сайте информацию без привлечения разработчиков сайта. Популярностью пользуются следующие CMS: 1C-Битрикс, Joomla, Drupal, Wordpress.

Принцип работы всех CMS основан на разделении контента (содержания) и дизайна (оформления) сайта. Обычно дизайн сайта меняется редко, тогда как изменения контента могут происходить не только каждый день, но и даже каждый час. Поэтому в своей работе CMS используют так называемые шаблоны - специальные "пустые" заготовки страниц, в которых дизайн сайта уже прописан и осталось лишь наполнить их информацией. Пользователю достаточно воспользоваться специальным WYSIWYG-редактором. Этот редактор по внешнему виду очень похож на привычные текстовые редакторы офисных приложений, поэтому пользователю не составляет особого труда освоить его. А наличие в системе большого количества готовых шаблонов дает возможность выбрать подходящий дизайн буквально в считанные минуты. Кроме того в современных CMS имеется множество расширений,  упрощающих разработку и формирование страниц, например механизм отложенной публикации, графический компоновщик форм и страниц. Поэтому гораздо чаще для создания динамических сайтов используются специальные системы управления контентом – CMS.

При разработке сайта, тем более динамического, невозможно обойтись без баз данных и СУБД. СУБД (система управления базами данных, DBMS) отвечает за агрегирование данных и их последующее хранение и обработку. Управление этой системой осуществляется на языках работы с базами данных, например, SQL. Выбор СУБД зависит от тех приложений, которыми она будет управляться. Ведущими поставщиками СУБД являются IBM, Oracle и Microsoft. Они характеризуются масштабируемостью и быстродействием, так и в построении сложных аналитических выборок, работе с XML и кластерных решениях. Их еще относят к так называемой «большой тройке». Бесплатные СУБД такие как MySQL и Postgres близки к этим гигантам и вполне способны с ними конкурировать. Какой из вышеперечисленных СУБД отдать своё предпочтение - предмет постоянных "священных войн" между разработчиками. Мы не будем вдаваться в особенности той или иной системы, а лишь отметим, что для интерпретаторов PHP нет большой разницы с какой СУБД работать, т.к. общая логика работы остаётся постоянной и, научившись работать с MySQL, программист без труда освоит PostgreeSQL или MS SQL Server. Незначительные отличия будут в именовании функций и особенностях построения запросов. Но все-таки при разработке небольшого проекта серьезным фактором выбора является бесплатность системы. 

Следующее, что желательно для разработки динамических сайтов – это знание основных языков веб-программирования. Создать веб-сайт далеко не так просто, как сперва может показаться. Ведь чтобы создать эффективный ресурс, привлекающий внимание пользователей, а также вполне удовлетворяющий требованиям поисковых систем, необходимо знание технологий, которые чаще всего применяются для разработки веб-сайтов различной сложности. Перечислим необходимый минимум:

·        HTML – стандартный язык разметки документов во Всемирной паутине;

·        CSS язык описания внешнего вида документа, написанного с использованием языка разметки;

·        PHP – разработан для написания веб-приложений (скриптов, сценариев), исполняющихся на Веб-сервере;

·        JavaScript – это бесплатный язык сценариев, исполняемых на стороне клиента, который позволяет создавать интерактивные HTML-страницы.

В данной статье мы познакомились с такими понятиями как статический и динамический веб-сайт, а также с технологиями и программными системами, которые позволяют разрабатывать и поддерживать работы динамических веб-ресурсов. Кроме того отметили важность знания основных языков веб-программирования.

Литература:

1.     Леонтьев Б.В. «Web-дизайн: Тонкости, хитрости, секреты» / Издательство: Солон-Пресс, 2003. - 170с.

2.     Леки-Томпсон, Эд. «PHP 5 для профессионалов = Professional PHP 5» /
Э. Леки-Томпсон, А. Коув, С. Новицки, Х. Айде-Гудман – М.: ЭЭ «Диалектика», 2006. – 608 с.

3.     Олифер В.Г., Олифер Н.А. – «Компьютерные сети. Принципы, технологии, протоколы : Учебник для вузов» 4-е изд. СПБ.: Питер, 2010. – 944 с.

4.     Никсон Р. «Создаем динамические веб-сайты с помощью PHP, MySQL, JavaScript и CSS» 2-е изд. — СПб.: Питер, 2013. — 560 с