MaxSite CMS один год!

Просмотров: 21415Комментарии: 11
Новости проекта

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

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

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

Ресурсопотребление

Разработчики WordPress сделали замечательную вещь - вместо того, чтобы оптимизировать свои скрипты, просто добавили проверку на memory_limit и если она меньше 32 Мбайт, то пытаются автоматом поднять это значение. А поднимать есть ради чего: админка в среднем требует 15-18Мб, сайт от 12-24Мб. Очень много памяти требуется при выводе множества рубрик и постоянных записей. Если при этом включить отображение  количества записей и иерархию, то может и 32 Мбайт не хватить.

В MaxSite CMS при 55 включенных плагинах потребление около 5Мб. В админке примерно столько же.

Если отключить все плагины, то результаты такие:

  • WordPress: админка - 12Мб, сайт - 9Мб.
  • MaxSite CMS: админка - 2Мб, сайт - 3Мб.

Внутреняя архитектура

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

Ради эксперимента, я в шаблонном index.php убрал весь код и оставил только потребление памяти и количество sql-запросов. (То есть выводим абсолютно пустую страницу).

  • WordPress: 10 sql-запросов, память - 9Мб.
  • MaxSite CMS: 0 sql-запросов, память - 2Мб

Кэширование

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

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

Много плагинов

Ну да, если сравнивать абсолютное количество, то WordPress безусловный лидер. Правда есть один немаловажный фактор: плагины к WordPress в основном плодятся от безысходности. Возьмем очень простой пример: разместить в сайдбаре счетчик и какой-нибудь php-код. Для WordPress'а как минимум потребуется разместить текстовый виджет, который имеет только заголовок и текст. В MaxSite CMS будет аналогичный виджет, только в нем выбор: html или php.

Или нужно вывести список рубрик. В WordPress: заголовок, иерархия и количество записей. Аналогичный виджет в MaxSite CMS позволяет задать: заголовок, формат вывода (ссылка, название, колво, описание, slug, menu_order), формат текущей рубрики, «включить только», «исключить», «если нет записей, то...», сортировка, порядок сортировки, включить ли потомков.

Ну и будет ли блогер в MaxSite CMS бегать и искать другие плагины для вывода рубрик или размещения счетчиков?

Устройство плагинов

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

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

Да, и еще пару моментов. В MaxSite CMS заранее предусмотрены функции, который выполняются при подключении, активации, деактивации и удалении плагина. То есть, в отличие от WordPress, где нужно извращаться с хуками, всё работает автоматом и не замусоривает систему. Включение множества плагинов в MaxSite CMS делается очень просто: отметили «галочки» и нажали «Включить». В WordPress'е плагины перед включением проверяются на «fatal error», то есть если в 3-м плагине произошла ошибка (ну и что?) WordPress тупо заткнется и не активирует остальные. Да и вообще для чего эта проверка нужна, известно лишь тому, кто эту глупость и придумал.

Виджеты

С виджетами даже сравнивать не хочется. Ну во-первых, в MaxSite CMS виджет делается проще и быстрей. Это обычный плагин, где прописываются специально названные функции: отображение формы, обновление и вывод. Всё по единой схеме и делается на раз. Во-вторых, код, отвечающий за обслуживание виджета легче и проще. В самом деле, зачем городить сложности, если можно предусмотреть базовый набор и свести код к одной-двум строчкам?

Третье отличие - виджеты в MaxSite CMS можно использовать множество раз. Например, мне нужно вывести страницы пятью блоками. WordPress нервно курит в сторонке, в MaxSite CMS даже не ёкнулось: хоть миллион.

Четвертое - в MaxSite CMS можно указывать условия отображения виджета. Любого и сколько угодно раз. В WordPress такого в принципе нет, поэтому объясню на пальцах. Скажем один текстовый виджет можно задать выводить только на главной, второй только на странице about, третий - в определенной рубрике, а четвертый во всех метках и страницах. Условие может комбинироваться из and, or, not, скобки и т.д. - всё что дозволено в php.

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

Ну и на последок - шестое отличие. Зачем WordPress удаляет html из заголовков виджетов?

Много шаблонов

Шаблонов к MaxSite CMS пока мало. Неоспоримый факт. Вордпрессисты могут ликовать.

Устройство шаблонов

Наверное сравнивать системы «в лоб» будет не совсем корректно, потому что всё в конечном счете упирается в уровень владения PHP. Поэтому остановлюсь только на самых важных отличиях.

Первое - по сложности шаблоны примерно одинаковые. Но, в MaxSite CMS нет никаких ограничений. То есть вебмастер волен делать со своим шаблоном что угодно и ему за это ничего не будет. С WordPress'ом такой фокус не пройдет: он расчитан на предопределенный вывод и никуда от этого не уйти.

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

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

Четвертое. В WordPress'е сложно вынести отдельные настройки шаблона в админ-панель. В MaxSite CMS - элементарно: файл options.ini в каталоге шаблона. Аналогично можно подключить и произвольные мета-поля для каждой записи: файл meta.ini.

Админка

Коли подошли к админке, то стоит поговорить и о ней. Аляпистость и рюшечность WordPress-админки может кому и нравится, но не мне. Админка не должна столько кушать памяти и тормозить ради своих якобы «красот». Ну фиг с ним. Сменить дизайн в WordPress довольно сложно. Сейчас вроде как можно сделать это с помощью своего css-файла. Уже что-то...

В MaxSite CMS шаблон админки имеет полностью свою структуру, где можно и расположение элементов, цвета указать произвольно. В принципе вывод любой админ-страницы сведен к четырем функциям (header, content, menu, footer). Как вы их расположите - ваша фантазия. Впрочем, для любителей WordPress, есть и шаблон аля-wordpress26.

Подключение к админке

Тоже моя любимая тема. :) Про опции шаблона и мета я уже сказал. Теперь черёд плагинов.

Любой плагин может подключиться к меню, а также может иметь свою страницу настроек. Делается это всего несколькими строчками кода. В WordPress делается примерно также, за исключением того, что в MaxSite CMS нет того бездумного php-кода, который выполняет непосредствено подключение.

Еще в MaxSite CMS есть «фишка», которой нет в WordPress: плагин может подключить свою страницу к шаблону. Например у нас есть гостевая книга. В ней свой особый вывод данных. В MaxSite CMS не нужно извращаться с хуками, чтобы вывести данные: достаточно указать адрес, по которому работает гостевая книга и... автоматом подключится файл шаблона, который идет в плагине. Короче - плагин может сам создавать свои типы данных. (Блин, в WordPress'е же такого нет, как объяснить?..)

Главные отличия

А вообще, я хочу сказать, что WordPress отличается ещё тем, что создает искусственые рамки и загоняет вебмастера в лоно своих функций, условий и предопределенностей. Это такая красивая клетка, где вроде бы уже все за тебя предусмотрели. Например масса библиотек, которые всегда подключаются, но могут и не использоваться. Или дублирование функций с return на echo. Как будто бы это такая сложность написать четыре символа...

Когда я делал MaxSite CMS, то прежде всего мне хотелось свободы в действиях: чтобы можно было создать то, что хочу я, а не то, что кто-то где-то решил, что так будет лучше. Понятно, что есть какие-то правила и условности, но нельзя их искусственно делать и потом преподносить как «фичи». Лично мне гораздо приятней программировать на PHP, а не на WordPress-функциях. Вот в WordPress'е есть глобальный объект $wp_query (см. WordPress -> Лаборатория), и вывод данных можно с успехом организовать через обычный foreach. Элегантно, красиво, а главное - управляемо. Нет же, давай наделаем всяких theLoop'ов, который оброс кучей дурацких функций, с которыми все уже скоро мозги себе свернут.

Так что всё просто. Для ребят из Автоматика WordPress - бизнес. Когда у них появились деньги, так о коде (как там, поэзия? Ну-ну...) просто забыли. Вот это и есть главное отличие.

В самом заключении. Иногда проскакивает, дескать MaxSite CMS основана на WordPress. Или что MaxSite CMS - переделанный WordPress. Никогда так не говорите - это бред сивой кобылы!

Всё! Следующий обзор через год!

Комментариев: 11 RSS

1Fanta01-06-2009 13:01

Поздравляю! Так держать! Система получается на славу!

3ZmeiСайт02-06-2009 09:58

С днем Рождения! Желаю чтобы безвозмездные время и труд потраченные на создание этой КМС - вернулись к тебе Макс в виде благодарности и чтобы хватило на самолет, остров и кусочек земли на Марсе. :)

4Hulio02-06-2009 10:43

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

7Комментатор 11805-06-2009 18:08

Поздравляю! Сделал еще один сайт на максайт! Наконец то разобрался полностью с шаблоном :-) Все оказалось просто!

Очень рад что нашел этот движок.

И всем советую!

9Комментатор 12123-06-2009 17:51

Поздравляю и автора и себя. Я совсем не гуру в php, а тут вдруг понадобилось быстро сделать сайт для мамы и ее начинающей фирмы. Решил пойти путем установки и наладки какой-нибудь cms. Ставил много и разные, не буду сейчас приводить названия, вообщем не впечатлило. Случайно натолкнулся на данный продукт. За пол часа установил и сделал больше чем при установке какой либо другой. Все гибко и понятно даже не искушенному пользователю. Да плюс предустановлены основные популярные плагины. Автору огромное спасибо за работу. И почаще радовать нас новыми версиями и улучшениями.

Оставьте свой комментарий!

Комментарий будет опубликован после проверки

Вы можете войти под своим логином или зарегистрироваться на сайте.

(обязательно)

О проекте

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