Судя по моим предыдущим статьям про Joomla (эта, эта и эта) все на хабре считают команду Joomla велосипедостроителями, и сетуют на то, что уж слишком часто у этой Joomla все ломают и делают все заново.
Но, в ноябре прошлого года произошло нечто особенное.
Но сначала немного истории:
Как все помнят, изначально Joomla была просто CMS (где-то до версии 1.6). Потом разработчики решили выделить из нее фреймворк (который назывался Joomla Platform). Получилось не очень — править баги теперь пришлось в двух репозитариях, договариваться о совместимости между ними, а профита (приложений которые пользователи бы строили на Platform без CMS) как-то не появлялось. Так бы и жил этот странный симбиоз, если бы кто-то не сказал — «Хватит». И было предложено следующее:
- Platform постепенно загнется и будет интегрирован в CMS. Ибо нефиг поддерживать приложение которое все равно нигде кроме CMS никогда не использовалось. Баги будут правиться в одном месте, все счастливы. Веб-разработчики ничего не заметят.
- Вместо Platform будет Framework — очень переписанный и несовместимый с оригинальным Platform продукт. В CMS он использоваться не будет, так как несовместим.
Что же такого будет в новом Joomla Framework?
- Пакетная система. Фреймворк можно устанавливать по частям с помощью PHP Composer
- Поддержка пространств имен
- Пользователь может не загружать некоторые компоненты фреймворка, а может дописывать свои
CMS этот фреймворк использовать НЕ будет. По крайней мере сейчас. Так как полностью несовместима. Вполне возможно, в будущем, разработчики CMS захотят интегрировать в нее какие-то компоненты фреймворка, однако это будет не скоро.
Некоторые более радикальные пользователи предлагают следующее «Если бы я был главным по части разработки, я бы «списал» текущую CMS архитектуру в конце жизни серии 4.x, которая придется на конец 2016 года. В 2014 году, когда выйдет релиз 4.0, я бы выпустил Joomla! Next, которая была бы построена с нуля на Фреймворке. Для того, чтобы поддержать обратную совместимость, я бы использовал 4.x как переходный уровень между двумя приложениями. Цель – расширения должны работать на 3.5 и 4.x или 4.x и Next с небольшими проблемами, но не на 3.5 и Next одновременно. Кроме того я бы приложил все усилия для того, чтобы сохранить существующую инфраструктуру расширений на месте, так как это то, на чем Joomla! делает свои деньги.»
Автор: blueboar2