Подробная информация о возможностях и преимуществах FFCMS 3

Каталог-магазин расширений от разработчиков для FFCMS 3 и вашего сайта

Find developer to solve your tasks or start freelance on ffcms system now

Загрузите последнюю версию FFCMS 3 и узнайте о методах установки

О системе FFCMS 3


FFCMS - быстрая, расширяемая система управления содержимым сайта. Как и большинство других подобных систем, ffcms описывает несколько интерфейсов взаимодействия - интерфейс администратора, пользователя, установщик и консоль. Кроме того в системе реализованы дополнительные технические интерфейсы взаимодействия - api и cron. Ниже, приведены скриншоты главных страниц интерфейсов системы(1 - интерфейс администратора, 2 - интерфейс пользователя, 3 - интерфейс установщика системы, 4 - консоль):

1. Основные изменения в FFCMS 3 версии

Разработка третей версии FFCMS началась еще на стадии активной поддержки 2.0.* ветки. Основными целями разработки 3ей версии системы были: полноценная поддержка современной MVC архитектуры, следование принципам и стандартом ООП, имплементация современных инструментов разработчика (таких как composer, git, bower и др). Кроме того, важно было не утратить былые преимущества системы, такие как скорость работы и гибкое масштабирование функциональных возможностей.

Для достижения поставленных целей код 3ей ветки системы был написан с нуля, а ряд функциональных особенностей вовсе был переложен на плечи популярных php библиотек. Так, к примеру, все запросы и ответы в системе обрабатываются надстройкой над пакетом http foundation из symfony 2.8, а работа с базой данных ведется с помощью реализации Active Record в виде пакета eloquent от laravel 5. Использование популярных php библиотек позволяет существенно упростить разработку под ffcms, а так же избежать ошибок разработки.

Кроме следования паттерну MVC, инструкциям psr и стандарту автозагрузки psr-0 кодовая база ffcms была разделена на несколько архитектурно целостных реализаций:

  1. ffcms-core: ядро системы с набором основных реализаций и архитектурным строительством приложений и виджетов
  2. ffcms-console: микро-ядро, надстройка для работы с консольными командами и архитектурой консольных приложений
  3. ffcms (он же ffcms-dist): основной дистрибутив, позволяющий развернуть всю систему, управляющий автозагрузкой, содержащий базовые приложения и виджеты

Кроме основных реализаций выделены еще некоторые пакеты, которые либо полностью самостоятельно реализуют тот или иной функционал или наследуют и дополняют существующий: ffcms-ckeditor, ffcms-elfinder, searchable, languauge-flags.

2. Скорость работы FFCMS 3

Несмотря на существенные изменения в архитектуре и кодовой базе FFCMS, скорость работы системы остается на отличном уровне и практически ничем не уступает предыдущим версиям. Ниже приведена таблица тестирования времени загрузки и потребления памяти различными подобными CMS на php 7.0 + opcache, mysql 5.5, apache 2:

CMS Загрузка, сек Память, mb Объем системы, mb
Bitrix 16.0.11 standard 0,093 11,3 420
Wordpress 4.6 0,077 13,7 28
FFCMS 3.0.0 0,063 6,26 44
InstantCMS 2.5.1 0,064 3,6 24
Joomla 3.6.2 0,087 6,9 45
UMI.CMS 14 0,15 6,8 114
ModX 2.5.1 0,022 3,21 44

* стоит заметить, что практически все системы показали себя хорошо на php 7.0 + opcache, однако некоторые системы (umi) обладали более широким функционалом, некоторые (wordpress) не использовали кеширование по умолчанию после установки, а другие (modx) имели куда более меньший функционал из коробки, что позитивно сказывалось на скорости загрузки первого бита информации (измерялось время по методике TTFB).

3. Адаптивный дизайн

Все стандартные шаблоны ffcms, в том числе административная часть системы построены с использованием сеточного CSS-фреймворка bootstrap - ваш сайт будет отлично смотреться как на стандартном PC-мониторе так и на мобильном устройстве.

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

4. Быстрое расширение

Как мы уже отмечали ранее, система ffcms 3 поддерживает единый формат разработки расширений - все сущности разделены на контроллеры, модели и представления. Практически любой разработчик, имевший опыт разработки приложений на популярных mvc-фреймворках (yii 2, laravel 5, symfony 2, kohana 3 и др.) без проблем сможет разработать расширение для ffcms используя публичную документацию по разработке.

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

5. Интернализация и SEO-friendly

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

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

6. Простая шаблонизация

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

Шаблоны в FFCMS 3ей версии построены при помощи классического php-синтаксиса, в отличии от прежних версий, что позволяет снизить порог вхождения для разработки шаблонов и упростить их изменение для пользователей.

7. Открытая модель распространения

FFCMS 3 следует самой либеральной лицензии на свободное программное обеспечение - MIT(более правильно ее называть X11). Данная лицензия позволяет использовать, распространять и модифицировать программный код FFCMS как угодно и в любых целях, будь то коммерческих или открытых. Нет абсолютно никаких ограничений на использование программного кода FFCMS.

CMS online demo