Joomla! 5.0 выйдет через год?

Производственный отдел Joomla делится своими мыслями, идеями, проблемами и планами в отношении Joomla! 5.0

С какими проблемами мы сталкиваемся?

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

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

С другой стороны, более быстрые технологические обновления создают проблемы для разработчиков расширений и шаблонов. Мы прекрасно понимаем, что иногда сложно быть в курсе изменений в архитектуре Joomla, это требует регулярного рефакторинга кода для избавления от устаревших функций и классов.

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

Некоторые изменения также кажутся немного сомнительными на первый взгляд. Например, почему большинство классов Joomla\Cms\Factory устарели и должны ли они быть удалены с Joomla 5? Это работало как шарм в течение 11 лет; почему это должно стать плохой практикой сейчас?

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

Хорошие новости

Прежде чем мы начнем говорить о будущем, давайте оглянемся на то, что мы имеем с Joomla 4. После почти семи долгих лет разработки мы, наконец, выпустили новую основную версию Joomla!. И Joomla 4 — действительно отличное программное обеспечение. Создание компонента способом Joomla 4 требует гораздо меньше кода по сравнению с Joomla 3. Безопасность была повышена за счет многих изменений, включая подготовленные операторы для защиты от SQL-инъекций.

Доступность выросла как на дрожжах, а классные функции постоянно растут, рабочие процессы, планировщик, дочерние шаблоны и список растет.

Мы также находимся в гораздо лучшем состоянии с точки зрения сообщества, и многие люди заполняют пустые места. Команды растут, и на GitHub, а также на каналах сообщества наблюдается положительная динамика. Всегда есть вещи, которые мы могли бы сделать лучше, но это не из-за отсутствия попыток, и снижение нашей доли рынка замедлилось, остановилось и на момент написания показывает очень небольшой рост на графике W3Tech, а другие источники показали более выраженный рост.

У нас есть четкая стратегия достижения успеха, нам просто нужно опираться на нее. 

Какие планы на 5.0?

Наиболее важной «фичей» Joomla 5.0 является удаление устаревшего кода. Это делает Joomla ориентированной на будущее. Мы значительно сократим усилия по обслуживанию, объединив различные области кода. Кроме того, в будущем написание тестов станет намного проще и надежнее.

Мы хотим иметь структуру кода, которая дает нам возможность поддерживать сторонних разработчиков, повышая качество и безопасность их кода. Представьте себе, что ваш код автоматически тестируется только потому, что вы следуете основному стандарту Joomla; это видение будущего. Самое главное, мы знаем о проблеме устаревших методов Joomla\Cms\Factory, которые широко используются во всей экосистеме. В настоящее время мы работаем над тем, чтобы у нас было решение, поэтому расширения, использующие это, не будут непригодными для использования в Joomla 5.0.

В Joomla 5.0 мы увеличим минимальную версию PHP до 8.1. Это изменение принесет нам много преимуществ и поможет нам оставаться конкурентоспособными на рынке. 

PHP 8.1 приносит огромное улучшение производительности для Joomla. Побочный эффект заключается в том, что мы используем более новую версию PHP, срок службы которой не скоро прекратится. Это позволяет нам сделать следующие шаги в более поздних версиях Joomla, например, использовать волокна, циклы событий и другие функции, повышающие производительность.

Мы хотим внести некоторые функциональные преимущества. Для Joomla 4 мы запланировали многодоменную функциональность, но после оценки полных требований мы решили перенести эту функцию в более позднюю версию, поскольку в центре внимания оказались другие идеи, и мы не хотели торопиться, поскольку она должна работать хорошо. Теперь, с Joomla 5.0, время может быть правильным, и код достаточно зрелый, чтобы включить эту функцию в ядро.

Мы также активно обсуждаем будущее редактирования контента. Блочные редакторы, такие как Gutenberg, — это новый способ редактирования контента. Мы хотим прощупать почву и посмотреть, подходит ли она для Joomla. Это зависит, конечно, от количества волонтеров, которые готовы нам помочь.

Все, что так или иначе связано с CSS/шаблоном, планируется перенести из основных макетов в Cassiopeia. Cassiopeia (или, возможно, новый шаблон) служит родительским шаблоном на основе Bootstrap, а затем может быть настроен с помощью дочерних шаблонов. Это позволяет создавать дополнительные родительские шаблоны на основе других фреймворков, таких как Tailwind или UIKit. Мы хотели бы интегрировать такой альтернативный шаблон в Joomla 5, если кто-то сможет его реализовать.

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

Это включает в себя разделение драйверов баз данных для MySQL и MariaDB, которые становятся все более и более расходящимися. Отдельные драйверы позволяют нам наилучшим образом поддерживать соответствующие системы управления базами данных (СУБД). Кроме того, мы хотим реализовать соединения с базой данных предпочтительно через сокеты, что дает увеличение скорости.

Так называемые общие табличные выражения — функция, предлагаемая теперь всеми базами данных, поддерживаемыми Joomla — позволяют нам сделать права доступа, категории и меню более производительными, потому что мы можем обойтись без сложной реализации вложенных наборов. Доступ для чтения при этом не ускоряется, но мы ожидаем значительного улучшения доступа для записи.

Каковы следующие шаги?

В настоящее время мы работаем над двумя основными вещами: документацией для разработчиков и оценкой всех устаревших классов и функций в Joomla CMS. Итак, с выпуском Joomla 4.3 мы хотим пересмотреть весь устаревший код в Joomla. Этот обзор приведет к одному из двух:

  • Либо отмену удаляют, либо
  • Описание и полные примеры кода предоставляются в качестве комментария к коду о том, как перенести использование этого кода.

Кроме того, должна быть готова полная документация по миграции для разработчиков, объясняющая, как можно перенести расширение Joomla 3 и сделать его полностью совместимым с Joomla 4, а затем совместимым с Joomla 5.

Мы планируем отказаться от использования всего устаревшего кода в CMS Joomla в выпуске 4.4. Таким образом, Joomla CMS можно рассматривать как лучший способ написания кода.

И последнее, но не менее важное: мы планируем создать для выпуска Joomla 5.0 RC1 полный набор правил ректора для поддержки автоматического переписывания устаревшего кода. Для этого мы не будем вручную корректировать места, где устаревший код все еще используется в CMS, а напишем соответствующие правила Rector для внесения изменений. Затем эти правила доступны разработчикам расширений для адаптации своих компонентов, модулей и плагинов к Joomla 5 одним вызовом из командной строки, включая автоматический рефакторинг для устаревших Joomla\Cms\Factory. Мы надеемся улучшить средство проверки JED таким образом, чтобы оно могло давать обратную связь об устаревшем коде в сторонних расширениях.

Между тем, мы находимся в режиме полной разработки новых функций, таких как многодоменность. Если вы считаете, что можете внести ценную функцию, не стесняйтесь обращаться к нам по обычным каналам, и мы посмотрим, можно ли интегрировать ее на благо всех.

Чтобы ответить на вопрос, заданный в начале: мы очень уверены в своевременной подготовке 5.0 со многими важными изменениями для будущего Joomla, но мы зависим от ВАС. Нам нужны ваши навыки программирования, навыки тестирования, писательское и графическое мастерство, а также любая помощь, которую вы можете предложить. Тогда мы все получим прекрасную Joomla 5.0!

Релизы Joomla

Корзина
//
Корзина пуста
0
//

The Joomla!® name is used under a limited license from Open Source Matters in the United States and other countries. joomstudio.ru is not affiliated with or endorsed by Open Source Matters or the Joomla! Project.