پیشنهاد جدید از مشارکت کنندگان برای توقف ادغام API های آزمایشی از گوتنبرگ به هسته وردپرس – WP Tavern دعوت می کند


عمل ادغام APIهای آزمایشی از گوتنبرگ در هسته وردپرس ممکن است به زودی به پایان برسد. یک جدید پیشنهادکه توسط آدام زیلینسکی، مشارکت‌کننده با حمایت Automattic منتشر شده است، از مشارکت‌کنندگان می‌خواهد تا APIها را قبل از ادغام آنها در هسته، تثبیت کنند.

در طول سال‌ها، تقریباً 280 API آزمایشی از افزونه گوتنبرگ ادغام شده‌اند که زیلینسکی آن را در یک حسابرسی بررسی کرده است. بلیط او در ماه آوریل این موضوع را باز کرد. در ایجاد توازن درایو برای حرکت سریع با تکرار بر روی ویرایشگر(ها) در مقابل تعهد وردپرس به سازگاری با عقب، تعداد APIهای آزمایشی غیرقابل دفاع شده است و تمرین ادغام آنها در هسته اکنون به طور فعال در حال بررسی مجدد است.

به طور رسمی، APIهای آزمایشی برای جلوگیری از استفاده شخص ثالث پرچم گذاری می شوند، زیرا انتظار می رود تغییر کنند. در عمل، افرادی که برای ویرایشگر بلوک می‌سازند، به هر حال از آن‌ها استفاده می‌کنند، زیرا آنها در هسته هستند و می‌خواهند ویژگی‌هایی را که این APIها فعال می‌کنند گسترش دهند.

«نویسندگان پلاگین و مضمون مجبورند به آن تکیه کنند __experimental ویژگی‌هایی که می‌توانند در هر زمانی حذف شوند یا به روشی ناسازگار با عقب تغییر کنند. “این یک بار تعمیر و نگهداری جدی است. هر انتشار جدید گوتنبرگ/وردپرس به معنای شکستن تغییرات بالقوه است.

پیتر ویلسون، متولی اصلی وردپرس، در مورد این بلیط اظهار نظر کرد و گفت که طرفدار محدود کردن APIهای آزمایشی به محصولات لبه خونریزی است. رانندگی به خانه نیاز به این تغییر، او اشاره شده مجموعه ای از تأثیرات منفی که این APIهای آزمایشی اصلی روی اکوسیستم داشته اند:

  • متعهدهای اصلی تمایلی به استفاده از برخی ویژگی‌های کتابخانه برای آسان‌تر کردن وظایف اصلی ندارند، زیرا به قابلیت اطمینان اعتماد ندارند.
  • توسعه دهندگان دیگر سایت های سرویس گیرنده WP را ارتقا نمی دهند. به‌عنوان یک مرتکب اصلی که سال‌ها برای حفظ سازگاری با گذشته تلاش کرده است، این من را ناامید می‌کند. به عنوان یک عضو تیم امنیتی بسیار نگران کننده است
  • توسعه دهندگان تصمیم می گیرند به جای اتکا به آن، کپی هایی از بسته ها را در قالب ها و افزونه ها قرار دهند wp.* جهانی ها باز هم این موضوع از منظر امنیتی به من مربوط می شود، اما همچنین بار جاوا اسکریپت را به طور قابل توجهی بیشتر از حفظ سازگاری با عقب افزایش می دهد.
  • گزارش‌های مربوط به شکست‌های سازگاری با نسخه‌های کوچک: “شما انتظار ندارید نسخه 5.9.1 پاسخگویی تعدادی از تصاویر را در سایت‌های ما خارج از ویرایشگر بلوک شکست دهد”
  • توسعه دهندگان به این فکر نمی کنند که هرگز از بلوک های اصلی استفاده نکنند زیرا آنها بیش از حد ناپایدار هستند: “من استفاده/توسعه بلوک های اصلی را متوقف کردم زیرا آنها بسیار تغییر می کردند و من از بلوک های ACF استفاده می کردم تا حداقل بدانم که می توانم بلوک هایی بسازم که این کار را انجام ندهند. زنگ تفريح. مسلماً رابط کاربری به خوبی بلوک‌های اصلی نیست، اما هر زمان که بخواهید، ثبات را نسبت به بلوک‌های شکسته می‌کنم.»

پلاگین گوتنبرگ قرار بود به عنوان یک افزونه ویژگی عمل کند که در آن انتظار می‌رود در سازگاری با عقب شکسته شود در حالی که مشارکت‌کنندگان ویژگی‌ها را قبل از ادغام آنها در هسته بررسی می‌کنند. بازگشت به ریشه‌های این رویکرد، و کمتر آزمایشی کردن ویرایشگر، در مرکز این پیشنهاد قرار دارد.

ویلسون گفت: “بی ثباتی بین نسخه ها در حال حاضر شروع به بیگانه کردن برخی از بزرگترین مدافعان خارجی ویرایشگرهای بلوک کرده است.”

حفظ این سطح از بی ثباتی می تواند افراد را از ایجاد وردپرس منصرف کند و آنها را به سمت پروژه های ساده تر دیگری که به روشی متفاوت مدیریت می شوند سوق دهد. این امکان وجود دارد که نیاز به تکیه بر APIهای آزمایشی، توسعه‌دهندگان را از ساخت محصولات بیشتر منصرف کرده باشد و پذیرش ویرایشگر بلوک را کند کند.

به عنوان یک نویسنده افزونه که در حال حاضر از آن استفاده می کنید زیاد __experimental نیک دیگو، مشارکت کنندگان تحت حمایت WP Engine، گفت: API ها، من دوست دارم این API ها را تثبیت کنند. «بیشتر کارکردهای حیاتی را ارائه می‌کنند، اما محصولی را می‌سازند که به یک محصول متکی است __experimental API همیشه کمی نگران کننده است. تا زمانی که فرآیند بسیار شفاف باشد، به خوبی تبلیغ شود، و ما به نویسندگان افزونه/موضوع راهنمای نحوه مهاجرت به نسخه‌های پایدار ارائه می‌دهیم، پس من این ابتکار را دوست دارم.»

پس از ماه‌ها بحث در مورد بلیت، زیلینسکی نگرانی‌های مشارکت‌کنندگان را در طرح اقدام پیشنهادی در وبلاگ ساخت وردپرس اصلی بیان کرد.

این پیشنهاد نشان می‌دهد که بیشتر APIهای آزمایشی موجود که قبلاً در هسته ادغام شده‌اند، یک نام مستعار پایدار خواهند داشت.

Zielinski گفت: “این سازگاری با عقب را حفظ می کند و نباید به طور قابل توجهی بر اندازه بسته نرم افزاری تاثیر بگذارد.” برخی به درمان متفاوتی نیاز دارند. بیایید مورد به مورد در مورد آن بحث کنیم.» او همچنین به مشارکت کنندگان توصیه کرد که در نظر بگیرند که آیا یک API آزمایشی موجود در حال حاضر در هسته باید حذف شود یا خیر. او موارد زیادی از این را پیش‌بینی نمی‌کند، اما توصیه می‌کند از روش‌های برقرار شده تماس با نویسندگان افزونه، استفاده از حذف نرم‌افزارها و انتشار پست‌های اصلی استفاده کنند.

من همچنین دو چیز را در اینجا می بینم: استفاده و سوء استفاده از APIهای آزمایشی در طول طراحی API (که عموماً در پلاگین گوتنبرگ مورد استفاده و آزمایش قرار می گیرند) و عدم وجود یک فرآیند سختگیرانه برای تثبیت آنها در زمانی که معیارهای طراحی را برآورده می کنند. معمار اصلی گوتنبرگ ماتیاس ونتورا نظر داد روی بلیط اصلی «آنهایی که باید در نظر گرفته شوند در حقیقت عمومی آنهایی هستند که برای بسیاری از نسخه‌ها به‌رغم نام‌گذاری‌شان به شکل ثابتی وجود داشته‌اند.»

به منظور حفظ توانایی وردپرس در اجرای وعده‌های سازگاری با عقب، این پیشنهاد توصیه می‌کند APIهای آزمایشی به افزونه گوتنبرگ محدود شوند و هرگز در هسته ادغام نشوند. در مواردی که یک ویژگی پایدار به یک API آزمایشی بستگی دارد، Zielinski یک پاسخ ساده را شناسایی کرد:

پس واقعاً پایدار نیست. بیایید ابتدا وابستگی ها را تثبیت کنیم.»

این اساساً یک راه جدید برای حرکت رو به جلو است که باید ثبات و اطمینان را در APIها و به‌روزرسانی‌های وردپرس افزایش دهد، اما دارای چند اشکال است.

کاربران و مشارکت‌کنندگان می‌توانند انتظار داشته باشند که ویژگی‌های گوتنبرگ ممکن است آهسته‌تر در هسته اصلی ادغام شوند، زیرا نمی‌توانند به API‌های آزمایشی اعتماد کنند که در زمان توزیع اولیه در نسخه‌های اصلی منتشر می‌شوند. زیلینسکی همچنین خاطرنشان کرد که مشارکت‌کنندگان ممکن است پس از ارسال و استفاده در میلیون‌ها سایت وردپرس، در بازسازی مجدد این APIها با مشکل مواجه شوند.

تا کنون این پیشنهاد حمایت بسیار مثبتی داشته است، زیرا بسیاری بر این باورند که این API ها در مرحله آزمایشی هرگز نباید از ابتدا به هسته اصلی می رسیدند.

مارک روت وایلی، توسعه‌دهنده وردپرس گفت: «من به شدت طرفدار این رویکرد هستم. من تم های سفارشی می سازم و چند پلاگین ساده دارم. برای هر دو، من تا حدودی مجبور شده‌ام با APIهای آزمایشی و مشکلات به‌روز نگه‌داشتن آن‌ها وقتی ویژگی‌هایی در هسته قرار می‌گیرند که فقط از طریق یک API آزمایشی غیرفعال، تنظیم یا گسترش داده می‌شوند، مواجه شوم.

دووید لوین، یکی از همکاران وردپرس، در مورد این پیشنهاد اظهار داشت: «بازگشت به این نوع ثبات در هسته، راه درازی را برای به دست آوردن مجدد برخی از حسن نیت توسعه‌دهنده کمک خواهد کرد.

آخرین مهلت برای اظهار نظر در مورد پیشنهاد 7 سپتامبر است، که بحث را فقط سه هفته قبل از آن خاتمه می دهد وردپرس 6.1 بتا 1 انتظار می رود. این به مشارکت‌کنندگان زمان می‌دهد تا قبل از انتشار اصلی بعدی، APIهای آزمایشی را عمیق‌تر بررسی کنند، در صورتی که در مورد محدود کردن آنها به افزونه گوتنبرگ به توافق برسند.


منبع: https://wptavern.com/new-proposal-calls-for-contributors-to-stop-merging-experimental-apis-from-gutenberg-to-wordpress-core