Платформы для создания сайтов: CMS, фреймворки и SaaS-решения. Фреймворк cms


Cобрать лучшее из двух миров — фреймворков и CMS (часть 1) / Хабр

Четыре года — это в IT уже долгострой. Именно столько, и даже чуть больше времени мне понадобилось чтобы довести CleverStyle CMS до версии 1.0, до состояния когда архитектура устаканилась, имеется достаточная функциональность и целостность системы как таковой, все найденные баги исправлены, и основные сценарии работают без проблем.

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

Уверен, многим не хватало именно такого решения, это подтверждается многочисленными вопросами на том же Тостере и долгими ветками комментариев под ними.

Обязательно нужно объяснить почему
Сложность, избыточность, гибкость, функциональность и скорость.

Я не нашел решения, которое имело бы удовлетворительный для меня баланс этих параметров (безопасность тоже, но это очевидно и подразумевается само собой изначально). CleverStyle CMS — это не CMS в привычном смысле, это CMF, выше фреймворка по уровню архитектуры но ниже и гибче CMS. В связи с таким позиционированием получилось очень удобное решение в первую очередь для разработки уникального функционала, так как есть большинство необходимых инструментов, за которыми не нужно далеко идти, не нужно настраивать, а можно сразу использовать и получать результат. Отличия в сравнении с фреймворком:

В сравнении с CMS:
Сложность, избыточность
Мне всегда не нравились файлы вида:<?php namespace Acme\DemoBundle; use Symfony\Component\HttpKernel\Bundle\Bundle; class AcmeDemoBundle extends Bundle { } Это чуть меньше чем полностью бесполезный файл не несущий никакой полезной нагрузки, это шаблон, а шаблоны должны подразумеваться по умолчанию, если не менять шаблон — его не нужно и создавать. Поэтому в CleverStyle CMS подобные шаблонные штуки не нужны, вы пишете код только тогда, когда он делает хоть что-то полезное.

Как пример — вам практически никогда не нужно прописывать вручную подключение CSS/JS/HTML файлов на страницах — можно в простом JSON указать на каких страницах они нужны — система сделает это автоматически, а можно не указывать — тогда файлы будут подключены на всех страницах сайта (что иногда тоже вполне себе вариант).

Хотите Hello, world! — прямо так и пишете в index.html, ложите файл в папку модуля, включаете модуль в админке, он готов к работе. Не нужно кучи вложенных папок, шаблонных контроллеров и прочего — просто файл с контентом.

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

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

Маршруты тоже работают максимально просто, в общем виде выглядит так: api|admin/Module_name/level_1/level_2, при этом всё кроме Module_name необязательно и используется только когда нужно. На каждом уровне маршрута есть ответственный файл, который отрабатывает свой уровень, но если обработка нужна только на следующем уровне — на текущем обаботку можно пропустить. Сами уровни описываются одно- или двумерным массивом в формате JSON:

{ "level_1" : [ "sublevel_1", "sublevel_2" ] } При открытии страницы admin/Module_name/level_1/sublevel_1 отработают следующие файлы при наличии: Так же из соображений простоты и удобства выбирались и сторонние компоненты, например:
Функциональность, скорость

Из коробки система понимает что бывает несколько БД, они могут быть разными, у них бывают зеркала, умеет случайным образом балансировать запросы между зеркалами (можно отправлять запросы на запись на мастер, а чтение на зеркала). Аналогично поддерживается несколько хранилищ для статики.

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

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

Есть интерфейс отправки почты, в том числе с вложениями и прочими нужными возможностями.

Повсеместное кэширование — в подавляющем большинстве запросов ядро даже не соединяется с БД, так как кэшируется всё, что имеет смысл кэшировать.

На фронтенде подключены jQuery, UIkit, Polymer (+ WebComponents.js), они настроены работать вместе (это не всегда тривиально, учитывая веб-компоненты). Веб-компоненты используются наравне с обычным CSS/JS кодом, система понимает HTML импорты, можно использовать Paper Elements и любые сторонние готовые компоненты с легкостью.

Зависимости между компонентами (обязательные и не очень) автоматически влияют на порядок включения CSS/JS/HTML файлов на странице, так что у вас всегда будет предсказуемый и правильный порядок инициализации файлов.

CSS/JS/HTML файлы минифицируются, объединяются, жмутся с помощью gzip в отдельные файлы, которые подключаются всё так же с учётом зависимостей, система делает всё сама, в том числе выставляет заголовки для правильного кеширования файлов браузером и/или CDN.

Все создаваемые файлы и записи в БД контролируются, таким образом производительность является контролируемой и предсказуемой. Это дает комфортное ощущение контроля за состоянием сайта.

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

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

На самом деле есть не только ядро

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

Кроме стандартной темы оформления, которая используется в основном только для админки есть ещё две, также сторонние портировать проще простого, ведь тема оформления — простой HTML файл, в который подставляется контент и некоторые другие данные (есть два примера портирования в GitHub с пошаговыми коммитами от исходного шаблона, до состояния когда он является темой оформления CleverStyle CMS).
Разное

Ядро CleverStyle CMS всего 2 МиБ и состоит примерно с 280 файлов (это уже включая все сторонние библиотеки), имеет всё необходимое для разработки подавляющего большинства всевозможных сайтов размером от визиток до масштабируемых на несколько серверов.

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

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

Код доступен на GitHub под MIT лицензией: https://github.com/nazar-pc/CleverStyle-CMS

Несмотря на то, что система должна рассматриваться скорее как монолит — многие части либо сразу, либо с небольшим усилием можно оторвать и использовать отдельно — например, минификация и объединение CSS/HTMLфайлов, реализация псевдо-файловой системы в кэше (по сути поддержка тэгов) для APC и Memcached, да и ещё много чего, код под MIT лицензией, можно использовать.

Есть wiki с описанием устройства и взаимодействия различных частей системы: https://github.com/nazar-pc/CleverStyle-CMS/wiki

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

Как попробовать

Демка с публично доступным сайтом плохо поддерживается — то пароль кто-то изменит, то настроит что-то, да и сломать с полным админским доступом при желании не сложно. Благодаря тому, что последние версии поддерживают сборку и установку в режиме командной строки стало возможным приготовить образ для Docker с автоматически обновляемой и всегда последней git версией системы. Запускается так:

docker run --rm -p 8888:8888 nazarpc/cleverstyle-cms После этого можно открывать localhost:8888 и смотреть (логин admin, пароль 1111), все компоненты изначально отключены, но доступны в админке.--rm удалит контейнер после остановки (остановить можно с помощью Ctrl+C).

habr.com

Чистый HTML, самописец, фреймворк или CMS?

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

Чистый HTML

Несомненным преимуществом использования чистого HTML, а если сказать точнее — HTML + CSS (каскадных таблиц стилей) чрезвычайно высокое быстродействие и невысокая нагрузка на сервер. Но недостатком такого решения является невозможность реализации любой интерактивности или динамического формирования страниц. Такой сайт может быть исключительно статическим. Управление контентом такого сайта является крайне тяжёлым для неквалифицированного администратора / веб-мастера. Своего рода костылём может стать вспомогательное ПО, которое помогает генерировать HTML-код. Однако, такое управление сайтом является крайне негибким и неудобным.

Чистый HTML целесообразно использовать для полностью статических сайтов-визиток, дорвей-сайтов или лендингов (landing page).

Самописец

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

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

Фреймворк

Фреймворки (framework) — тиражируемый комплекс программных решений, таких как библиотеки, инструменты и тому подобное. Фреймворки снимают с программиста необходимость реализации кода рутинных операций, таких как подключение к базам данных, разбор параметров http-запроса, формирования виджетов и т. д. При этом программист имеет полный контроль за логикой веб-приложения. Популярные фреймворки хорошо документированы и, преимущественно, имеют большие сообщества на форумах, где можно получить советы и ответы на любые вопросы.

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

CMS

Использование готовых CMS — кратчайший и самый дешёвый путь к получению функционального сайта. Работа веб-программиста сводится к минимуму, а иногда, продвинутый пользователь способен сделать всё собственными силами. Администрирование и наполнение контентом такого сайта не требует специальных навыков. Определённые сложности начинаются тогда, когда возникает необходимость реализовать нестандартный набор функций или совсем нетрадиционный дизайн сайта. Однако, большинство CMS с открытым кодом позволяют специалисту гибко реализовывать любые пожелания заказчика. Фактически CMS, в большинстве, являются продвинутыми фреймворками.

Недостатком подавляющего большинства CMS является более низкое, по сравнению с чистыми фреймворками, быстродействие и более высокие требования к ресурсам, которые обусловлены универсальностью возможностей и обеспечением простоты управления контентом. Но для большинства CMS проблема производительности проявляется при очень больших нагрузках, или при интенсивной работе со значительными объёмами данных. Например, для популярной в России платной системы управления Bitrix необходимы большие объемы данных и выделенный сервер. Примерами же популярных CMS с открытым кодом является Drupal, WordPress и Joomla.

Так что выбрать? В большинстве случаев, CMS удовлетворит потребности почти любого веб-сайта. Гораздо реже реальная необходимость в использовании фреймворков. Целесообразность использования самопишущих "движков" возникает крайне редко. Чистый HTML + CSS целесообразен для реализации простых статических сайтов.

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

Рафиков Ришат

lezhebokov.com

Фреймворк или content management system (CMS)

Что выбрать для создания своего собственного веб-ресурса? Фреймворк или content management system (CMS)? В первую очередь поговорим о способе создания своего ресурса. Это так называемая CMS, она является очень качественным и чудесным инструментом в опытных руках. Если вы не обладаете обширными знаниями по программированию сайтов, но все-таки несмотря на это все равно хотите создать свой собственный ресурс, то можете пользоваться именно этой системой.

На самом деле любая система сама по себе представляет специальную площадку, при помощи которой создается проект или иначе говоря сайт. Как правило, площадки узкоспециализированны, то есть они подходят для определённых типов ресурсов, приведем конкретный пример. Например, тот же wordpress больше всего подходит для создания личных авторских блогов, но ещё и для тематических сайтов. Тогда как движок под названием Joomla (Джумла) больше всего подходит для создания крупномасштабных порталов, интернет-магазинов, клубов и прочее. Но с другой стороны простой сайт является универсальным и его можно создать при помощи любого движка. Как вариант, можно использовать уже готовые решения от хостинг компаний, которые предлагают одновременно с хостингом предустановленную и настроенную CMS Wordpress https://hosting.reg.ru/ - вам остается только добавить ваш контент и сайт готов к старту.

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

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

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

joomix.org

Какой PHP-фреймворк лучше использовать для написания модульной CMS? — Toster.ru

Добрый день.

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

Для краткости этот разнородный функционал я буду называть модулями (хотя не уверен, подходящее ли это слово).

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

Решение этой задачи я представляю себе следующим образом (тезисно):

Кроме того, для управления этой системой:

Также, вероятнее всего, потребуется обеспечить к этим модулям доступ через различные субдомены в виде "foo-module.site.com/bar-action-of-foo-module"

Нечто подобное (в ОЧЕНЬ первом приближении) я видел в CMS Joomla!, однако в ней всё-таки больше CMS-ности, а мне нужно в разы меньше (я не стремлюсь создать "ещё одну CMS" для пользователей, а хочу сделать свою работу немного проще за счёт разнесения общего и частного функционалов по разным корзинам). В Joomla! ближайшим аналогом моего "модуля" является "компонент", в котором (как и во всей Joomla!) реализован паттерн HMVC, о деталях "хорошей" реализации которого я не нашел ничего кроме красивых блок-схем, нарисованных пользователями той же Joomla!.

В общем, выше изложен большой набор хотелок, а вот вопросы:

  1. Какой существующий PHP-фреймворк наиболее подходит для написания этой CMS? Я сейчас смотрю в сторону Symfony2 и Yii2: заложена ли в них возможность использовать паттерн HMVC, или может в этом не будет необходимости?
  2. Если вдруг что-то из сказанного мною выше приводит вас в недоумение - я буду рад услышать критику касаемо постановки задачи или предлагаемых мною решений.
  3. Если вы знаете какие-то хорошие подходы для решения указанных выше задач - я буду очень рад услышать их.
UPD: Я задаю вопрос "какой фреймворк использовать" потому, что не знаю преимуществ существующих фреймворков для решения описанных задач. Поэтому, если вам не трудно, кроме собственно названия фреймворка укажите причины, по которым, по вашему мнению, данный фреймворк наиболее подходит (по сравнению с другими фреймворками) для решения описанных выше задач. Спасибо за понимание.

toster.ru

Разработка сайта на CMS, на Framework или с нуля, что выбрать

Перед любым человеком, который заказывает сайт, возникает выбор варианта создания сайта. Одни исполнители доказывают, что CMS Wordpress или какая-либо другая CMS это идеальный вариант, другие говорят, что CMS это не серьезно и нужно делать сайт на Framework, например на Yii, Laravel, а третьи вообще говорят, что сайт нужно делать с нуля, без использования CMS и фреймворков.

Для начала разберемся, что такое  CMS и что такое Framework.

CMS (Система управления содержимым) - полностью готовый програмный комплекс для управления сайтом и его содержимым. Для создания сайта на CMS, необходимо скачать ее файлы, пройти быструю настройку и все, у вас есть полностью функционирующий сайт, например блог, интернет магазин, лендинг. CMS были придуманы, чтобы каждый человек, который даже вообще не знает ни программирования, ни верстки смог быстро и бесплатно сделать себе сайт. Популярные CMS: Wordpress, Joomla, Drupal, OpenCart, MODx.

Framework (Фреймворк) - маловесный программный каркас, который определяет структуру веб-приложения. Для создания сайта на фреймворке уже необходимы очень мощные знания в программировании и верстке, потому что из базового программного каркаса нужно делать сам сайт, блог, интернет-магазин, корпоративный сайт или какой-либо другой сайт. Также при создании сайта на фреймворке необходимо кроме клиентской части полностью делать административную часть. Готового функционала для сайтов фреймворки не содержат. Популярные фреймворки: Yii, Laravel, Zend, Symfony, CodeIgniter.

Плюсы CMS:

Минусы CMS:

Плюсы Framework:

Минусы Framework:

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

Итак, что же все-таки стоит выбрать для своего проекта???

Можно сделать такой вывод: если вам нужен сайт, который будет быстро работать, иметь большую производительность, быть расширяемым и удобным, то стоит выбрать создание сайта на framework, а если у вас нету навыков в программировании и вы хотите сделать сайт для себя и не ждете, что он принесет вам денег и клиентов, то можно выбрать CMS.

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

Статью подготовил Бируля Игорь для блога компании reQonce. Первоначальный источник на сайте блога нашей компании https://require-once.com/article/razrabotka-saita-cms-framework-s-nulya-chto-vibrat

it-rating.in.ua

Framework или CMS – что выбрать?

Framework или CMS – что выбрать?

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

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

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

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

Одни из самых популярных Framework: Symfony, Yii, Zend Framework, Laravel.

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

webdoka.ru

CMS, фреймворки и SaaS-решения — «Веб Креатор»

Наи­бо­лее попу­ляр­ные виды плат­форм для раз­ра­ботки сайта

Наи­бо­лее рас­про­странён­ный вари­ант — это раз­ра­ботка на CMS-плат­формах.

Система управ­ле­ния сай­том (Content Management System) — это про­грамм­ный про­дукт, кото­рый слу­жит для раз­ра­ботки неко­то­рых стан­дарт­ных раз­но­вид­но­стей сай­тов. Почти все CMS модуль­ные, а модули мно­гих из них собраны в ком­плекты (или редак­ции), пред­на­зна­чен­ные для тех или иных видов сай­тов. Есть коро­боч­ные CMS для про­стых сай­тов, для ката­ло­гов, для интер­нет-мага­зи­нов, для бло­гов, для новост­ных пор­та­лов и для дру­гих видов сай­тов.

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

Мы, напри­мер, раз­ра­ба­ты­ваем ком­мер­че­ские сайты на UMI.CMS и 1C-Bitrix. Это оте­че­ствен­ные ком­мер­че­ские CMS-плат­формы, кото­рые уже много лет исполь­зу­ются для созда­ния сай­тов и хорошо заре­ко­мен­до­вали себя.

Самая гиб­кая и наи­бо­лее мощ­ная плат­форма — фрейм­ворк.

Фрейм­ворк — это про­грамм­ный про­дукт, кото­рый слу­жит осно­вой для сай­та, но обычно не содер­жит в себе гото­вых про­грамм­ных моду­лей для реа­ли­за­ции кон­крет­ных биз­нес-про­цес­сов. Выра­жа­ясь тех­ни­че­ским язы­ком, фрейм­ворк — это более низ­ко­уров­не­вое реше­ние, нежели CMS. Раз­ра­бот­чи­ки, при созда­нии сайта на фрейм­ворке, создают не только пуб­лич­ную часть сай­та, но и про­ек­ти­руют базу дан­ных, раз­ра­ба­ты­вают алго­ритмы для моду­лей систе­мы, а также создают адми­ни­стра­тив­ный интер­фейс для управ­ле­ния про­ек­том. Необ­хо­ди­мость серь­ёз­ных затрат на про­грам­ми­ро­ва­ние делает раз­ра­ботку более доро­гой, но и резуль­тат полу­ча­ется более индивидуальным.

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

Мы, напри­мер, раз­ра­ба­ты­ваем серь­ёз­ные веб-про­екты на фрейм­ворке Ruby on Rails. Дан­ный фрейм­ворк поз­во­ляет созда­вать дей­стви­тельно слож­ные сай­ты, биз­нес-при­ло­же­ния и веб-сер­ви­сы. Ско­рость работы и устой­чи­вость к нагруз­кам у таких реше­ний на поря­док выше (в срав­не­нии с CMS), а сопро­вож­да­е­мость и сто­и­мость вла­де­ния при этом не сильно отли­ча­ют­ся.

CMS-плат­формы

CMS на рынке суще­ствует много и они очень раз­ные:

Подроб­ная ста­тья о CMS →

Фрейм­ворки

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

Подроб­ная ста­тья о фрейм­ворках →

Какая плат­форма луч­ше: CMS или фрейм­ворк?

Ответ на это вопрос очень прост — смотря что именно надо разрабо­тать: если про­ект про­стой и тре­бо­ва­ния к нему самые обыч­ные, то выби­ра­ется CMS, а если про­ект слож­ный, то проще его на фрейм­ворке делать.

Подроб­нее про выбор между CMS и фрейм­ворком →

SaaS-плат­формы

Также сей­час «наби­рает обо­роты» созда­ние сай­тов на SaaS-плат­формах. SaaS-плат­форма для созда­ния сай­тов — это воз­мож­ность запу­стить доста­точно про­стой веб-про­ект очень быстро и крайне дёшево (при­чём еще и на усло­виях аренды). Реше­ние под­хо­дит для про­стых сай­тов, вре­мен­ных про­ек­тов и для про­верки биз­нес-идей. SaaS-плат­формы, как и CMS, бывают спе­ци­фи­че­скими (только для интер­нет-мага­зи­нов, напри­мер) и уни­вер­саль­ными (для всех типо­вых видов сай­тов).

Подроб­ная ста­тья о SaaS-плат­формах →

web-creator.ru


Prostoy-Site | Все права защищены © 2018 | Карта сайта