Нова пропозиція закликає учасників припинити злиття експериментальних API від Gutenberg до ядра WordPress – WP Tavern

Нова пропозиція закликає учасників припинити злиття експериментальних API від Gutenberg до ядра WordPress – WP Tavern

ви можете скористатись послугами веб-студії філандор, Замовити Сайт тут. Студія не перший рік надає послуги.

Практика об’єднання експериментальних API від Gutenberg у ядро ​​WordPress незабаром може закінчитися. Нова пропозиція, опублікована спонсором Automattic Адамом Зелінскі, закликає учасників стабілізувати API перед об’єднанням їх у ядро.

Протягом багатьох років приблизно 280 експериментальних API було об’єднано з плагіном Gutenberg, який Зелінскі перевірив у заявці, яку він відкрив для випуску в квітні. Врівноважуючи прагнення швидко рухатися з ітераціями редактора(ів) і прихильність WordPress до зворотної сумісності, кількість експериментальних API стала неприйнятною, і практика їх об’єднання в ядро ​​зараз активно переглядається.

Офіційно експериментальні API позначені як такі, щоб запобігти використанню третіми сторонами, оскільки очікується, що вони зміняться. На практиці люди, які розробляють редактор блоків, все одно використовують їх, тому що вони є основними, і вони хочуть розширити функції, які надають ці API.

«Автори плагінів і тем змушені покладатися на __experimental функції, які можуть бути видалені або змінені зворотно несумісним способом у будь-який час», — сказав Зелінскі, повторюючи розчарування та занепокоєння багатьох розробників щодо проекту протягом останніх кількох років. «Це серйозне обслуговування. Кожен новий випуск Gutenberg/WordPress означає потенційно кардинальні зміни».

Основний комітент WordPress Пітер Вілсон прокоментував заявку, сказавши, що він підтримує обмеження експериментальних API лише передовими продуктами. Підкреслюючи необхідність цих змін, він назвав низку негативних впливів, які ці основні експериментальні API мали на екосистему:

  • основні комітери не бажають використовувати певні функції бібліотеки для полегшення основних завдань, оскільки вони не довіряють надійності
  • розробники більше не оновлюють клієнтські сайти WP. Як основного комітера, який роками прагнув підтримувати зворотну сумісність, це мене розчаровує. Як члена служби безпеки, це дуже хвилює
  • розробники, які вирішили включити копії пакетів у теми та плагіни, а не покладатися на wp.* глобальні. Знову ж таки, це мене турбує з точки зору безпеки, але це також збільшує корисне навантаження JavaScript значно більше, ніж підтримка зворотної сумісності
  • звіти про порушення зворотної сумісності в проміжних версіях: «ви не очікуєте, що випуск 5.9.1 порушить реакцію купи зображень на наших сайтах поза редактором блоків»
  • розробники розглядають можливість ніколи не використовувати базові блоки, оскільки вони надто нестабільні: «Я перестав використовувати/розширювати основні блоки, оскільки вони надто сильно змінювалися, і я використовую блоки ACF, щоб принаймні я знав, що можу створювати блоки, які не будуть перерву. Звісно, ​​інтерфейс користувача не такий хороший, як основні блоки, але я візьму на себе стабільність, якщо блоки зламаються будь-коли».

Плагін Gutenberg мав працювати як плагін функцій, де очікуються перерви у зворотній сумісності, поки учасники вдосконалюють функції перед об’єднанням їх у ядро. У центрі цієї пропозиції — повернення до витоків цього підходу та зменшення експериментального редактора.

«Нестабільність між версіями вже починає відштовхувати деяких із найбільших зовнішніх прихильників блок-редакторів», — сказав Вілсон.

Підтримання такого рівня нестабільності може відштовхнути людей від розробки на WordPress, відштовхнувши їх до інших більш простих проектів, які керуються іншим способом. Цілком можливо, що необхідність покладатися на експериментальні API відлякує розробників від створення нових продуктів, уповільнюючи впровадження редактора блоків.

«Як автор плагіна, який зараз використовує багато __experimental API, я хотів би, щоб вони були стабілізовані», – сказав Нік Дієго, спонсорований WP Engine. «Більшість із них забезпечують важливу функціональність, але створюють продукт, який спирається на __experimental API завжди трохи бентежить. За умови, що процес є надзвичайно прозорим, добре розголошується, і ми надаємо авторам плагінів/тем посібник щодо переходу на стабільні версії, тоді мені подобається ця ініціатива».

Після кількох місяців обговорення квитка Зелінскі виклав занепокоєння учасників у план дій, запропонований у блозі Make WordPress Core.

Пропозиція вказує на те, що більшість існуючих експериментальних API, уже об’єднаних у ядро, отримають стабільний псевдонім.

«Це збереже зворотну сумісність і не повинно помітно вплинути на розмір комплекту», — сказав Зелінскі. «Деяким знадобиться інше лікування; давайте обговоримо це в кожному конкретному випадку». Він також рекомендував учасникам подумати про те, чи потрібно видалити існуючий експериментальний API, який уже є ядром. Він не очікує багатьох випадків цього, але рекомендує використовувати усталену практику зв’язку з авторами плагінів, використання м’яких застарілих і публікації основних публікацій.

«Я також бачу тут дві речі: використання та зловживання експериментальними API під час розробки API (як правило, для використання та тестування в плагіні Gutenberg) і відсутність ретельного процесу їх стабілізації, коли вони задовольняють критеріям дизайну», Провідний архітектор Gutenberg Матіас Вентура прокоментував оригінальний квиток. «Ті, які мають бути розглянуті де факто загальнодоступними є ті, які існували протягом багатьох випусків у стабільній формі, незважаючи на їх номенклатуру».

В інтересах збереження здатності WordPress виконувати свої обіцянки щодо зворотної сумісності, пропозиція рекомендує обмежити експериментальні API плагіном Gutenberg і ніколи не об’єднувати їх із ядром. У випадках, коли стабільна функція залежить від експериментального API, Зелінскі визначив просту відповідь:

«Тоді він насправді не стабільний. Давайте спочатку стабілізуємо залежності».

По суті, це новий спосіб просування вперед, який має підвищити стабільність і довіру до API та оновлень WordPress, але він має кілька недоліків.

Користувачі та учасники можуть очікувати, що функції Gutenberg можуть повільніше об’єднуватися в ядро, оскільки вони не можуть покладатися на експериментальні API, коли вони потраплять у найкращий час у основних випусках. Зелінскі також зазначив, що учасники також можуть мати труднощі з рефакторингом цих API після того, як вони будуть доставлені та почнуть використовуватися на мільйонах сайтів WordPress.

Наразі ця пропозиція отримала переважно позитивну підтримку, оскільки багато хто вважає, що ці API ніколи не повинні були досягати ядра, поки вони ще були на експериментальній стадії.

«Я дуже підтримую цей підхід», — сказав розробник WordPress Марк Рут-Вайлі. «Я створюю спеціальні теми та маю кілька простих плагінів. Для обох я часто відчуваю, що змушений мати справу з експериментальними API та труднощами, пов’язаними з ними, коли в ядро ​​закладено функції, які можна вимкнути, налаштувати чи розширити лише за допомогою експериментального API».

«Повернення до такого роду стабільності в ядрі значною мірою сприяло б відновленню доброї волі розробників», — прокоментував пропозицію учасник WordPress Довід Левін.

Кінцевий термін для коментарів щодо пропозиції – 7 вересня, що завершить обговорення лише за три тижні до очікуваного випуску WordPress 6.1 Beta 1. Це дає учасникам деякий час для більш глибокого аудиту експериментальних API перед наступним великим випуском, якщо вони досягнуть консенсусу щодо обмеження їх плагіном Gutenberg.

Джерело: https://wptavern.com/new-proposal-calls-for-contributors-to-stop-merging-experimental-apis-from-gutenberg-to-wordpress-core

Related posts