Статьи ► Отделение содержания от его представления

Отделение содержания от его представления

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

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

За прошлые несколько лет интернет-сообщество пыталось создать ряд стандартов для того, чтобы создать вебсайты. Была введена новая технология под названием CSS или Льющиеся каскадом Таблицы стилей. Нет ничего фактически нового в способе, которым CSS обращается с представлением веб-страницы. CSS позволяет разработчику определять стиль для каждого элемента html-тэга. Это подобно разработчикам метода (программисты), используемые в былые времена, когда они приложили переменную к каждому html-тэгу, определяющему его стиль. Существенное различие - то, что определения стиля CSS могут интерпретироваться большинством существующих браузеров, доступных, в то время как в более старом методе динамический двигатель веб-страницы выполняет интерпретацию.

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

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

XML (Extensible Markup Language) был принят в качестве стандарта для представления самого содержания. OFX (Open Financial Exchange) является близким родственником XML, который широко использовался в финансовых учреждениях, которые используют электронный обмен данными (ЭОД) для передачи заказов и счетов через частные сети, интранет и интернет в течение многих лет.

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

Но данная концепция не была реализована полностью. CSS обрабатывает аспекты стиля, в то время как XML, обрабатывает содержание документа. А как насчет макетов веб-страниц? Новые сайты создаются и публикуются ежедневно тысячами. Каждый день появляются миллионы новых веб-страниц, которые добавляются в интернет и заносятся в глобальную базу данных. Веб-мастера приходят к выводу, что на странице, цвета фона или цвета шрифта уже не может быть достаточно, чтобы поддерживать сайт в актуальной свежести и успешно конкурировать с другими веб-сайтами. Однако, изменение структуры сайта, требует много усилий, так как подразумевает изменение исходного кода веб-страниц. XSL была введена, чтобы решить этот вопрос. Рассмотрите ряд XSL правил, которые могут описать структуру веб-страницы. Объединив его с XML (и произвольно с CSS) вы получите правильный html-файл.

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


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

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