Прошедший на этих выходных (13 февраля) JoomlaDay UK выдался на редкость интересным, так как несколько сессий были посвящены ближайшему будущему Joomla. Были раскрыты детали новинок, которые войдут в Joomla! 3.6, а также некоторые детали о Joomla! 4.
Chris Davenport (член PLT, член J!4 Architecture Team, релиз менеджер Joomla! 3.6) представил сессию о ближайшем будущем Joomla. Наконец-то у нас есть видение на 2016 год. Смотрим видео, а ниже я вкратце изложу самые интересные моменты.
Цели Joomla! 3.6
Joomla! 3.6 Beta 1 запланирована на 30 апреля 2016 года, а релиз стабильной версии на 31 июня 2016 года.
Основные цели Joomla! 3.6:
- Hypermedia API (Web Services);
- удаление ненужных демо-данных;
- новый MVC;
- упрощение работы с многоязычностью.
Другие цели Joomla! 3.6:
- улучшение SEO;
- новый шаблон панели управления с минимальными настройками;
- новый роутер (был целью Joomla! 3.5);
- новый медиа-менеджер (был целью Joomla! 3.7);
- кастомные поля.
Hypermedia API (Web Services)
Для чего хороши веб-сервисы: AJAX, мобильные приложения, CLI (командная строка), интеграция, Open Data.
Hypermedia API будет добавлено в виде отдельного приложения и оно не будет использовать нативный роутер Joomla. В качестве рендерера контента на первом этапе будет добавлена поддержка HAL. Приложение будет интегрироваться с Joomla 3 Legacy MVC, Joomla 3 и Joomla 4 Service Layer, а также возможно с Joomla! 2.5 Leagcy MVC.
Новый MVC
Здесь не всё так радужно. George Wilson (член PLT) в своей сессии отметил, что на данный момент новый MVC – это в принципе чистая книга. Да, была попытка – это com_config, в котором использовался подход single task controller (на каждую задачу свой файл контроллера), но, судя по его рассуждениям, это не совсем то, что хотелось бы иметь в Joomla.
Итог его сессии такой – если вы хотите создать не очень сложный компонент, то используйте FOF2/FOF3. Если вы хотите создать какой-то массовый продукт, то лучше использовать Legacy MVC, так как он знаком многим пользователям и разработчиками. Если же у вас что-то очень кастомное, то используйте “новый” MVC– Joomla! Framework имеет набор базовых классов, которые можно взять за основу.
По сути пока неясно, что нас ждёт в этом области. Но сложилось впечатление, что никаких изменений не будет. Кстати, ранее George показывал видение нового MVC на конференции JandBeyond 2015.
Некоторые детали о Joomla! 4
Основная проблема заключается в балансе между стабильность и инновациями. Но время идёт и разрыв между Joomla! 3 и Joomla! 4 будет только возрастать, поэтому планируется в каждый минорный релиз Joomla! 3 интегрировать фичи, которые позволят смягчить процесс миграции на Joomla! 4. Допускать ошибку, допущенную при переходе с Jooma! 1.5 на Joomla! 2.5 больше никто не хочет.
Одной из таких фич будет Service Layer. Какую проблему должен решить Service Layer? Его основной задачей будет предоставление API, который позволит стандартизировать вызовы моделей компонентов. Для этого будет разбита триада MVC:
Важно то, что это будет опциональная фича. Исходный код текущего Service Layer доступен на GitHub.
Кастомные поля
Marco Dings (член PLT, J!4 Project Manager) представил сессию о кастомных полях в Joomla, которые будут называться JFields. По плану они должны быть интегрированы уже в Joomla! 3.6. Почему интегрированы? Потому, что JFields будут основаны на расширении DPFields, автором которого является Alon Moritz (член J!4 Architecture Team). Уже сейчас вы можете скачать DPFields и посмотреть, как возможно будет выглядеть реализация кастомных полей в Joomla.
Похоже на то, что нас ждёт интересный год. В отличие от Joomla! 3.5 мы увидим реально полезные фичи как для пользователей, так и для разработчичков. Но успеют ли всё сделать? Вот в чём вопрос.