در طول سال گذشته گروهی از مشارکت کنندگان وردپرس بوده اند کار کردن ساخت بلوک های تعاملی را برای توسعه دهندگان آسان تر می کند. اینها انواع تجربیاتی هستند که به بازدیدکنندگان اجازه میدهند بدون بارگیری مجدد صفحه، فرم ارسال کنند و بازخورد دریافت کنند، محتوای صفحهبندی شده را بدون تازهسازی بارگیری کنند، و فروشگاههای تجارت الکترونیک را با پاسخهای پویاتر بر اساس تعامل با بازدیدکننده بهبود بخشند.
ماریو سانتوس، مشارکت کننده اصلی که توسط Automattic حمایت می شود، چشم انداز آنچه را که API جدید ارائه می دهد، ارائه می دهد:
“API Interactivity یکی از جالبترین پیشنهادها برای UX و DX frontend وردپرس است که مدتی است دیدهام.”، مشارکت کننده اصلی WordPress، Weston Ruter گفت.
وجود یک استاندارد به این معنی است که توسعه دهندگان وردپرس مجبور نیستند راه حل های خود را برای مواردی مانند ابزارسازی، ارتباطات بین بلوکی و عملکرد ظاهری ارائه دهند. آنها مسئول اصلی منطق بلوک هستند و ایجاد بلوک های تعاملی را برای توسعه دهندگان با تجربه کمتر آسان تر و قابل دسترس تر می کند.
مشارکت کنندگان در پروژه انتخاب شده اند پیش بینی کنید برای ساختن سیستم دستورات به دلیل سازگاری با HTML، اندازه کوچک، عملکرد، توسعه پذیری و سازگاری با React.
واکنشهای اولیه به API پیشنهادی عمدتاً مثبت بوده است، زیرا توسعهدهندگان قبلاً مجبور بودند راهحلهای خود را برای تعامل در غیاب استاندارد بسازند.
سانتوس گفت: «این API برای دنیای بلوکها طراحی شده است و تاریخچه وردپرس در پیوند نزدیک به استانداردهای وب را در دل میگیرد.
یکی دیگر از توسعهدهندگان (@r1ckd33zy) «بهعنوان کسی که تجربه زیادی با استفاده از AlpineJS، HTMX، Unpoly، StimulusJS و غیره برای تعامل در فرانتاند داشتهاند، داشتن یک راهحل پربرکت در هسته WP بسیار مورد استقبال قرار میگیرد.» نظر داد.
به نظر میرسید که دیوید لوین، توسعهدهنده وردپرس و مشارکتکننده WPGraphQL، در مورد رویکردی که در پیشنهاد ذکر شده است، کمتر مشتاق است. لوین گفت: “ایده عالی اما اجرای کوته بینانه.” ما به یک لایه داده بلوک واقعی نیاز داریم، نه اینکه نشانه گذاری خود را برای تجزیه اسکریپت هایمان بیشتر آلوده کنیم. این فقط همان مشکلاتی را تشدید میکند که ما را به این آشفتگی کشاند.»
این پیشنهاد شامل نمونه هایی از نحوه ایجاد بلوک های تعاملی با استفاده از API است و توسعه دهندگان بحثی پر جنب و جوش در مورد این رویکرد باز کرده اند. مشارکت کنندگان در Interactivity API قصد دارند دو جلسه را در 17 آوریل 2023 میزبانی کنند (یکی در ساعت 08:00 UTC و دیگری در ساعت 17:00 UTC) که شامل یک نسخه نمایشی محصول زنده و به دنبال آن پرسش و پاسخ خواهد بود. برای جزئیات بیشتر، پیشنهاد را بررسی کنید مخزن GitHub API تعاملی برای دیدن آزمایش هایی که تیم تاکنون روی آنها کار کرده است.
دسته بندی: اخبار، وردپرس
منبع: https://wptavern.com/wordpress-contributors-propose-new-interactivity-api-for-frontend-blocksچند نفر دیگر در نظرات پست از این رویکرد انتقاد کرده اند و دیگران در مورد چالش های طولانی مدت حفظ این رویکرد سؤالاتی دارند.
سانتوس یک ویدئوی نمایشی منتشر کرد که همراه با الف نسخه ی نمایشی تعاملی زنده جایی که بازدیدکنندگان میتوانند فیلمهای مورد علاقه خود را داشته باشند و تعداد مورد علاقهها را فوراً در بلوک در هدر بهروزرسانی کنند. صفحه بندی و جستجو محتوا را بدون رفرش کردن صفحه به روز می کند. کد نسخه ی نمایشی است در GitHub موجود است.
چه میشد اگر ایجاد تعاملی کاربردی، روان و اصطلاحی در سایتهای وردپرس مبتنی بر بلوک ممکن بود؟ تصور کنید افزونههایی تعاملاتی مانند «قلب این پست» یا «افزودن به سبد خرید» را بدون بارگیری مجدد صفحه ارائه میدهند. جستجوی فوری، کامنتگذاری و انتقالهای تمام صفحه بومی را بهعنوان بهترین توکار در کلاس بدون داربست پیچیده یا ابزارهای خارجی تصویر کنید. دستیابی به این هدف را در هر تم بلوکی به طور پیش فرض بدون قربانی کردن رندر سرور PHP و اکوسیستم پلاگین برای زمان اجرا JS تصور کنید. توسعه دهندگان بلوک را تجسم کنید که به راحتی چنین رفتارهایی را به گونه ای که بلافاصله با اکوسیستم بلوک آشنا و سازگار باشد، اعلام و گسترش دهند.
جو هویل، یکی از همکاران اصلی وردپرس، گفت: «این یک روش کاملاً بیرونی است که با هر چیزی که قبلاً دیدهام کاملاً متفاوت است. “این به من احتیاط می کند، زیرا بسیار خاص wp / محور است. من فکر میکنم با ویرایشگر بلوک، فرصتی برای هماهنگی بیشتر با نوآوریهای صنعت پیرامون ابزارهای جلویی وجود دارد. من فکر می کنم واقعاً کار عالی و بسیار خلاقانه است. اما باز هم من هنوز مطمئن نیستم که مسیر درستی است. ممکن است راه حل بلندمدتی برای آوردن یک «nextjs» به وردپرس وجود نداشته باشد، اما مطمئن نیستم که به آن نگاه می کنم.
سانتوس گفت: “اگرچه اکنون به عنوان یک افزونه توزیع شده است، اما قصد دارد به عنوان یک ویژگی آزمایشی به گوتنبرگ اضافه شود.” “هدف این است که زمانی که بازخورد کافی جمع آوری شد، آن را در Core گنجانید، و واضح است که مسیر درستی است.”
همانطور که دستورالعمل ها به HTML اضافه می شوند، با بلوک های پویا و PHP عالی کار می کنند.
Interactivity API در حال حاضر در مرحله جمع آوری بازخورد برای گنجاندن در توسعه و همچنین گسترش اسناد فنی است.
Interactivity API برای استفاده در وبسایتهای مبتنی بر بلوک ایجاد شده است، اما مشارکتکنندگان ممکن است امکان استفاده مجدد از برخی دستورالعملهای آن را در ویرایشگر نیز بررسی کنند. آنها رویکردی مشابه دارند Alpine.js با «دستورالعملهایی» که HTML را با ویژگیهای خاص گسترش میدهند، به جز طراحی خاص برای وردپرس و سازگار با APIهای آن.
یک جدید پیشنهاد برای Interactivity API هدف آن ارائه یک روش استاندارد برای توسعه دهندگان است تا تعاملی را به صفحه اصلی اضافه کنند و ساخت این تجربیات را بدون اختراع مجدد هر بار سریعتر کند.