Різниця між joomla framework і joomla platfrom

Різниця між joomla framework і joomla platfrom

Joomla Framework (Фреймворк) - це свого роду наступне покоління Joomla Platform (Платформа). Основною його відмінністю є підтримка простору імен і можливість установки за допомогою Composer (у вигляді окремих пакетів).

Трохи історії

Давайте подивимося, як розвивалися події, які привели до появи Joomla Framework. Ось кілька ключових тем з Google групи Joomla! Platform Development:

Наступне покоління

З історії видно, що в Платформі назрівали великі зміни. Але ці зміни були несумісні з CMS і існуючої Платформою. Впровадження цих змін прив'язав би CMS до поточної версії Платформи 12.3 без можливості використання нових версій. Було прийнято рішення розділити Платформу, в результаті виникла «нова Платформа» або Joomla Framework.

Joomla Framework - це можливість для подальшого розвитку. Він може бути використаний не тільки CMS і тими, хто пише програми на Joomla Platform, але і більш широким PHP спільнотою. Це відхід від своєрідного моноліту. Фреймворк, який побудований на компонентах (окремих пакетах) дозволяє користувачам легко додавати і тестувати, а також інтегрувати код.

Чи означає це, що Платформа буде поглинена CMS?

Можна сказати що так. Вся робота, яка була зроблена на сьогоднішній день (виключаючи простір імен), може бути поглинена CMS. І це добре для CMS, так як більше не доведеться виправляти помилки в двох місцях, так як зараз CMS змушена виправляти баги як в своєму репозиторії, так і в репозиторії Платформи. Іншими словами CMS буде підтримувати свою копію Платформи. Розробники, які працюють над CMS будуть продовжувати свою роботу над CMS. В майбутньому CMS може оновити свій код, включивши в нього необхідні їй частини фреймворка, і з легкістю синхронізувати їх між версіями CMS.

Чи потрібно буде переписувати розширення для наступної версії CMS?

Ні, тому що поява фреймворками не дозволить такому статися. Так, CMS може взяти на себе сміливість і впровадити окремі частини фреймворка, але, швидше за все, зробить це без проблем сумісності з існуючими розширеннями.

Однак важливо відзначити, що Joomla Framework НЕ буде сумісний з Joomla Platform. Зараз йде чистка всього застарілого коду, а також видалення залишився CMS коду і слабо підтримуваних пакетів. Це правильна стратегія, так як перехід на простір імен і Composer в будь-якому випадку означає те, що доведеться починати з нуля.

В якій версії CMS ми побачимо Фреймворк?

Поки в жодній. CMS візьме всі напрацювання з поточної Joomla Platform і найімовірніше Платформа більше не буде підтримуватися як окрема сутність. Вся нова робота буде відбуватися всередині CMS. Але це не означає, що CMS не зможе використовувати Фреймворк. Просто на даний момент її архітектура не дозволяє цього зробити.

А ось як бачить майбутнє CMS один з головних учасників спільноти Joomla! - Michael Babker. Повністю його пост ви можете прочитати в статті «Joomla! 4.0 or Next, Joomla! Platform or Framework, WTF is going on !? », А я лише наведу його основну думку:

Навіщо міняти ім'я та створювати інший репозиторій, якщо такий вже є для Платформи?

Крім того, кожен пакет був розбитий на свій репозиторій для можливості установки через Composer. Наприклад, хтось, програмуючи на Laravel, може використовувати JGithub. На даний момент таке неможливо здійснити з Платформою, але зате таке можливе з фреймворками.

Значить можна використовувати Composer і Packagist з фреймворками?

Composer і його компаньйон Packagist. стали стандартом де-факто для інтеграції PHP бібліотек в додатки. Joomla Framework повинен підлаштується під цю парадигму і дозволити користувачам, які пишуть програми Joomla, полегшити задачу використання інших бібліотек, які доступні через Composer.

Де можна знайти Joomla Framework?