• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Cms Vs "изготовление на коленках"

  • Автор темы vadim_samoilov
  • Дата начала
Статус
Закрыто для дальнейших ответов.
V

vadim_samoilov

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

Как и любая другая технология, системы управления контентом имеют свои плюсы и минусы. Утверждения, что CMS – панацея от всех бед в области информационных потоков, несостоятельны – совершенных систем не бывает.

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

В силу своей природы, традиционная разработка сайтов имеет определенные недостатки, которые выражаются в следующем:
- объемы функциональности прямо пропорционально зависят от стоимости разработки;
- длительные сроки разработки, отсутствие возможности планировать наращивание функциональности;
- невозможность распределения инвестиций и точного определения окупаемости;
- низкое или среднее качество конечного продукта в случае «тяжелой» функциональности.


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

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

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

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

Говоря более подробно о функциональности систем управления контентом, хотелось бы отметить, что на данный момент любая система, претендующая на звание CMS, должна удовлетворять, как минимум, следующему набору требований:
- действительно динамическая работа с контентом (автоматизированное управление, визуальный редактор, возможность синхронизации данных с другими системами);
- встроенная политика безопасности;
- управление учетными записями пользователей;
- возможность смены дизайна (темы, стили);
- оператор системы не обязан знать веб-технологии, язык разметки гипертекста;
- создание максимально дружественного и удобного интерфейса посетителей;
- поддержка рекламных кампаний;
- встроенный механизм поиска;
- обработка ошибок, средства их анализа;
- наличие консоли администрирования/модерирования для настойки системы и ее управления.

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

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

Рассмотренные характеристики определяют основу системы, ее скелет. Далее рассмотрим дополняющие их качества.

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

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

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

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

Некоторые производители CMS предлагают на выбор поддержку различных баз данных – от MySQL и до Oracle, причем в последнее время намечаются тенденции предпочтения MS SQL Server. В общем случае, вид базы данных становится значим для корпоративных заказчиков при возникновении необходимости обмена данными с ERP-системами.

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


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

Когда идет речь о создании нового дизайна – новой темы, скина (skin) в системе управления контентом – все зависит от того, какую архитектуру приложения выбрал разработчик и насколько широкие полномочия он предоставил будущему дизайнеру системы. В редких случаях (как правило, при хостинге CMS в аренду) речь идет только об изменении стилей, но в подавляющем большинстве CMS эти полномочия широки – дизайнеру предоставлена достаточная свобода действий. Достаточная – но не полная. В некоторых случаях невозможно создание совершенно «отвязанного» дизайна из-за того, что данные, выдаваемые программным кодом и пропускаемые через призму HTML, завязаны на определенную функциональность, которая в силу некоторых субъективных и объективных причин не всегда может, например, вывести разбитый на три части текст статьи в разных частях экрана под углом 45 градусов. Понятно, что в данном случае при выполнении дополнительного программирования возможно реализовать практически любой вариант, но при наличии большого числа таких нестандартных моментов это очень становится похоже на классическую разработку, что влечет большие затраты.

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

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

Таким образом, в 90% случаев CMS удовлетворит любые запросы с точки зрения создания дизайна. Если же Вы создаете новый Yandex – видимо, Вы попадаете в другие 10%.

Напоследок хотелось бы кратко описать текущую обстановку на рынке CMS. На данный момент к лидерам рынка можно отнести CMS Bitrix ( ) и NetCat ( ) – но, увы, ни одна из них не занимает выдающегося процента рынка. Разработчики этих систем делают ставку на универсальность, безопасность и широкое предоставление API внешним программистам. Другие системы разделяются по отраслевой принадлежности: системы сообществ – Community Server ( ), Интернет-представительства деловых компаний; по степени отчуждаемости (некоторые используются только для собственных внедрений) – RBC Contents ( ). Новые разработки движутся в сторону использования более функциональных платформ и лучшей масштабируемости – ProLabs Portal ( ), также выявляется тенденция к предоставлению CMS в аренду, на специальном хостинге с ежемесячной оплатой – Optimizer ( ).


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

Ну да, система управления контентом это круто! Появится огромное количество похожих друг на руга, как близнецы, сайтов. Это массовое внедрение индустрии домашних страничек типа narod.ru? Таких же убогих как студента Васи Пупкина? Какой тут сделаешь дизайн оригинальный, при закрытом коде? К тому же перец пишет что, при традиционной разработки интерфейс не дружественный будет. Ну да посмотрю я на его дружественный тиражируемый, качественный продукт (не будем тыкать пальцем в сторону сами знаете кого). Плюс ко всему, не уверен, что все это не будет стоить мегаденег.
 
A

Andrew Stephanoff

Я считаю, что возможно построить CMS, которая сможет позволить менять дизайн полностью независимо от кода.
 
A

Andrew Stephanoff

мне кажется более перспективным решением использовать javaScript и атрибут id html тагов, тогда smarty не нужен
 
A

admin

Для: Andrew Stephanoff
везде есть свои + и - :lol:
 
A

Andrew Stephanoff

Серега
угу.. и главный минус -- возможность отключить javascript :lol:
 
A

admin

Для: Andrew Stephanoff
ну и не всегда можно сказать как поведет себя javascript на разной ОС или браузере.

кароче тут все недостатки и достоинства клиентской модели обработки данных.
 
G

Gisma

2 Cерега
ну лучше по-моему чтобы пхп скрипты который javascript отдавать.
А вообще проектирование CMS штука геморная и в общем клиенту редко нужная, IMHO лучше написать фреймворк (свой либо чужой) заточить парсер под него и клепать по сайту в 2 дня;)
 
A

admin

Для: Gisma
<!--QuoteBegin-Gisma+11:11:2005, 23:15 -->
<span class="vbquote">(Gisma @ 11:11:2005, 23:15 )</span><!--QuoteEBegin-->ну лучше по-моему чтобы пхп скрипты который javascript отдавать.
[snapback]26976" rel="nofollow" target="_blank[/snapback]​
[/quote]
сори, фразу не догнал ;)
<!--QuoteBegin-Gisma+11:11:2005, 23:15 -->
<span class="vbquote">(Gisma @ 11:11:2005, 23:15 )</span><!--QuoteEBegin-->А вообще проектирование CMS штука геморная и в общем клиенту редко нужная, IMHO лучше написать фреймворк (свой либо чужой) заточить парсер под него и клепать по сайту в 2 дня
[snapback]26976" rel="nofollow" target="_blank[/snapback]​
[/quote]
а типа это так просто.
покажи мне хоть одну толковую CMF. я понимаю что это лучше, но даже именитые студии не могут сделать это.
 
G

Gisma

Т.е. пхп скрипты определяющие совместимость браузера (например Safari ;(;(;( или Mozilla)и выдающий необходимый javascript-код. По-крайней мере так у меня сделано ;)
почему же не могут?
CMF только упрощает разработку сайта (например облегченные запросы, парсер, автоматическая авторизация, формирование админки) вот и все ;)
если хочешь простую удобную CMF то ее вполне реально написать самому, просто использовать скрипты которые ты раньше писал плюс обобщить их ;)
например вполне реально написать сервисы (классы, которые постоянно используются в системе) : бд, парсеры, авторизация, мыло, картинки (ресайзинг), файловая система, отладки (хранящий запросы к бд, какие блоки парсились и т.д.), ну и напоследок сервис защиты входящих параметров (MySQL, globals и т.д.) ;)
на самом деле ничего сложно ;) всего лишь месяц работы;(
 
G

Gisma

2: Andrew Stephanoff блин простейший пример нужен редактор WYSIWYG и чтоб работал под мозиллой и эксплорером + мнооого фишек. Тогда вопрос, зачем выдавать клиенту лишних килов 50 кодов, если он работает из эсклорера?
 
A

admin

Для: Gisma
<!--QuoteBegin-Gisma+12:11:2005, 14:43 -->
<span class="vbquote">(Gisma @ 12:11:2005, 14:43 )</span><!--QuoteEBegin-->на самом деле ничего сложно всего лишь месяц работы;(
[snapback]26984" rel="nofollow" target="_blank[/snapback]​
[/quote]
ты мне так и не показал пример нормальной CMF.
<!--QuoteBegin-Gisma+12:11:2005, 20:56 -->
<span class="vbquote">(Gisma @ 12:11:2005, 20:56 )</span><!--QuoteEBegin-->блин простейший пример нужен редактор WYSIWYG и чтоб работал под мозиллой и эксплорером + мнооого фишек. Тогда вопрос, зачем выдавать клиенту лишних килов 50 кодов, если он работает из эсклорера?
[snapback]26992" rel="nofollow" target="_blank[/snapback]​
[/quote]
ну ты правильно сказал, надо определять браузер и подгружать тот скрипт, который нужен ему, а не всё сразу.
только вот под Safari нет толковый WYSIWYG.
 
G

Gisma

что значит нормальная CMF, как ее показать?
ведь, в первую, очередь это программный код... показать программный код? ;)
можно и показать ;)
 
A

Andrew Stephanoff

Поделись, плз, секретом, как на php проверять версию браузера? :)
И если уж надо генерить javascript, так не проще ли самим javascript определять браузер и подгружать необходимый файлик js (благо DOM позволяет это сделать)?
 
G

Gisma

2 Andrew Stephanoff а тут все зависит от способа решения проблемы
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!