Перспективы развития CMS
Автор: Гутовский Дмитрий Игоревич, Добрынин Владимир Николаевич
Журнал: Сетевое научное издание «Системный анализ в науке и образовании» @journal-sanse
Статья в выпуске: 4, 2020 года.
Бесплатный доступ
В данной статье описаны перспективы развития CMS и дано краткое описание этапов становления Интернет до появления CMS. Приведён возможный вариант развития CMS по MODx-сценарию.
Cms, modx, web, html, css, php, управление содержимым, вёрстка, интернет, безопасность, web 1.0, web 2.0
Короткий адрес: https://sciup.org/14123325
IDR: 14123325
Текст научной статьи Перспективы развития CMS
– DOI : 10.37005/2071-9612-2020-4-25-36.
CMS ( Content Management System - система управления содержимым) - это программный комплекс, позволяющий управлять содержимым сайта [1]. Как-правило, CMS содержат ещё и компоненты, предназначенные для управления пользовательскими правами и настройками (однако, это зависит от сложности системы) [5]. Изначально, подобных систем не было. На заре появления WEB -технологий (начиная с 1992 года, когда язык HTML ( Hyper - Text Markup Language ) вышел в свет), никто не думал о создании сложных систем, работающих в Интернет-пространстве [5]. Интернет был весьма небыстр и дорог, а сайты служили лишь набором страниц, с включённым в них гипертекстом (текстом, со ссылками). Первые CMS появились с наступлением эпохи WEB 2.0 (в конце 90-х годов 20-ого столетия) [5]. Однако, для лучшего понимания развития WEB , сначала необходимо чётко понять, почему Интернет развивается столь быстрыми темпами, а актуальность WEB -приложений растёт с каждым днём [15 - 17].
WEB -программирование является одной из важнейших и наиболее перспективных разновидностей программирования [5]. Это связано с тем, что архитектура WEB -сайтов и приложений имеет кроссплатформенную структуру для пользователя [5]. Пользователю не нужно задумываться о том, какое оборудование у него (компьютеры различных типов, смартфоны, планшеты и т.д.). Он не обязан использовать конкретные операционные системы (ОС). Такой подход отличается от концепции стандартных приложений, которые приходится портировать на множество различных платформ. Всё, что требуется от пользователя, это иметь стандартный WEB -браузер (актуальной версии) [5, 13]. Такая кроссплатформенность стала возможной, так как в 90-е годы Интернет приобрёл современные очертания, благодаря появлению языка гипертекстовой разметки ( HTML ). Позднее, к нему присоединился язык задания стилей ( CSS ), а потом, стандартизировался и язык программирования, работающий на стороне браузера [5, 13]. Изначально, таких языков было много, но начиная с конца 1-ого десятилетия 21 -ого века, язык программирования JavaScript стал основным для WEB -страниц, постепенно вытесняя Adobe Flash , Java - applet и другие языки и технологии [10]. Несмотря на то, что WEB -страницы не стали идеально кросс-браузерными (даже к 2020-ому году), индивидуальных тонкостей вёрстки под разные браузеры осталось очень мало [5]. Сейчас (в 2020-ом), браузеры различаются эффективностью работы своих ядер (движков), которые и интерпретируют связку из HTML + CSS + JavaScript (далее - клиентскую часть сайта). Сами же стандарты клиентской части сайта, предназначенные для любого стандартного браузера, установились чётко. Это позволило избавиться от множества проблем несовместимости [5].
Конечно, клиентская часть WEB не является образцом вычислительной эффективности, и это является платой за кроссплатформенность. Поэтому, всё прикладное программное обеспечение (ПО), постепенно переходит к двум тенденциям. В первом случае, пользователю не требуется высокой вычислительной эффективности. Таких приложений большинство. Они нужны в большей части сфер человеческой деятельности и призваны решать различные повседневные задачи. К таким приложениям можно отнести различные офисные средства, а также клиентские части коммуникационного ПО, такого как социальные сети, программы для просмотра электронной почты и т.д. Несмотря на то, что для работы, например, той же электронной почты, требуются большие вычислительные мощности, (это нужно, например, для шифрования передаваемых данных), все эти тяжёлые вычисления производятся на серверах, а клиент получает только результат работы серверной части. Как и в случае с WEB , архитектура коммуникационного ПО является клиент-серверной, и она, в большинстве случаев, использует общепринятую модель Интернета [7].
С развитием WEB -технологий, отпадает необходимость писать различные версии клиентской части для коммуникационных программ, и они переходят на WEB -архитектуру. Классические приложения требуются в том случае, если от оборудования необходимо «выжать максимум». При таком подходе, программы оптимизируются под конкретные ОС и типы оборудования. Но эти программы, чаще всего, работают на серверах, а их интерфейс, опять же, реализован в WEB -архитектуре. Если речь идёт о приложениях, предназначенных для расчётов, но работающих на локальном рабочем месте, например, различные CAD -программы, то там используется классическая архитектура. Это происходит до тех пор, пока это приложение не перейдёт от локальной версии, к серверной, а на сторону клиента не начнут выдавать WEB -интерфейс.
Из вышесказанного можно сделать вывод, что WEB -архитектура охватывает, всё большую часть ПО, при том, что важность оного не подлежит сомнению. Трудно было бы представить современный мир без Интернета, в любой сфере человечества. Однако, кроссплатформенной является только клиентская часть, чего нельзя сказать о серверной. Далее, будут рассматриваться проблемы, которые возникают на стороне сервера (и возможные пути их решения).
Историческое развитие WEB -архитектуры не имело множество разветвлений (вплоть до 2005 года). Оно шло по естественному пути усложнения серверной и клиентской части. Как понятно из вышесказанного, серверная часть WEB появилось как закономерный ответ на быстро растущую сложность задач, возлагаемых на Интернет-технологии. В то же время, сразу было понятно, что аналогичная полная стандартизация (как в клиентской части) не будет возможна с серверной. Однако, с появлением CMS MODx (в 2005 году), появился альтернативный взгляд на CMS и логику построения серверной части WEB , в целом. Но в MODx -подходе есть один недостаток, не позволяющий ему завоевать наибольшую популярность среди WEB -разработчиков. Естественно, что потребность в стандартизации компонентов серверной части растёт, ввиду увеличения сложности WEB -приложений. Но нет точного и однозначного понимания того, как стандартизировать какие компоненты. Решением данной проблемы, как раз, может стать подход, используемый в MODx. Однако, обо всём по порядку [14, 16].
Концепция возникновения Интернет
Предпосылки к возникновению Интернет и особенности массового спроса на сетевые коммуникации
После окончания Второй Мировой Войны, практически сразу началась гонка вооружений. Это привело к разработке принципиально новых видов оружия и потребовало значительных вычислительных мощностей для его расчёта. Помимо вычислительной мощности, требовалось и объединение умственных ресурсов различных групп учёных и научно-исследовательских институтов. Плюс к этому, противоборствующие силы должны были быть готовы к неожиданному поражению, с выводом из строя центра управления. Таким образом, возникла необходимость, не только в объединении большого количества информационно-вычислительных комплексов, но и в децентрализации их расположения. Это привело к появлению сети Arpanet , ставшей прародителем Интернета. Однако, с развитием различных отраслей науки, сеть начала становиться более глобальной, выходя за рамки конкретных НИИ и стран. При этом, единого стандарта, протоколов передачи данных и т.д., всё ещё не было. Стало понятным, что дальнейшее развитие всемирной паутины неизбежно. Требовалось создание стандарта, который бы позволил использовать её в разном программном и аппаратном окружении. Началом Интернета, можно условно считать 1992 год, когда официально вышел 1-ый вариант языка HTML (языка гипертекстовой разметки). Это справедливо, если говорить не о развитии сети (на низком уровне), а именно о развитии WEB (как токового, в современном понимании). Хотя, первый HTML -сайт появился 6 августа 1991 года. С выходом языка HTML, Интернет стал по-настоящему единым (хотя, он был и до этого).
Таким образом, после появления единого Интернета, информация стала гораздо более доступной. Это связано с тем, что не было специфических требований к программной и аппаратной части. Плюс к этому, была решена задача децентрализованной работы, так как сервера были в разных географических местах. Задача объединения информационных и умственных ресурсов, соответственно, тоже решалась лёгким доступом к глобальным источникам информации. Добыча оной, ранее, отнимала большое количество времени.
Несмотря на явные позитивные проявления Интернета, с его развитием связан и ряд определённых социальных проблем. Во-первых, часто бывает так, что общество неверно трактует предназначение глобальной сети. Нужно понимать, что Интернет - всего лишь технология, позволяющая получить лёгкий доступ к различным источникам информации. Однако, никто не может гарантировать ценность и правильность этой информации. Эта проблема ненова, и она затрагивает любые способы передачи информации, начиная от самых древних. Но с увеличением количества доступной информации, увеличивается и количество дезинформации. Плюс к этому, часто может возникать ложное понятие о том, что увеличение скорости получения информации, увеличит и скорость её освоения. То есть, может возникнуть впечатление, что стало легко дойти до уровня специалиста в той или иной области, просто найдя информацию в Интернете. Однако, этот миф разрушителен. Часто бытующее мнение, о том, что сегодня главное - не много знать, а уметь быстро взять те или иные сведения, ухудшает качество специалистов. Так как, даже при условии заучивания наизусть, информация не станет знанием, до тех пор, пока не будет понятен способ её применения.
Вообще, на начальных этапах развития Интернет, возникала проблема с его недостаточным ресурсом. Работники различных индустрий быстро почувствовали удобство WEB и стали пытаться возложить на него те задачи, к которым он ещё не был готов (например, идеи видеоконференций с отличным звуком и видео, для чёткой детализации, начали появляться ещё в конце 90-х годов, когда скорость сети была совершенно недостаточной для этого).
Интернет и Всемирная паутина периода 1991 – 1997
В начале 90-х годов, когда Интернет стал приобретать привычный (в современном понимании) вид, WEB - сайты были статическими [5]. У них не было серверной части, соответственно и не было CMS . Несмотря на то, что физическое расположение этих сайтов было на удалённых серверах, они имели только клиентскую часть, которая передавалась на компьютеры конечных пользователей без изменений. Сайт, который очень часто представлял из себя лишь набор страниц гипертекста (текста со ссылками), был «намертво» свёрстан. Он не имел средств для управления содержимым (без участия верстальщика) [5]. Для изменения информации на подобном сайте, приходилось изменять сам код страницы (её вёрстку). Это было неудобно, да и не позволяло сделать большинство приложений, удовлетворяющих современным требованиям. Например, нельзя было сделать клиентскую часть соц. сети или другой коммуникационной системы, используя статические страницы. Ведь в этом случае, необходимо, чтобы содержимым мог управлять любой пользователь. Типичный пользователь не станет верстать, а захочет писать на простом, понятном ему языке. При этом, WEB -страницы должны будут генерироваться динамически, исходя из содержимого и индивидуальных настроек системы для пользователя [4, 6, 7].
Постепенно (к концу 90-х), WEB -сайты начали обзаводиться серверной частью. Конечной задачей серверной части (и по сей день), является генерация клиентской части [5]. Практически любой современный WEB -сайт имеет серверную часть, но с точки зрения конечного пользователя, а точнее WEB -браузера, работающего на его компьютере, сайт остался набором HTML -страниц, приходящих с сервера (хоть и в более усложнённом виде) [5]. В общем случае, браузеру нет никакой разницы, написаны ли страницы вручную полностью, или сгенерированы серверной частью WEB -приложения. Браузер, всё равно, получит связку из HTML + CSS + JavaScript , не имея никакого понятия о серверной части. Клиентская часть, никак не будет зависеть от средств её получения (языки клиентской части от этого не меняются) [2]. Это позволило сохранить кроссплатформенность WEB , добавив возможность управления и существенно расширив спектр задач, возлагаемых на WEB -архитектуру и Интернет, в целом. Далее, рассмотрим подробнее историю возникновения клиентской части сайтов.
Сам по себе, язык HTML произошёл от SGML ( Standard Generalized Markup Language - стандартный обобщённый язык разметки). SGML является наследником, разработанного в 1969 году в IBM языка GML ( Generalized Markup Language ). Первая, официально вышедшая версия HTML , это - HTML 2.0. Этот язык был разработан Консорциумом Всемирной Паутины ( W3C) . Этот орган, и по сей день, является законодателем спецификации HTML [4, 5].
Как уже было сказано выше, клиентская часть сайта состоит из 3-х компонент, одной из которых является CSS . CSS является языком для задания стилей WEB -страниц [13]. Его первая версия была официально опубликована 17 декабря 1996 года. Несмотря на это, язык CSS , ещё долгое время (до середины нулевых годов) поддерживался не полностью в некоторых браузерах (особенно, в Microsoft Internet Explorer , до появления версии 7) [18]. Ранее, когда CSS не было, или он не поддерживался повсеместно, для достижения различных стилевых эффектов, прибегали ко всяческим HTML -ухищрениям. В HTML , даже существовали специальные тэги и атрибуты, позволяющие задавать стилевые правила, например, выравнивать элементы на странице, задавать фон и т.д. [5, 13]. Однако, такие стилевые HTML -конструкции были разрешены до версии HTML 4. Несмотря на то, что в 4-ой версии HTML [5, 13], ещё не было запрещено использование стилевых конструкций, этот подход являлся нежелательным. Он был оставлен в рабочем виде только для того, чтобы сайты постепенно переделывали на новый стандарт, без резкого обрушения инфраструктуры [5, 13]. В HTML 5, который
Сетевое научное издание «Системный анализ в науке и образовании» Выпуск №4, 2020 год является актуальным на момент 2020 года, стилевые HTML -конструкции однозначно являются запрещёнными, а все стилевые эффекты берёт на себя CSS [13]. Однако, даже в эру HTML 5 и CSS 3, всё ещё встречаются сайты и системы управления, работающие с запрещённым стилевым подходом [13].
К сожалению, использование стилевых конструкций HTML, встречается не только среди начинающих WEB -разработчиков, но и на сайтах крупных компаний. Это несмотря на то, что такой подход не соответствует спецификации современного HTML. Хотя, с момента запрета стилевых конструкций HTML прошло более 10 лет, WEB -инфраструктура чрезвычайно велика, и не все приложения успели адаптироваться к новым реалиям [5]. Плюс к этому, устаревший стилевой стандарт несёт целый ряд проблем. Одной из основных, является нарушение семантических правил HTML [5]. Ранее, во времена зарождения WEB , о семантике HTML -тэгов особо не задумывались. Это связано с тем, что не было такого большого количества сайтов, поисковых систем, специализированных программ для WEB . Дифференциация компонентов сайта, также была менее выраженной, по причине большей примитивности тогдашних систем [5]. Сейчас, одним из основных критериев «хорошей» вёрстки является её правильная семантика. Недостаточно того, чтобы она имела корректный внешний вид и адаптировалась под различные штатные ситуации. Требование к соблюдению семантики вызвано тем, что помимо данных, отображаемых пользователю, тэги HTML -документа содержат множество мета-данных, несущих скрытую, но не менее важную информацию [13]. Примером такой семантической нагрузки тэгов может служить обычный документ в известной программе Microsoft Word . Если, например, заголовки не сделать с верной опцией, а просто выделить текст, допустим, жирным начертанием, то Word не поймёт, что это начало главы и не внесёт этот «ложный заголовок» в авто-оглавление. Аналогичная ситуация и с WEB -страницами. Скрытые мета-данные используются, начиная от поисковых систем, заканчивая специализированными браузерами для слабовидящих и т.д. Одним из ярчайших примеров того, как пытались реализовать стили, без нормальной поддержки CSS , в конце 90-х годов (во времена HTML 3), это - табличная вёрстка [5]. Сейчас, она запрещена в явном виде, но использование её свойств, при помощи CSS - это правильный подход, если того требует ситуация, и это удобнее в конкретном дизайне.
Программный компонент клиентской части сайта, тоже не всегда был стандартизован и представлен языком JavaScript [4, 5, 13]. Например, в конце 90-х (во времена актуальности Internet Explorer 5), были весьма популярными такие технологии и языки как Visual - Basic , Java - applet и Adobe Flash . Хотя, Adobe Flash оставался популярным, вплоть до появления HTML 5. В 2020 году, Adobe Flash , практически потерял свою актуальность из-за множества недостатков данной технологии, особенно с точки зрения SEO и безопасности, ну а Visual - Basic и Java - applet , давно перестали использовать в клиентской части сайта (ещё в конце нулевых) [4, 5, 13]. В эру HTML 5 и CSS 3, JavaScript является безальтернативным языком программирования для клиентской части WEB -сайтов. Помимо этого, вся клиентская часть, достаточно строго стандартизирована, и её кросс-браузерность, близка к абсолютной. Хотя, «разногласия» между разными браузерами, всё ещё встречаются, как и необходимость нарушения HTML -семантики, в исключительных случаях, даже при наличии CSS 3 [4, 5, 13].
Но даже в конце 90-х, WEB -архитектура была весьма перспективным и кроссплатформенным направлением. Уже тогда было понятно, что сайт может быть, нечто более сложной системой, чем простейший набор статических страниц. И уже в 1998 году, многие крупные WEB -сайты имели не только клиентскую, но и серверную часть. Человечество, постепенно, приближалось к эпохе WEB 2.0 [4, 5].
Список литературы Перспективы развития CMS
- Левин, А. Создаем сайт быстро и качественно / А. Левин. – Питер, 2011. – 240 c.
- Горнаков, С. Г. Осваиваем популярные системы управления сайтом / С. Г. Горнаков. – ДМК–Пресс, 2009. – 333 с.
- Горнаков, С. Г. Создание сайтов на основе системы UMI CMS / С. Г. Горнаков. – Эксмо, 2009. – 240 c.
- Дари, К. AJAX и PHP. Разработка динамических веб-приложений / Кристиан Дари, Богдан Бринзаре. – Символ–Плюс, 2009. – 336 с.
- Дронов, В. А. HTML 5, CSS 3 и Web 2.0. Разработка современных Web–сайтов / В. А. Дронов. – СПб. : БХВ–Петербург, 2011. – 416 с.
- Рамел, Д. Joomla! для профессионалов / Дэн Рамел. – ИД «Вильямс», 2014. – 441 c.
- Черепанова, И. uCoz. Создание сайтов / И. Черепанова. – 3-е изд. – Эксмо, 2011. – 544 c.
- Колисниченко, Д. Выбираем лучший бесплатный движок для сайта. CMS Joomla! и Drupal / Денис Колисниченко. – М. : БХВ-Петербург. – 2010. – 288 c.
- Декстер, М. Joomla!: программирование / Марк Декстер, Луис Лэндри. – ИД «Вильямс», 2013. – 592 c.
- Мейер, Э. CSS. Каскадные таблицы стилей. Карманный справочник / Э. Мейер. – 4-е изд. – ИД «Вильямс», 2016. – 288 c.
- Ромашов, В. CMS Drupal. Система управления содержимым сайта / Виктор Ромашов. – М. : Питер, 2016. – 533 c.
- Уильямс, Б. WordPress для профессионалов. Разработка и дизайн сайтов / Б. Уильямс, Д. Дэмстра, Х. Стэрн – Питер, 2014. – 461 c.
- Эндрю, Р. CSS: 100 и 1 совет / Рейчел Эндрю. – 3-е изд. СПб: Символ-Плюс, 2010. – 336 c.
- Шпак, Ю. А. Web–разработка средствами MODx / Ю. А. Шпак. – МК–Пресс, Корона–Век, 2012. – 400 с.
- WordPress.org : [Официальный сайт CMS WordPress для разработчиков]. – URL : https://codex.wordpress.org/ (дата обращения: 21.12.2016).
- MODX.RU : [Официальный русский сайт CMS MODx]. – URL : https://modx.ru/ (дата обращения: 17.01.2017).
- Wix.com : [Официальный русский сайт CMS WiX] / Wix.com, Inc. – URL : http://ru.wix.com/ (дата обращения: 10.03.2017).
- Microsoft : [Официальный сайт компании Microsoft]. – URL : https://microsoft.com/ (дата обраще-ния: 21.05.2019).