Joomla
Joomla — это система управления содержимым (CMS) с открытым исходным кодом, написанная на языках PHP и JavaScript, используемая для создания и администрирования веб-сайтов и веб-приложений. Joomla распространяется под лицензией GNU General Public License версии 2 (GNU GPL v2), что делает её бесплатной для установки, использования и модификации. Система относится к классу фреймворков для управления контентом (CMF) и занимает одну из лидирующих позиций среди CMS на рынке, наряду с WordPress и Drupal.
История
Предшественник: Mambo
История Joomla начинается с проекта Mambo, который был разработан австралийской компанией Miro International Pty Ltd. В 2004 году Mambo стал одной из самых популярных CMS с открытым кодом. Однако в 2005 году разработчики ядра Mambo (команда Core Team) разошлись во взглядах с руководством Miro по вопросам управления проектом, лицензирования и коммерциализации. Основным конфликтом стало намерение Miro создать некоммерческий фонд для управления проектом, что, по мнению разработчиков, не обеспечивало достаточной независимости.
Создание Joomla
16 августа 2005 года группа ключевых разработчиков Mambo во главе с Эндрю Эдди (Andrew Eddie) объявила о создании форка проекта под названием Joomla. Название происходит от слова «Jumla» на языке суахили, что означает «все вместе» или «единое целое». Первая версия Joomla 1.0 была выпущена 16 сентября 2005 года и по сути представляла собой ребрендированную версию Mambo 4.5.2.3 с исправлением ряда ошибок и улучшением безопасности.
Основные версии
- Joomla 1.5 (2008 год) — стала первой стабильной версией с собственной архитектурой, включавшей систему шаблонов, плагинов и компонентов. Эта версия получила широкое распространение и считалась эталоном для последующих релизов.
- Joomla 1.6–2.5 (2011–2012 годы) — ввели поддержку многоуровневых категорий, ACL (Access Control List — списки контроля доступа) на уровне пользователей и групп, а также улучшенный менеджер пользователей.
- Joomla 3.x (2012–2021 годы) — основная версия, в которой была внедрена поддержка Bootstrap, адаптивного дизайна, улучшена работа с базами данных и добавлена поддержка PHP 7. Эта серия была самой долгоживущей и поддерживалась до августа 2023 года.
- Joomla 4.x (2021 год — настоящее время) — коренной редизайн интерфейса администратора на основе Bootstrap 5, внедрение нового шаблона Cassiopeia, улучшенная система маршрутизации, встроенная поддержка WebP и SVG, а также переход на современные стандарты PHP 8.
- Joomla 5.x (2023 год — настоящее время) — дальнейшее развитие архитектуры: удалена поддержка устаревшего кода, внедрён новый кодекс для разработчиков, улучшена производительность и безопасность.
Архитектура и устройство
Технологический стек
Joomla работает на связке веб-сервер (Apache, Nginx, IIS), база данных (MySQL, MariaDB, PostgreSQL) и интерпретатор PHP (версии 7.4 и выше). Система построена на архитектуре MVC (Model-View-Controller), что обеспечивает разделение логики, данных и представления.
Основные компоненты
- Ядро (Core) — базовый набор файлов, обеспечивающий работу системы: обработка запросов, подключение к БД, управление сессиями, маршрутизация URL.
- Расширения (Extensions) — модули, плагины, компоненты и шаблоны, которые расширяют функциональность сайта.
- Компоненты — основные функциональные блоки (например, com_content для статей, com_users для пользователей). Каждый компонент имеет свою модель, вид и контроллер.
- Модули — небольшие блоки контента, отображаемые в заданных позициях шаблона (например, меню, форма входа, последние новости).
- Плагины — обработчики событий, которые модифицируют поведение системы (например, плагины для SEO, кэширования, интеграции с внешними сервисами).
- Шаблоны — наборы файлов, определяющие внешний вид сайта (frontend) и панели управления (backend).
- Менеджер пользователей — система управления учётными записями с поддержкой групп, уровней доступа (ACL) и регистрации.
- Менеджер медиафайлов — инструмент для загрузки, просмотра и управления изображениями, документами и другими файлами.
База данных
Joomla использует реляционную базу данных. Структура таблиц включает:
#__content— таблица для хранения статей (заголовок, текст, метаданные, категория, состояние публикации).#__categories— таблица категорий (многоуровневая иерархия).#__users— таблица зарегистрированных пользователей.#__extensions— таблица, хранящая информацию об установленных расширениях.#__menu— таблица пунктов меню.
Классификация и виды
По типу использования
- Корпоративные сайты — Joomla часто используется для создания сайтов компаний, порталов и интранет-систем благодаря гибкой системе ACL и поддержке многоязычности.
- Интернет-магазины — с помощью расширений VirtueMart, HikaShop, J2Store или Redshop Joomla может быть превращена в полноценную платформу электронной коммерции.
- Социальные сети и сообщества — расширения Community Builder, JomSocial (разработчик признан иноагентом в РФ) или EasySocial позволяют создавать социальные сети с профилями, группами, форумами.
- Порталы новостей и блоги — стандартные возможности Joomla (статьи, категории, модули) подходят для ведения новостных лент и блогов.
- Образовательные платформы — с помощью LMS-расширений (например, Moodle через интеграцию или собственные решения) Joomla используется для дистанционного обучения.
По версиям
- Joomla 3.x — устаревшая версия (поддержка прекращена в августе 2023 года). Рекомендуется миграция на Joomla 4.x или 5.x.
- Joomla 4.x — текущая стабильная версия с поддержкой до 2026 года.
- Joomla 5.x — новейшая версия с улучшенной производительностью и современным кодом.
Применение и значение
Сфера применения
Joomla используется для создания сайтов различной сложности: от простых личных страниц до крупных государственных и образовательных порталов. По данным W3Techs (2024 год), доля Joomla среди всех сайтов, использующих CMS, составляет около 2,4% (примерно 1,5% от всех сайтов в интернете). Система популярна в Европе, Латинской Америке и странах Азии, в том числе в России.
Преимущества
- Гибкость и расширяемость — тысячи бесплатных и коммерческих расширений позволяют адаптировать систему под любые задачи.
- Многоязычность — встроенная поддержка Joomla позволяет создавать сайты на десятках языков без установки дополнительных модулей.
- Безопасность — регулярные обновления ядра, наличие системы уведомлений о безопасности и активное сообщество разработчиков.
- Сообщество — Joomla поддерживается некоммерческой организацией Open Source Matters, которая координирует разработку, выпуск релизов и поддержку.
Недостатки
- Сложность для новичков — по сравнению с WordPress, Joomla имеет более крутой порог входа из-за сложной структуры меню и настроек.
- Производительность — на больших проектах с множеством расширений Joomla может быть менее производительной, чем специализированные решения.
- Ограниченная поддержка современных стандартов — некоторые расширения и шаблоны могут быть устаревшими и несовместимыми с последними версиями PHP.
Интересные факты
- Первая версия Joomla 1.0 была выпущена всего через месяц после объявления о форке — 16 сентября 2005 года.
- Название «Joomla» было выбрано в результате голосования среди участников сообщества. Вариант «Joomla» (от суахили «jumla» — «все вместе») победил с большим отрывом.
- Joomla используется правительственными организациями — например, сайт Белого дома США (whitehouse.gov) в 2009–2017 годах работал на Joomla, а также сайты ряда министерств и ведомств в разных странах.
- Крупнейшие сайты на Joomla — портал Linux.com, сайт компании Harvard University, а также множество образовательных и научных проектов.
- Joomla имеет собственную конференцию — Joomla World Conference, которая проводится ежегодно в разных странах мира.
Критика
Основные критические замечания в адрес Joomla касаются:
- Фрагментации сообщества — после выхода Joomla 4 многие разработчики перешли на другие CMS из-за сложности миграции с Joomla 3.
- Сложности обновления — миграция между мажорными версиями (например, с 3 на 4) требует значительных усилий и часто сопровождается потерей совместимости с расширениями.
- Скорости загрузки — на стандартной конфигурации Joomla может быть медленнее, чем WordPress или Drupal, при одинаковых нагрузках.
Источники
- Официальный сайт Joomla: www.joomla.org
- Документация Joomla: docs.joomla.org
- W3Techs — Usage statistics of content management systems (2024)
- Open Source Matters — организация, управляющая проектом Joomla
- История Joomla: Joomla! Community Magazine
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →