Принципы разработки web-сайтов (на примере ЗАО "Кондитерская фабрика "Саратовская")

Современные тенденции разработки и принципы классификации web-сайтов. Сайт как средство развития бизнеса. Технологии, применяемые при разработке web-сайтов, системы управления контентом. Разработка web-сайта для ЗАО "Кондитерская фабрика "Саратовская".

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 01.10.2012
Размер файла 4,1 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

2.2.3 DHTML

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

Для достижения перечисленных целей используются следующие методы:

· динамическое изменение атрибутов и стилей элементов, составляющих HTML-документ;

· динамическое извлечение данных из внешних источников и включение их в Веб-страницу;

· использование динамически загружаемых шрифтов;

· поддержка визуальных и мультимедийных эффектов при отображении страниц;

· механизмы сохранения информации на компьютере-клиенте между сессиями работы.

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

Преимущества DHTML:

· Повышение конкурентоспособности узла. Узел, содержащий динамически изменяемые цвета, анимированную графику, систему выпадающих меню и другие элементы пользовательского интерфейса, явно привлекательнее для пользователя, чем обычные статические страницы.

· Легкость сопровождения. DHTML позволяет вынести типовые элементы формирования страниц Веб-узла в отдельные таблицы стилей и сценарии, а затем включать их одинаковым образом во все страницы. Это, безусловно, упрощает сопровождение и минимизирует количество возникающих опечаток и других ошибок.

· Уменьшение трафика. Одна из основных особенностей DHTML состоит в том, что он переносит основную тяжесть по формированию Веб-страниц с сервера на клиента. Платой за это является загрузка с сервера сценариев и программных компонентов, которые при правильном проектировании незначительны по объему.

Динамические страницы загружаются и отображаются намного быстрее статических, что особенно важно для отечественных каналов связи, не страдающих чрезмерно высоким качеством.

Минусы DHTML:

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

· С появлением DHTML разработка динамической страницы потребовала программирования на сценарном языке, владения основами пользовательского интерфейса и т. п.

2.2.4 XML

XML (англ. Extensible Markup Language -- расширяемый язык разметки) -- рекомендованный Консорциумом Всемирной паутины язык разметки, фактически представляющий собой свод общих синтаксических правил. XML -- текстовый формат, предназначенный для хранения структурированных данных (взамен существующих файлов баз данных), для обмена информацией между программами, а также для создания на его основе более специализированных языков разметки. XML является упрощённым подмножеством языка SGML (Standard Generalized Markup Language).

Целью создания XML было обеспечение совместимости при передаче структурированных данных между разными системами обработки информации, особенно при передаче таких данных через Интернет.

По структуре XML представляет собой не собственно язык разметки гипертекста, а так называемый метаязык, предназначенный для описания других языков более низкого уровня. По мнению аналитиков, в не столь отдаленном будущем XML станет основным стандартом во Всемирной сети, постепенно включив в себя большинство других использующихся ныне форматов.

2.2.5 CSS

Впервые идея форматирования HTML-документов с помощью CSS была рекомендована Консорциумом W3C в 1996 году. Эта рекомендация, которая была обновлена в 1998 году, используется web - разработчиками и по сей день. CSS (англ. Cascading Style Sheets - каскадные таблицы стилей) - технология описания внешнего вида документа, написанного языком разметки. Преимущественно используется как средство оформления веб-страниц в формате HTML и XHTML, но может применяться с любыми видами документов в формате XML, включая SVG и XUL.

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

CSS при отображении страницы может быть взят из различных источников:

· Авторские стили (информация стилей, предоставляемая автором страницы) в виде:

Внешних таблиц стилей, то есть отдельного файла .css, на который делается ссылка в документе.

Встроенных стилей - блоков CSS внутри самого HTML-документа.

Inline-стилей, когда в HTML-документе информация стиля для одного элемента указывается в его атрибуте style.

· Пользовательские стили

Локальный CSS-файл, указанный пользователем в настройках браузера, переопределяющий авторские стили, и применяемый ко всем документам.

· Стиль браузера

Стандартный стиль, используемый браузером по умолчанию для представления элементов.

Стандарт CSS определяет приоритеты, в порядке которых применяются правила стилей, если для какого-то элемента подходят несколько правил одновременно. Это называется "каскадом", в котором для правил рассчитываются приоритеты или "веса", что делает результаты предсказуемыми.

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

До появления CSS оформление веб-страниц осуществлялось непосредственно внутри содержимого документа. Однако с появлением CSS стало возможным принципиальное разделение содержания и представления документа. За счёт этого нововведения стало возможным лёгкое применение единого стиля оформления для массы схожих документов, а также быстрое изменение этого оформления.

Преимущества CSS вёрстки:

· Несколько дизайнов страницы для разных устройств просмотра. Например, на экране дизайн будет рассчитан на большую ширину, во время печати меню не будет выводиться, а на КПК и сотовом телефоне меню будет следовать за содержимым.

· Уменьшение времени загрузки страниц сайта за счет переноса правил представления данных в отдельный CSS-файл. В этом случае браузер загружает только структуру документа и данные, хранимые на странице, а представление этих данных загружается браузером только один раз и кэшируется.

· Простота последующего изменения дизайна. Не нужно править каждую страницу, а лишь изменить CSS-файл.

· Дополнительные возможности оформления. Например, с помощью CSS-вёрстки можно сделать блок текста, который остальной текст будет обтекать (например, для меню) или сделать так, чтобы меню было всегда видно при прокрутке страницы.

2.2.6 Java Script и JQuery

JavaScript - это язык управления сценариями просмотра гипертекстовых страниц Web на стороне клиента. Если быть более точным, то JavaScript - это не только язык программирования на стороне клиента. Liveware, прародитель JavaScript, является средством подстановок на стороне сервера Netscape. Однако, наибольшую популярность JavaScript обеспечило программирование на стороне клиента.

К возможностям JavaScript можно, например, отнести следующее:

· отображать изменяющиеся данные, такие как текущее время или дата;

· программировать переменное содержание в зависимости от даты, браузера пользователя или других условий;

· изменять внешний вид элементов страницы, если пользователь щелкнул мышью или провел курсор мыши над элементом.

Для языка высокого уровня JavaScript обладает довольно сильными возможностями. Он не позволяет работать на уровне машинных кодов, однако пользователь получает доступ ко многим возможностям браузеров, Web-страниц, а иногда и системы, в которой работает браузер. В отличие от Java™ или С, программы на JavaScript обходятся без компиляции, браузеру не нужно загружать виртуальную машину для выполнения программного кода.

JavaScript также работает в объектно-ориентированной архитектуре, напоминающей Java или C++. Такие возможности языка, как конструкторы или наследование на базе прототипов, добавляют в схему разработки новый уровень абстракции, что способствует многократному использованию программного кода.

Одна из главных причин, по которой Web-разработчики приняли JavaScript - возможность выполнения на стороне клиента многих функций, которые ранее выполнялись исключительно на стороне сервера. Кроме того, JavaScript позволяет читать и записывать cookie - ранее эта операция выполнялась исключительно средствами Web-сервера для работы с заголовками.

JQuery -- библиотека JavaScript, фокусирующаяся на взаимодействии JavaScript и HTML. Был опубликован на компьютерной конференции "BarCamp" в Нью-Йорке Джоном Ресигом в 2006 году.

На сайте разработчиков JQuery как лозунг: "JQuery is designed to change the way that you write JavaScript". Если переводить это буквально, то получится примерно следующее: "JQuery разработан, чтобы изменить путь, которым Вы пишете на JavaScript". После применения JQuery в работе, понимаешь -- лозунг разработчиков -- правда.

JQuery помогает легко получать доступ к любому элементу (набору элементов) объектной модели документа (DOM), обращаться к атрибутам и содержимому элементов DOM и конечно манипулировать ими. Причем благодаря своему интуитивно понятному синтаксису, схожему в чем-то с CSS1, CSS2 и XPath, эта работа становится не просто легкой, а даже приятной.

2.2.7 VBScript

VBScript, или Visual BASIC Script (Visual Beginners All-purpose SymbolicInstruction Code Script, визуальный символический универсальный командный код для начинающих) -- очередная версия интерпретируемого языка, встраиваемого в html-документ с целью включения в состав web-страницы интерактивных элементов. Язык разработан фирмой Microsoft и является подмножеством достаточно распространенного в среде программистов языка Visual Basic разработки прикладных программ Windows-приложений. Как и его родитель, язык VBScript достаточно прост и лёгок в изучении. Если сравнить более распространенный стандарт JavaScript с VBScript, обнаружить серьезные различия очень трудно, поскольку синтаксис обоих языков во многом схож. С помощью VBScript можно реализовать практически весь спектр возможностей, характерных для JavaScript. Обе технологии не зависят от типа сервера, на котором планируется опубликовать включающую их web-страницу. Преимуществом его применения для создания сценариев является возможность использования, с небольшими корректировками, ранее написанных процедур на языках Visual Basic и Visual Basic for Application. Функциональные возможности сценариев, написанных на VBScript, ничем не отличаются от возможностей сценариев JavaScript: динамические создание документа или его частей, перехват и обработка событий и так далее.

2.2.8 Active X

Эта технология была разработана фирмой Microsoft в рамках стратегической программы по интеграции ОС Windows и сети Интернет. Точнее не самой системы, а технологий разработки ПО. Переработанные подходы к технологии OLE, получившие название ActiveX, позволяют создавать единообразно как настольные приложения, так и работающие в браузере, для среды клиент-сервер.

Поскольку компоненты ActiveX имеют доступ к API, то они обладают функциональностью обычных Windows-приложений, несмотря на то, что для них рабочей средой является браузер.

Используя технологию ActiveX, разработчик Web-страницы может включить в нее функциональные элементы, создание которых невозможно с использованием только языка HTML или даже языков сценариев. Вся мощь высокоуровневых языков программирования теперь доступна посредством Web-страниц.

2.2.9 Java-апплеты

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

Java-сервлеты являются серверными приложениями, но они отличаются от апплетов языком, функциями и другими характеристиками.

Предназначены Java-апплеты для выполнения в безопасной среде с целью предотвращения их доступа к локальным ресурсам клиентского компьютера.

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

Апплет может быть внедрен в веб-страницу с помощью использования HTML тэга <applet>, или (что рекомендуется) тега <object>.

Можно назвать следующие преимущества Java-апплетов:

· работают практически на большинстве операционных платформ;

· поддерживаются большинством браузеров;

· кэшируются в большинстве браузеров, что существенно ускоряет их загрузку при возвращении на веб-страницу;

· после первого запуска апплета, когда Java-машина уже выполняется и быстро запускается, выполнение апплетов происходит существенно быстрее;

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

При этом у Java-апплетов имеются и недостатки:

· требуется установка Java-расширения, которые доступны по умолчанию не во всех браузерах;

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

· разработка пользовательского интерфейса с использованием апплетов является более сложной задачей по сравнению с HTML;

· не имеют прямого доступа к локальным ресурсам клиентского компьютера.

2.3 Технологии, работающие на стороне сервера

2.3.1 CGI

Технология CGI (Common Gateway Interface) подразумевает использование в составе ресурса Интернет интерактивных элементов на базе приложений, обеспечивающих передачу потока данных от объекта к объекту. Именно так организовано во Всемирной сети большинство чатов, конференций, досок объявлений, гостевых книг, поисковых машин и систем подсчета рейтинга. В общем случае принцип работы CGI выглядит следующим образом: пользователь заполняет на web-страничке ту или иную форму и нажимает на кнопку, после чего встроенная в код HTML строка вызова CGI-скрипта запускает соответствующую программу CGI и передает ей управление процессом обработки информации. Введенные пользователем данные отсылаются этой программе, а она, в свою очередь, "встраивает" их в другую страницу, отправляет по почте или трансформирует каким-либо иным способом. Скрипты CGI размещаются на сервере в специально отведенной для этих целей директории, которой, как правило, назначается имя CGI-BIN. Следует помнить, что подключение, отладка и запуск таких программ требуют соответствующих прав доступа к http-серверу, а также определенных знаний и навыков.

Технология CGI обычно реализуется двумя методами: либо с использованием программ, написанных на языке PERL (Practical Extraction and ReportLanguage), -- такие файлы имеют расширение .pi, либо с помощью приложений, созданных обычно с применением языка С и откомпилированных непосредственно на сервере, поскольку большинство UNIX-совместимых платформ включают в себя встроенный транслятор этого языка. Подобные программы имеют расширение .cgi. Необходимо отметить, что PERL, как и HTML, является интерпретируемым языком. Иными словами, для того чтобы запустить подобный скрипт на исполнение, не требуется дополнительной компиляции. Помимо упомянутых возможностей с помощью данной технологии можно организовать систему показа последовательности рекламных баннеров или автозагрузки файлов на сервер, создать форму отправки электронного письма непосредственно со страницы сайта или службу виртуальных открыток. Среди достоинств CGI следует отметить их независимость от клиентского программного обеспечения -- эту технологию сможет применять каждый пользователь, просматривающий содержимое сервера при помощи браузера практически любой версии. Главный недостаток заключается в том, что для установки и настройки приложений CGI на сервере нужно обладать как минимум правами администратора, поскольку эти программы при запуске способны нарушить нормальное функционирование серверного компьютера и дестабилизировать работу сети.

2.3.2 Perl

Perl (Practical Extraction and Report Language - практический язык извлечений и отчетов) - это интерпретируемый язык, оптимизированный для просмотра содержимого текстовых файлов, выделения из них информации и генерирования отчетов на основе этой информации, а также просто хороший язык для выполнения многих задач системного администрирования UNIX. Он обладает большим набором преимуществ как язык сценариев общего назначения, которые проявляются через его характерные черты и возможности.

Он также удобен для написания различных системных программ. Этот язык прост в использовании, эффективен, но про него трудно сказать, что он элегантен и компактен.

Язык Perl был создан для повышения эффективности обработки текстовых документов. Он ориентирован на обработку строк. В настоящее время язык получил большое распространение как инструмент создания исполняемых модулей WWW-сервера. Существующие пакеты расширения обеспечивают доступ к SQL-серверам непосредственно из Perl-программы. Это позволяет использовать его для решения всех задач, возникающих при обеспечении WWW-доступа к базам данных. Perl эффективен также при обработке произвольных структур данных: существующих отчетов, списков, карточек в электронном виде.

Хотя CGI-приложения можно писать практически на любом языке, Perl и CGI-программирование стали синонимами для многих программистов.

Первым в цепочке достоинств языка Perl является его интерпретируемость. Perl позволяет легко и быстро получить требуемое решение задачи, сочетая в себе элементы компилируемых и интерпретируемых языков программирования.

Интерпретатор Рerl, отличается от традиционных интерпретаторов тем, что программа транслируется в промежуточный байт-код, и только после этого выполняется. В традиционных интерпретаторах каждый вводимый оператор интерпретируется и сразу же выполняется, что может приводить к синтаксическим ошибкам во время выполнения. Perl-программа свободна от этого "недостатка", так как все синтаксические ошибки обнаруживаются во время трансляции в байт-код.

Вторым преимуществом использования Perl является его доступность для большинства серверных платформ.

Для всех доступных платформ разработаны и свободно распространяются интерпретаторы Perl вместе с документацией по их установке и работе, что приятно отличает его от других программных средств.

Одним из способов распространения свободно распространяемого программного обеспечения, а именно таков интерпретатор Perl, является использование Общей открытой лицензии GNU. По условиям этой лицензии файлы исходного текста программного продукта распространяются совершенно свободно и могут быть использованы любым лицом. Однако любые версии программы, созданные путем модификации этого кода, должны реализоваться также на условиях Общей открытой лицензии GNU, т. е. следует предоставлять файлы исходных текстов нового продукта любому, кто их захочет иметь. Этого зачастую вполне достаточно, чтобы защитить интересы автора первоначального программного продукта, однако может приводить к большому количеству производных версий исходного продукта, что приводит к "отчуждению" автора исходного продукта от процесса модификации его детища. Более того, в связи с большим количеством разнообразных версий, пользователям становится трудно определить, какая версия пакета является на текущий момент окончательной, будут ли написанные им сценарии, если речь идет о Perl, правильно работать с имеющейся у него версией, и т. п.

В связи с изложенными недостатками лицензии GNU, интерпретаторы языка Perl выпускаются на условиях лицензии Artistic License (Артистической лицензии), которая является некоторой вариацией лицензии GNU, и ее смысл заключается в том, что любой, кто выпускает пакет, полученный на основе Perl, должен ясно осознавать, что его пакет не является истинным пакетом Perl. Поэтому все изменения должны быть тщательно документированы и отмечены, выполнимые модули, в случае изменения, должны быть переименованы, а исходные модули должны распространяться вместе с модифицированной версией. Эффект от подобных условий заключается в том, что автор первоначального продукта всегда определяется как его владелец. При использовании Artistic License все условия Общей открытой лицензии GNU остаются в силе, т. е. она продолжает применяться.

Третьим преимуществом языка Perl можно назвать его практическую направленность, т. е. он создавался из практических соображений решения задач администрирования и разработки приложений для UNIX, а это означает, что он обладает следующими важными свойствами:

· полнотой;

· простотой использования;

· эффективностью.

Под полнотой Perl понимается его способность решать все возникающие в системе UNIX в связи с ее администрированием задачи.

Возможности Perl не ограничиваются только задачами администрирования. Подключаемые пакеты и модули позволяют легко и быстро решать и другие задачи, для которых, возможно, пришлось бы использовать язык программирования С. Начиная с версии 5.0, язык Perl поддерживает технологию объектно-ориентированного программирования, причем пакеты и модули можно оформить в виде объектов и использовать без знания содержащегося в них кода (хотя придется изучить большое количество объектных моделей со своими свойствами и методами).

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

Perl является прямолинейным языком, а это означает, что простые программы не надо оформлять в виде головных процедур main, как это принято в большинстве процедурных языков программирования, или в форме класса, как принято в объектно-ориентированных языках программирования, т. е. не надо тратить время на дополнительное форматирование исходного текста программы, а просто начинать писать операторы Perl, которые будут немедленно обрабатываться интерпретатором. Именно в этом заключена эффективность языка программирования Perl.

Четвертое преимущество использования Perl связано с его дополнительными возможностями, позволяющими выполнять не только традиционные задачи администрирования UNIX и обработки текстовых файлов.

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

Для работы с базами данных можно самому написать соответствующее приложение на языке С, а можно воспользоваться свободно распространяемыми модулями дополнительных расширений возможностей Perl, включающих работу с многочисленными популярными системами управления базами данных. Способность Perl работать с сокетами TCP/IP сделала его популярным для реализации информационных систем взаимодействия с сетевыми серверами любых типов, использующих сокеты в качестве механизма обмена информацией. Именно эта возможность в сочетании с использованием Perl для создания CGI-сценариев послужила широкому распространению языка на других многочисленных платформах.

Пятое преимущество его использования: так как изначально этот язык являлся свободно распространяемым, то вся наработанная документация также доступна совершенно бесплатно, а так как Perl, как язык сценариев очень популярен, то в Интернет находится много документации по его применению для решения разнообразных задач.

2.3.3 PHP

PHP - это широко используемый язык программирования общего назначения с открытым исходным кодом. PHP сконструирован специально для ведения web-разработок и может внедряться в HTML-код.

PHP лучше всего охарактеризовать как работающий на стороне сервера встроенный язык сценариев Web, позволяющий разработчикам быстро и эффективно строить динамические web-приложения. С позиций грамматики и синтаксиса PHP напоминает язык программирования С, хотя разработчики не постеснялись включить в него средства из других языков, в том числе из Perl, Java и C++. Среди ценных заимствованных возможностей - поддержка регулярных выражений, мощные средства работы с массивами, объектно-ориентированная методология и обширная поддержка работы с базами данных.

При написании приложений, выходящих за рамки традиционной, статической методологии разработки web-страниц (то есть HTML), PHP также может послужить ценным инструментом для создания и управления динамическим содержанием, который используется наряду с JavaScript и другими языками. Благодаря наличию сотен стандартных функций PHP в состоянии решить практически любую задачу, которая может придти в голову разработчику. В нем имеется обширная поддержка создания графики и операций с ней, математических вычислений, средств электронной коммерции и таких популярных технологий, как XML (Extensible Markup Language), ODBC (Open Database Connectivity) и Macromedia Shockwave. Широкий выбор возможностей избавляет от необходимости рутинной и непростой работы по подключению сторонних модулей, поэтому многие разработчики со всего мира останавливают свой выбор на PHP.

Одним из главных достоинств PHP является тот факт, что он внедряется прямо в HTML-код, поэтому программисту не приходится писать программу с множеством команд для простого вывода HTML. Код HTML и PHP можно чередовать по мере необходимости.

Главным фактором при проектировании языка PHP является практичность. PHP должен предоставить программисту средства для быстрого и эффективного решения поставленных задач. Практический характер PHP обусловлен пятью важными характеристиками:

· традиционностью;

· простотой;

· эффективностью;

· безопасностью;

· гибкостью.

Существует еще одна "характеристика", которая делает PHP особенно привлекательным: он распространяется бесплатно!

Традиционность. Язык PHP кажется знакомым программистам, работающим в разных областях. Многие конструкции языка позаимствованы из Perl, а нередко код PHP практически неотличим от того, что встречается в типичных программах С или Pascal. Это заметно снижает начальные усилия при изучении PHP.

Простота. Сценарий PHP может состоять из 10 000 строк или из одной строки - все зависит от специфики задачи. Пользователю не придется подгружать библиотеки, указывать специальные параметры компиляции или что-нибудь в этом роде. Механизм PHP просто начинает выполнять код после первой экранирующей последовательности (<?) и продолжает выполнение до того момента, когда он встретит парную экранирующую последовательность (?>). Если код имеет правильный синтаксис, он исполняется в точности так, как указал программист.

Эффективность. Эффективность является исключительно важным фактором при программировании для многопользовательских сред, к числу которых относится и WWW. В PHP был реализован механизм выделения ресурсов и обеспечена улучшенная поддержка объектно-ориентированного программирования, а также средства управления сеансом. В последней версии появился и механизм подсчета ссылок (reference counting), предотвращающий выделение лишней памяти.

Безопасность. PHP предоставляет в распоряжение разработчиков и администраторов гибкие и эффективные средства безопасности, которые условно делятся на две категории: средства системного уровня и средства уровня приложения.

Средства безопасности системного уровня. В PHP реализованы механизмы безопасности, находящиеся под управлением администраторов; при правильной настройке PHP это обеспечивает максимальную свободу действий и безопасность. PHP может работать в так называемом безопасном режиме (safe mode), который ограничивает возможности применения PHP пользователями по ряду важных показателей. Например, можно ограничить максимальное время выполнения и использование памяти (неконтролируемый расход памяти отрицательно влияет на быстродействие сервера). По аналогии с cgi-bin администратор также может устанавливать ограничения на каталоги, в которых пользователь может просматривать и исполнять сценарии PHP, а также использовать сценарии PHP для просмотра конфиденциальной информации на сервере (например, файла passwd).

Средства безопасности уровня приложения. В стандартный набор функций PHP входит ряд надежных механизмов шифрования. PHP также совместим с многими приложениями независимых фирм, что позволяет легко интегрировать его с защищенными технологиями электронной коммерции (e-commerce). Другое преимущество заключается в том, что исходный текст сценариев PHP нельзя просмотреть в браузере, поскольку сценарий компилируется до его отправки по запросу пользователя. Реализация PHP на стороне сервера предотвращает похищение нетривиальных сценариев пользователями. Гибкость. Поскольку PHP является встраиваемым (embedded) языком, он отличается исключительной гибкостью по отношению к потребностям разработчика. Хотя PHP обычно рекомендуется использовать в сочетании с HTML, он с таким же успехом интегрируется и в JavaScript, XML и другие языки. Кроме того, хорошо структурированные приложения PHP легко расширяются по мере необходимости (впрочем, это относится ко всем основным языкам программирования).

2.3.4 MySQL. Взаимодействие с PHP

MySQL - это одна из самых популярных и самых распространенных СУБД (система управления базами данных) в Интернете. Она не предназначена для работы с большими объемами информации, но ее применение идеально для веб - сайтов, как небольших, так и достаточно крупных.

MySQL отличатся хорошей скоростью работы, надежностью, гибкостью. Работа с ней, как правило, не вызывает больших трудностей. Поддержка сервера MySQL автоматически включается в поставку PHP.

Немаловажным фактором является ее бесплатность. MySQL распространяется на условиях общей лицензии GNU (GPL, GNU Public License). Ранее для долговременного хранения информации применялась работа с файлами: в них помещали некоторое количество строчек, а затем извлекали их для последующей работы. Задача длительного хранения информации очень часто встречается в программировании Веб-приложений: подсчет посетителей в счетчике, хранение сообщений в форуме, удаленное управление содержанием информации на сайте и т.д.

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

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

Приложение на РНР, использующее для хранения информации базу данных (в частности MySQL) всегда работает быстрее приложения, построенного на файлах. Дело в том, что базы данных написаны на языке C++, и написать на PHP программу, которая работала бы с жестким диском эффективнее базы данных - задача неразрешимая по определению, поскольку программы на PHP работают медленнее, чем программы на C++, так как РНР - интерпретатор, а С++ - компилятор.

Таким образом, основное достоинство базы данных заключается в том, что она берет на себя всю работу с жестким диском и делает это очень эффективно.

2.3.5 Ruby

Ruby - интерпретируемый скриптовый язык высокого уровня для быстрого и удобного объектно-ориентированного программирования. Ruby имеет большое количество средств для обработки текстов, для решения системных задач. Ruby является полностью свободным языком программирования с возможностью копирования, модификации и распространения. Ruby перенесён на множество платформ. Он разрабатывался на Linux, но работает на многих версиях Unix, DOS, Windows 95/98/ NT/2000/XP, Mac OS, OS/2, и т.д. Целью создания Ruby был настоящий объектно-ориентированный интерпретируемый язык программирования. Название отсылает к языку Perl, наследником которого является Ruby (драгоценные камни: англ. pearl -- жемчужина, англ. ruby -- рубин).

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

2.3.6 Python

Python -- высокоуровневый язык программирования общего назначения с акцентом на производительность разработчика и читаемость кода. Синтаксис ядра Питона минималистичен. В то же время стандартная библиотека включает большой объём полезных функций.

Python поддерживает несколько парадигм программирования, в том числе структурное, объектно-ориентированное, функциональное, императивное и аспектно-ориентированное. Основные архитектурные черты -- динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений и удобные высокоуровневые структуры данных. Код в Питоне организовывается в функции и классы, которые могут объединяться в модули (которые в свою очередь могут быть объединены в пакеты).

Эталонной реализацией Питона является интерпретатор CPython, поддерживающий большинство активно используемых платформ. Он распространяется свободно под очень либеральной лицензией, позволяющей использовать его без ограничений в любых приложениях.

Python -- активно развивающийся язык программирования, новые версии (с добавлением/изменением языковых свойств) выходят примерно раз в два с половиной года. Вследствие этого и некоторых других причин на Python отсутствуют ANSI, ISO или другие официальные стандарты, их роль выполняет Cpython.

2.4 Медиаресурсы. Платформа Flash

Macromedia Flash - инструмент создания анимации. Flash-ролики размещают на web-странице или используют в качестве web - страницы.

Многие особенности формата файлов Flash делают его идеальными для добавления в web-страницы контента с интерактивными возможностями.

Преимущества Flash:

· Небольшие размеры файлов. Flash позволяет повторно использовать графику, кнопки и объекты программного кода, когда каждый экземпляр не требует дополнительных байтов. Кроме того, ролики Flash используют векторную графику, которая основана на применении математических расчетов для вычерчивания линий и определения цвета в отличие от хранения цветов отдельных пикселов в растровой графике. Благодаря этому значительно уменьшается размер файлов.

· Простота изменения размеров. Изображения и анимация Flash могут изменять свои размеры без потерь каких-либо деталей изображения, легко можно заполнить все окно браузера интерфейсом flash без увеличения размера файла. Flash может использоваться для статических изображений, например для карт изображения, когда желательно иметь возможность получения крупного плана изображения, чтобы лучше рассмотреть его детали.

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

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

· Можно создавать скрипты. Используется язык написания скриптов Action Script, позволяющий управлять проигрыванием файлов Flash. Кроме того, в файле HTML можно использовать инструкции Java Script для управления flash-объектами, находящимися на странице.

· Наборы шрифтов перемещаемые. Любой шрифт, используемый в файле flash.swf может читаться в любой системе, независимо от того, есть он в системе или нет.

Недостатки:

· Требуется иметь плагин плеера. Для проигрывания файлов на машине пользователя необходимо регулярно устанавливать последнюю версию flash-плеера. У многих пользователей - это вызывает отрицательную реакцию.

· Проигрывание ролика всегда начинается с первой страницы. Другие web - сайты не могут сослаться на определенную страницу или сцену внутри ролика.

2.5 Системы управления контентом (CMS)

Заказчик сайта должен решить, какую выбрать систему управления сайтом (CMS - Content Management System). Это очень важный вопрос, от правильного его решения существенно зависит успешность будущего сайта, стоимость его изготовления и последующей эксплуатации. Правильный функционал CMS обеспечивает легкое и быстрое развитие сайта - удобное наращивание и обновление материалов, быстрое изменение структуры сайта. Хорошая CMS делает возможным быстрое добавление заранее не включенных в проект функций (например, фото галерей, видео материалов, форумов и т.д.).

На основе данных, полученных при анализе примерно 1500 интернет-магазинов и интерент-витрин, входящих в Яндекс.Маркет в I квартале 2011 года был составлен рейтинг CMS для интернет-магазинов и интеренет-витрин.

Рисунок 2.1 - Рейтинг CMS для интернет-магазинов и интерент-витрин

CMS удалось определить примерно у 37% сайтов. Относительно результатов предыдущего года эта цифра выросла, что говорит о том, что рынок движется в сторону стандартных коробочных решений. Количество сайтов с неизвестными CMS, т.е. количество сайтов с ядрами индивидуальной разработки, наоборот, снижается.

Лидирует CMS Shop-script, за ней идет 1С-Bitrix, Joomls и PHPShop. Это самые распространенные движки для магазинов и витрин. На них и надо ориентироваться при выборе CMS. Остальные представлены слабо, это - OsCommerce, VaM Shop, Drupal, HostCMS, InSales. В число прочих на диаграмме попали WordPress, Amiro.CMS, S.Builder, uCoz, NetCat, MODx, UMI.CMS, DataLife Engine, ABO.CMS

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

В данной главе дипломной работы приведено описание модели "клиент-сервер", рассмотрены и описаны информационные технологии, применяемые на стороне клиента и на стороне сервера. Приведен рейтинг самых популярных CMS для создания интернет-витрин и интернет-магазинов.

Глава 3. Разработка web-сайта для ЗАО «Кондитерская фабрика «Саратовская»

3.1 Общая информация о ЗАО «Кондитерская фабрика «Саратовская»

ОАО «Кондитерская фабрика «Саратовская» существует на рынке более 20 лет и является стабильной и ответственной компанией. ОАО «Кондитерская фабрика «Саратовская» является одним из самых динамичных производителей кондитерской продукции. Ассортимент выпускаемой продукции огромен и разнообразен -- пралиновые, помадные, ассорти, укрупненные фруктовые конфеты; батончики; молочная, леденцовая, фруктовая, переслоенная карамель; вафли фигурные, джемовые, с натуральными орехами и фруктами, кремовые; вафельные рулетики; сдобное, затяжное, отсадное печенье; крекер и крекер-сэндвич; зефир в шоколаде и с начинками; ирис; лукум. Ярчайшими хитами компании по праву являются такие марки конфет, как «Шоколад-Бар», «Confashion Bar», «Конфэшн Ассорти», вафли «Влана», «Гламур». Для обеспечения хранения товара имеются склады достаточной площади, постоянно поддерживается температурный режим (+18°С).

В начале 2003 года был разработан и выведен на рынок бренд «Конфэшн» (от английского «Confectionary Fashion» -- «Кондитерская мода»). Несмотря на высокий уровень насыщенности рынка, грамотный подход ко всем этапам появления новых продуктов позволил потеснить лидеров рынка в большинстве ключевых групп товаров. Немаловажную роль в этом сыграло и то, что управленческая команда создала структуру, позволяющую осуществлять запуск новых продуктов -- от разработки идеи до начала отгрузок в фантастически короткие сроки.

Обновленная продукция саратовского производства хорошо известна и любима потребителями во многих регионах России и в ближнем зарубежье. Такой широкий ассортимент предлагают сегодня только крупнейшие российские кондитерские холдинги: производится несколько сотен видов продукции -- от недорогой до элитной, и весовой, и фасованной.

Развитие продуктового портфеля постоянно продолжается. Каждая серия обладает индивидуальными характеристиками. Технологи фабрики постоянно работают над уникальными рецептурами, развитием технологий производства, делая продукцию еще более привлекательной для потребителя.

Ярким событием в жизни предприятия стал запуск в 2008 году премиального бренда «Эйфория» -- самого шикарного продукта на российском кондитерском рынке. Из вышесказанного можно сделать вывод, что ОАО «Кондитерская фабрика «Саратовская» является надежным партнером для своих клиентов. Компания имеет стабильную прибыль и активно развивается.

3.2 Структура информации и навигации по сайту

ОАО «Кондитерская фабрика «Саратовская» является известным и надежным предприятием, в связи с этим появилась насущная необходимость в собственном web-сайте. Руководство ОАО «Кондитерская фабрика «Саратовская» выступило заказчиком данного сайта и выдвинуло ряд требований, которым должен удовлетворят данный проект:

Сайт должен быть визуально привлекательным (эстетичность, грамотная композиционная организация, хорошее сочетание цветов).

В области заголовка должен присутствовать фирменный логотип данной фирмы.

На главной странице должна находиться информация о хитах продаж и новинках предприятия.

Основная цветовая гамма сайта должна соответствовать фирменным цветам (основной фирменный цвет - синий).

Сайт должен иметь раздел "продукция", содержащий весь перечень продукции, который производится предприятием.

На сайте должен быть реализован поиск по товарам каталога.

На каждой странице сайта должно присутствовать дублирующее меню.

Автор постарался максимально удовлетворить всем требования заказчика.

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

При создании сайта важно на начальном этапе продумать файловую структуру. Это необходимо для того, чтобы при разрастании сайта до нескольких сотен страниц не путаться в файлах. Поэтому рекомендуется создавать необходимое количество папок, достаточное для того, чтобы комфортно чувствовать себя и быстро находить нужные файлы.

В корневой папке сайта находятся несколько подкаталогов:

· Images - для хранения файлов с изображениями ;

· JavaScript - содержит коды скриптов, используемые на сайте;

· CSS - содержит служебные файлы .css, отвечающие за дизайн сайта;

· Flash - содержит файлы в формате .swf;

· Lib - в этой папке хранятся функции, используемые на сайте

· Admin - содержит файлы необходимые для администрирования сайта.

Файл index.php находится в корневой папке сайта, так как является самым главным файлом сайта. Именно его содержимое выводится в браузере при наборе адреса сайта. Также в корневой папке содержатся другие файлы необходимые для отображения основных страниц сайта.

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

Сайт состоит из веб-страниц, которые сгруппированы в ряд разделов, объединенных гиперссылками:

· Главная

· История

· Продукция

· Проекты

· Дистрибьюторам

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

3.3 Разработка интерфейса и дизайна сайта

Разрабатываемый сайт был реализован с учетом основных требований, предъявленных заказчиком.

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

Особое значение имеет главная страница, так как именно её клиент видит первой и именно от неё чаще всего зависит, останется клиент на сайте или же никогда там больше не появится.

Тщательнее всего стоит продумывать дизайн главной страницы, а также её информационное наполнение. Поэтому на главной странице web-сайта размещена основная информация о программе.

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

Наличие логотипа являлось одним из требований заказчика. Логотип присутствует в левом верхнем углу сайта.

Ниже располагается меню навигации. Меню состоит из следующих пунктов: главная страница, о нас, новости, контакты, карта сайта. С помощью данных ссылок, осуществляется переход по страницам основного меню. Ниже слева располагается каталог сайта. Каталог представлен на всех страницах сайта, что так же являлось одним из требований заказчика.

Главная страница представлена ниже:

Рисунок 3.1 - Главная страница

Для привлечения дополнительного внимания пользователя к определенным товарам на главной странице расположены блоки "новинка", а так же "хиты продаж".

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

Информация, представленная на страницах сайта, не является статичной, все представленные на них данные хранятся на сервере, что в свою очередь делает сайт динамичным.

Страница "О нас" содержит информацию о сертификатах организации. Данный раздел содержит текстовую и графическую информацию:

Рисунок 3.2 - Просмотр информации о сертификатах компании

Страница "Контакты" содержит информацию о местоположении организации (компания отмечена маркером на карте), а так же об адресе, телефонах, факсе, e-mail компании. Данный раздел содержит текстовую и графическую информацию:

Рисунок 3.3 - Страница "Контакты"

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

Рисунок 3.4 - Страница результатов поиска

Блок "Каталог" в левой части страницы сайта, разбит на категории товаров, что в свою очередь облегчает задачу поиска необходимого пользователю товара.

Данный список разработан по принципу иерархии.

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

Рисунок 3.5 - Страница каталога, категория "ДЛЯ СУШИ"

К каждому товару прикреплено его подробное описание, содержащее такие пункты, как: описание товара, страна-производитель, фасовка, вес нетто, срок годности товара, цена. При переходе по гиперссылке "Подробнее…", расположенной под миниатюрой товара, открывается страница с полным описанием товара.

Рисунок 3.6 - Страница описания товара

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

Рисунок 3.7 - Прайс-лист

На сайте, существует возможность составления предварительного заказа с подсчетом стоимости. Данная возможность доступна только зарегистрированным пользователям. Для прохождения регистрации, необходимо пройти по ссылке, расположенной блоке "Регистрация" в левой части сайта. Уже зарегистрированным пользователям для получения возможности составления предварительного заказа, необходимо авторизоваться (вести свои логин и пароль в полях блока "Регистрация").

Рисунок 3.8 - Страница регистрации

Для авторизованных пользователей страницы каталога несколько изменяют внешний вид. Рядом с каждым товаром появляется кнопка "Добавить" и поле для ввода количества товаров. Добавленные товары, попадают в корзину пользователя для составления предварительного заказа и подсчета его стоимости.


Подобные документы

  • Основные технологии разработки ресурсов Интернет. Процесс разработки веб-сайта. Понятие Web-сайта и классификация Web-сайтов. Основные этапы разработки Web-сайта. Использование HTML, CSS, JavaScript, FLASH, PHP и реляционной базы данных MySQL.

    презентация [1,3 M], добавлен 28.11.2015

  • Обзор проблемы разработки сайтов. Системы управления контентом. Сайты для агентств недвижимости. Контекстная диаграмма и оценка трудоемкости разработки сайта. Анализ предметной области и выделение информационных объектов. Описание реализации сайта.

    дипломная работа [2,9 M], добавлен 12.08.2017

  • Анализ аппаратных и программных средств предприятия ТОО "Alicesystems", занимающегося разработкой web-сайтов. Выбор структур, топологий и технологий разработки системы. Технологии создания сайтов и выбор площадки. Описание программно-аппаратных средств.

    отчет по практике [690,9 K], добавлен 29.05.2015

  • Исследование классификации, средств реализации и разработки сайтов. Сравнительная характеристика конструкторов сайтов. Руководство пользователя. Заполнение материалом и отладка работы страниц. Травмирующие и вредные факторы для пользователя компьютера.

    дипломная работа [2,6 M], добавлен 22.01.2015

  • История появления первого в мире сайта info.cern.ch в 1991 году. Страницы сайтов как набор текстовых файлов, размеченных на языке HTML. Использование конструктора при разработке сайтов. Создание сайта "с нуля", разработка дизайна, верстка, оформление.

    реферат [21,5 K], добавлен 26.05.2015

  • Анализ существующих сайтов образовательный учреждений учебных сайтов Астраханской области. Обзор среды реализации разработки веб-сайта. Требования к официальным сайтам образовательных учреждений. Разработка логической структуры веб-сайта колледжа.

    дипломная работа [6,1 M], добавлен 10.06.2014

  • Управление электронным бизнесом. Изучение технологии создания сайта предприятия с использованием выбранных бесплатных конструкторов сайтов. Сравнительный анализ макетов сайтов, разработанных для организации с помощью конструкторов "Nethouse" и "А5".

    курсовая работа [867,2 K], добавлен 23.03.2016

  • Классификация современных web-технологий. Сравнительный анализ систем управления сайтами. Исследование методов разработки, оптимизации и продвижения Web-сайта. Изучение фреймворков, используемых при разработке сайтов. Обзор создания графического дизайна.

    дипломная работа [3,8 M], добавлен 07.11.2013

  • Сайт – единая система организационных, технических, программных и информационных средств. Использование автоматизированных сайтов в деятельности организаций. Этапы разработки сайта HTML для компании "Lidia Travel": верстка сайта, наполнение контентом.

    отчет по практике [773,3 K], добавлен 05.02.2015

  • Классификация сайтов по технологиям, влияющим на дизайн и функциональность. Исследование языков программирования для web-сайтов. Характеристика особенностей личных и коммерческих сайтов. Разработка и реализация сайта Института математики и информатики.

    отчет по практике [5,1 M], добавлен 09.12.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.