Что такое движок сайта и какими они бывают?

Дата публикации: 09.10.2016

chto-takoe-dvizhok-sajta-i-kakimi-oni-byvayutДоброго времени суток, друзья!

Сегодняшняя статья будет посвящена ответу на вопрос большинства начинающих веб-разработчиков «Что такое движок сайта?».

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

Итак, поехали 🙂

Зачем нужны движки сайтов?

Итак, представим, что вы — начинающий разработчик, который постиг все премудрости базовых языков web-программирования (HTML, CSS, JavaScript, PHP или другой бэкэнд-язык).

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

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

Дальше назревает вопрос «Ну и?… И что дальше делать? Как мне сайт-то написать?».

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

В итоге, у нас получился примерно такой диалог:

— Возьми CMS или фреймворк.

— А на чистом PHP писать сайты не получится?

— Можно и с нуля, люди пишут, но мороки больше, лучше что-то готовое взять.

— А чем готовый фреймворк или CMS лучше «чистого языка»?

— Тем, что там есть уже готовый набор функций и методов для работы с БД, маршрутизации, авторизация пользователей «из коробки» всегда идёт. В CMS вообще даже готовые модули и шаблоны есть. Только разбираться со всем этим придётся, т.к. у каждого движка своё API.

http://cccp-blog.com/wp-includes/images/banners/templatemonster/banner_content_new.png

— А знания PHP мне с этим API разобраться помогут? Это пока единственное, что я из веба знаю 🙂

— Конечно, без азов – никуда. Что такое API, знаешь?

— Да вроде… В универе рассказывали 🙂 Что, вроде как Application Program Interface – программный интерфейс для работы с приложением.

— Всё верно. Для фреймворков и CMS API существует в виде функций, с помощью которых ты обращаешься к движку и просишь его что-либо сделать. Так вот все эти функции базируются на стандартных языковых конструкциях. Вот здесь PHP и пригодится, когда разбираться с ними будешь, дорабатывать и свои писать. А если самому сайт на PHP с нуля разрабатывать, то тебе, по сути, движок писать придётся со своим API. Сам можешь представить, сколько с ним навозишься 🙂

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

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

Если о CMS и фреймворках мы с вами ещё поговорим далее, то сейчас давайте вернёмся к самому началу нашего сегодняшнего разговора.

Что такое движок сайта?

chto-takoe-dvizhok-sajtaИтак, что же такое движок сайта вообще?

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

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

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

Так вот, в большинстве своём, тестовые задания звучат как «Напишите сайт». Причём, из используемых технологий – чистый PHP/Javascript/CSS/HTML без каких-либо плюшек в виде фреймворков и CMS.

И, как бы это ни было абсурдно, приходится играть в эту игру, т.к. работа тебе нужна, а без выполнения этого задания на неё не попасть.

Что же делал лично я? Не скажу, что это единственно верное и самое оптимальное решение, но всё же…

Первым делом я создавал хранилище данных, т.е. базу данных сайта, предварительно определившись с СУБД (в большинстве случаев выбор был в сторону MySQL).

Библиотека курсов

После создавалась структура каталогов будущего ресурса. Учитывая то, что в большинстве случаев требовалось следовать MVC-паттерну (шаблону проектирования), то сайт представлял из себя корневую папку с доменным именем ресурса (как требует большинство локальных веб-серверов) и каталогов «controllers», «models», «views».

Далее создавался класс для работы с БД из PHP-кода (в виде базовой модели), содержащий методы для подключения к базе и выполнения различного типа запросов (select, insert, update и delete).

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

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

Также в данном контроллере подключался файл глобальных констант.

К чему всё это повествование? А к тому, что все описанное является ядром движка.

Как вы могли заметить из предыдущего текста, у него есть своя структура, которая задаётся разработчиком по его усмотрению. Обычно, в соответствии с различными паттернами проектирования – Strategy, Singleton, MVC  и прочими.

А далее создаётся код, обеспечивающий интерфейс для работы с БД, а также реализующий механизмы роутинга, хранения и извлечения данных из сессий и кук (cookies), кэширования  (для полноценных движков последние функции must have, я же для своего «творения» подобным не заморачивался) и прочего, на основании которого будет разворачиваться основной функционал сайта.

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

Каркас же для их создания может быть абсолютно одинаковым. И в нашем случае им будет являться код, составляющий ядро движка.

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

Поэтому в Интернете вы можете увидеть такие синонимы движка сайта как «платформа сайта», «каркас сайта» и прочие.

Самое интересное, что, проанализировав ТОП-10 результатов поисковой выдачи Google по запросу «Что такое движок сайта?» я обнаружил удивительный факт: во всех случаях авторы называли движком сайта исключительно CMS.

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

О том, какие же ещё существуют – читайте далее.

Какими бывают движки сайта?

kakimi-dvizhki-dlya-sajtov-byvayutНачнём мы нашу классификацию с того, что существует несколько видов движков сайтов. Причём, разделение на группы происходит по различным признакам.

Главное при изучении дальнейшего материала – не запутаться, увидев упоминания одного и того же продукта в различных категориях. Всё нормально, это не опечатка 🙂

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

Согласно ей, человек разумный (Homo sapiens) – это представитель типа «Хордовые» класса «Млекопитающие» отряда «Приматы» семейства «Гоминиды», семейства «Люди».

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

Например, OpenCart – это официальная бесплатная CMS с открытым исходным кодом (opensource) для разработки Интернет-магазинов. Данное определение является не просто совокупностью красивых слов.

Каждое из них говорит о принадлежности одного и того же программного продукта к различным категориям по определённым признакам.

А вот к каким и почему – об этом речь пойдёт дальше.

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

Для начала я решил рассмотреть классификацию движков для создания сайтов по самому очевидному и значимому для разработчиков и заказчиков критерию.

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

CMS

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

Примеры CMS: OpenCart, WordPress, Joomla, NetCat и др.

Вкратце напомню основные положения.

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

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

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

Фреймворк

В переводе с языка оригинала, т.е. с английского, framework – рамки, каркас, основа.

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

Примеры фреймворков: Laravel, Yii, Zend, Symphony, Phalcon и др.

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

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

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

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

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

Т.е. весь процесс создания сайта на фреймворке представляет собой создание сплошных «велосипедов» (очередная реализация давно разработанных алгоритмов).

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

В качестве же шаблонов можно использовать универсальные CSS/HTML или Bootstrap-шаблоны, которые необходимо будет всего лишь установить и оформить их в соответствии со стандартами кода движка. Вёрстку переделывать будет не нужно.

О плюсах и минусах фрейворков можно долго говорить, поэтому я оформлю данные размышления в виде отдельной статьи, которую вы увидите чуть позже 🙂

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

CMF

CMF (Content Management Framework, дословно переводится как «фреймворк для управления содержимым») – это ещё одна разновидность движка, которая, по сути, представляет из себя фреймворк для разработки CMS.

После установки, «из коробки» он уже представляет собой CMS, на которой можно разрабатывать сайты. Поэтому часто продукты из данного семейства позиционируются как CMS/CMF.

Примеры CMS/CMF: Magento, ModX, Drupal и др.

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

По крайнем мере, так гласит Википедия 🙂

Лично я имел опыт работы только с CMS/CMF Magento и то на уровне доработки готовых решений, поэтому судить о том, каким способом достигается данное упрощение, я судить не могу.

Никакого «конструктора CMS» лично я не заметил кроме стандартного расширения функционала за счёт модулей. И то, их включение/отключение через пользовательский интерфейс весьма затруднительно, по сравнению с той же CMS OpenCart, которая позиционируется как чистая ЦМС-ка.

Вообще провести чёткую грань между CMS и CMF весьма сложно, что отмечает Википедия и другие авторы. Да и сами разработчики ПО, видимо, это тоже признают, т.к. для своих продуктов в качестве типа движка указывают их симбиоз в виде «CMS/CMF», а не ограничиваются чистой приставкой «CMF».

Типы движков для сайтов по их распространённости

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

Самописные

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

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

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

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

По причинам, изложенным ранее, сообществ разработчиков вы тоже никаких не найдёте.

Официальные

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

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

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

А пока продолжим раскладывать платформы сайтов по коробочкам с названиями их категорий 🙂

Разновидности движков для сайта по структуре их кода

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

OpenSource-проекты

OpenSource в переводе с английского означает «открытые исходники», что наиболее полно характеризует особенности относящихся к данному типу движков сайта продукты.

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

Примеры OpenSource-проектов: ОС Linux, CMS Magento, фреймворки Yii, Laravel и др.

Главная путаница, которая существует у людей по поводу OpenSource, заключается в том, что считается, что данные продукты бесплатны. Я и сам так по началу считал, пока не стал разбираться в данном вопросе более детально.

В общем-то, в большинстве случаев утверждение о бесплатности OpenSource-продуктов является правдивым, однако, всё же это не 100%.

Бесплатное ПО официально называется Free Software («Свободное программное обеспечение»), что подразумевает бесплатную установку, использование, распространение копий и редактирование кода данных продуктов.

В то время как OpenSource подразумевает только возможность редактирования исходников.

Т.е. сами видите, что понятие Free Software является более широким, чем OpenSource, которое является лишь частным случаем первого. Причём, далеко не обязательным, т.к. существуют как бесплатное ПО с закрытым кодом, так и коммерческие продукты с открытыми исходниками.

В завершение сегодняшнего разговора о данном типе движков для создания сайтов предлагаю вашему вниманию небольшой обзор самых популярных на сегодняшний день OpenSource платформ со всеми их плюсами и минусами:

Движки с закрытым кодом

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

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

Примеры движков с закрытым кодом: CMS NetCat, UMI.CMS, все известные онлайн конструкторы сайтов (Setup, Wix и др.), а также офлайн программы, позволяющие строить сайт из готовых визуальных элементов.

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

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

Платформы сайтов по стоимости их использования

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

С учётом этого критерия можно выделить следующие группы.

Бесплатные движки сайтов

Данный тип, Free Software («Свободное программное обеспечение») мы уже сегодня упоминали и даже расшифровывали, что он означает. Остаётся только обнажить некоторые его подводные камни.

Примеры бесплатных движков сайта: CMS OpenCart, CMS/CMF Drupal, практически все современные фреймворки (Laravel, CodeIgniter, Kohana), некоторые онлайн-конструкторы (Ucoz).

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

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

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

  1. Прежде всего, это услуги разработчика по созданию сайта, если заказчик не хочет вникать во все тонкости движка, даже если это CMS с готовым набором «кирпичиков».
  2. После создания сайта непременно будут появляться вопросы, связанные с поддержкой (установка новых и настройка существующих модулей и шаблонов, устранение конфликтов, изменение вёрстки), которые также стоят денег.
  3. Большинство модулей и шаблонов с интересным функционалом, а не банальными функциями, которые можно сделать и без него, также будут платными. Причём их цена может быть не столь ощутима для покупателей, но весьма весомой для разработчика при условии популярности и востребованности необходимой функции.

В качестве примера рассмотрю модуль «Filter Pro» для CMS OpenCart от разработчика с ником «Freelancer», чьё творение является одним из самых покупаемых на ресурсе opencartforum.com ввиду необходимости данной фичи на любом Интернет-магазине и убогости стандартного фильтра «из коробки» CMS OpenCart.

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

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

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

В итоге, суммарный доход разработчика от одного модуля составил 1429 * 2246 = 3 209 534 российских рублей.

В переводе на доллары США это составляет внушительные 51 000$.

Модуль впервые был загружен в июне 2012 года. Т.е., на текущий момент, на октябрь 2016, среднемесячный доход разработчика от продаж одного модуля составляет около 1000$.

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

Ели же учесть ещё и прочие расширения Freelancer (которых больше 20), а также стоимость услуг по их установке и индивидуальной настройке, то в итоге выйдет сумма ещё больше.

Вот и весь ответ на вопрос «Как заработать на бесплатном ПО» 🙂

Коммерческие платформы

Главным отличием данного типа движков сайта от предыдущего является то, что они напрочь лишены подвохов 🙂

Здесь всё прозрачно и платно, начиная от покупки лицензии для разработки сайта, заканчивая установкой модулей.

Захотел новую возможность – плати, новую тему желаете – плати, установить всё это хочешь – снова плати.

Примеры коммерческих движков сайтов: CMS 1С-Битрикс, CS Cart, Image CMS, большинство онлайн-конструкторов.

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

Как видите, всё будет упираться в кошелёк заказчика. Зато, он начисто будет лишён всяких головных болей насчёт поиска исполнителей и модулей в сети.

Достаточно будет только зайти на официальный сайт выбранного движка, где он сможет найти как список расширений, так и контакты разработчиков, которые обязаны пройти аккредитацию и получить сертификат от разработчика (по крайней мере, с 1С-Битрикс дела обстоят так), чтобы иметь право заниматься разработкой под данную платформу.

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

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

Типы платформ по их возможностям

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

По этому критерию платформы делятся на следующие группы.

Специализированные движки сайтов

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

Примеры специализированных движков: CMS OpenCart, CMS/CMF Magento, подходящие для создания исключительно Интернет-магазинов.

В случае выбора такого движка у вас точно не будет болеть голова насчёт вопроса «А что ещё можно сделать на этой платформе?».

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

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

Универсальные платформы сайтов

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

Примеры универсальных платформ для создания сайтов: CMS DLE, WordPress, CMS/CMF Drupal, все современные фреймворки.

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

Ярким примером такой ситуации является CMS WordPress, которая изначально задумывалась как платформа для разработки блогов, но со временем появилась возможность с помощью установки дополнительных модулей (например, WooCommerce, WPShop и др.) создавать на его базе Интернет-магазины.

Причём, естественно, что устанавливаемые расширения не в состоянии учесть все потребности клиентов, следовательно, придётся устанавливать дополнительные модули или, ещё лучше, писать необходимый код с нуля.

Всё это усложняет разработку сайтов. Я уже молчу о самих ресурсах, созданных подобным образом.

Однако, всё это может быть моим субъективным мнением, т.к. я являюсь ярым сторонником специализированных платформ 🙂

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

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

На этом всё, что я хотел вам сегодня сказать. Надеюсь, что материал был для вас полезен и вы получили для себя ответы на вопросы «Что такое движок сайта?» и «Какими движки сайтов бывают?».

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

Тогда мне будет особенно приятно прочитать об этом в комментариях под статьёй.

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

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

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

До новых встреч!

Удачи вам в разработке 😉

P.S.: если вам нужен сайт, но нет времени самостоятельно его разрабатывать, могу порекомендовать вам своего проверенного партнёра - вебстудию Дениса Нихаева. Было не просто, но я всё-таки выбил для вас скидку 20%, что составит до 20 тысяч рублей в зависимости от выбираемого тарифа 🙂 Вот промо код - CCCP. При заказе сообщите его и скидка вам гарантирована! Друзьям тоже можете рассказать 😉

Понравилась статья? Поделись с друзьями:
  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
8 голосов, в среднем: 5 из 5

Похожие темы

3 комментария к статье "Что такое движок сайта и какими они бывают?"

  1. Павел

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

  2. Абай

    Good!
    Классификация сделана на хорошем уровне.
    Вопрос: Хочу, начал делать интернет портал про воинов казахстанцев, так вот количество солдат около 1,2 млн. Что выбрать для обработки такого большого количества информации (базы данных), на какой платформе начать работать. Спасибо.

    1. Pashaster Автор

      Здравствуйте! На самом деле, подобные вопросы я достаточно часто встречаю в Интернете, на что люди советуют определённые CMS типа «да у меня магазина на OpenCart на 500 000 товаров» или «для большого количества статей WordPress не подходит».

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

      У Вас на сайте может быть несколько миллионов статей, но если к вам на сайт будет заходить 100 человек в сутки, такой сайт будет потреблять ресурсов меньше и грузится в разы быстрее, чем сайт с 10 статьями и 20 000 посетителей в сутки.

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

      С этой точки зрения практически все платформы в одинаковых условиях, т.к. более-менее распространённые в сети движки (те же Joomla, OpenCart, WordPress) имеют большое сообщество разработчиков, многие из которых являются профессионалами своего дела. Следовательно, с оптимизацией запросов на извлечение данных из базы у них всё должно быть хорошо. Другое дело — плагины, которыми вы потом напичкаете сайт, которые могут создаваться не очень профессионалами и не очень программистами в целом 🙂

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

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

      А Joomla или WordPress — наверное, всё-таки WP, т.к. из коробки у него достаточно узкий, специализированный функционал чисто под информационный сайт, а Джумла — движок общего назначения, следовательно, в нём много лишнего, что вам придётся самостоятельно убирать/исправлять.

      Поэтому если хотите CMS — WordPress. А в целом, я конечно же за фреймворки — с ними и скилл разработчика прокачаете и скоростью такой сайт будет обладать неимоверной по сравнению с CMS, да и лишнего там точно не будет — что напишите — всё Ваше 🙂

      В общем, выбор всё равно за Вами. Надеюсь, мой ответ был полезен.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *