معرفی سث روبنشتاین و چشمانداز وردپرس
در دنیای پرشتاب توسعه وب، وردپرس همواره در حال تکامل است تا نیازهای جدید را برآورده سازد. سث روبنشتاین، مهندس ارشد در مرکز تحقیقات پیو (Pew Research Center) و یکی از مشارکتکنندگان فعال در پروژه گوتنبرگ، نقشی کلیدی در این مسیر ایفا میکند. او تیمی از توسعهدهندگان را رهبری میکند که پلتفرم انتشاراتی مبتنی بر وردپرس را برای سایت خبری سازمان خود مدیریت میکنند. اشتیاق سث به متنباز (Open Source) او را بر آن داشته تا تمامی راهحلهای تیمش را به گونهای طراحی کند که نه تنها نیازهای مرکز پیو را برآورده سازد، بلکه به نفع جامعه گستردهتر وردپرس باشد. او با به اشتراک گذاشتن راهحلها و مشارکت در پروژه گوتنبرگ، همواره این سوال را مطرح میکند که چگونه کار آنها میتواند به اکوسیستم وردپرس کمک کند.
سث در پادکست Jukebox از WP Tavern و همچنین در ارائه خود در WordCamp US 2025 با عنوان «Block Composability: The Past and The Future»، به تفصیل دربارهٔ مفهوم «کامپوزپذیری بلاک» و چگونگی شکلدهی آن به آینده وردپرس صحبت کرده است. او معتقد است که ما به نقطهای رسیدهایم که ویرایشگر بلاک گوتنبرگ، در هر دو حالت ویرایشگر بلاک و ویرایشگر سایت، میتواند برای ساخت برنامههای وب پیشرفته مورد استفاده قرار گیرد. این چشمانداز، وردپرس را از یک سیستم مدیریت محتوای صرف، به یک چارچوب توسعه برنامههای وب مدرن ارتقا میدهد.
کامپوزپذیری بلاک: امکان ساخت برنامههای وب پیشرفته
کامپوزپذیری بلاک در توسعه نرمافزار به معنای قابلیت ایجاد و مونتاژ برنامههای وب با استفاده از کامپوننتهای قابل استفاده مجدد و ماژولار است. به بیان سادهتر، یک واحد خودکفا و ماژولار است که میتواند به تنهایی عمل کند، اما وقتی با سایر واحدها ترکیب میشود، قابلیتهای جدیدی به دست میآورد یا عملکرد خود را تغییر میدهد. سث روبنشتاین اشاره میکند که در ابتدای معرفی گوتنبرگ در سال ۲۰۱۸، بلاکها عمدتاً برای محتوای ایستا مانند پاراگراف و تصویر استفاده میشدند. اما اکنون، با پیشرفتهای اخیر، بلاکها فراتر از نمایش محتوا عمل میکنند و میتوانند با یکدیگر ارتباط برقرار کنند.
به عنوان مثال، در مرکز تحقیقات پیو، ابزار «ساخت آزمون» (Quiz Builder) مثالی بارز از کامپوزپذیری بلاک است. این ابزار به کاربران اجازه میدهد تا صفحات نتایج آزمون را با بلاکها بسازند. اگر یک بلاک خاص برای سیستم امتیازدهی سفارشی به آزمون اضافه شود، بلافاصله عملکرد امتیازدهی را تغییر میدهد و با حذف آن بلاک، عملکرد به حالت عادی باز میگردد. این قابلیت به معنای ساخت برنامههای وب پویا و تعاملی در ویرایشگر بلاک وردپرس است که حتی برای کاربران با دانش فنی کمتر نیز با عملکردهای کشیدن و رها کردن (Drag and Drop) قابل دسترس است.
معرفی APIهای کلیدی: Block Bindings، Block Bits و Interactivity API
سث روبنشتاین سه API اصلی را به عنوان محرکهای اصلی این تغییر و تحول در وردپرس معرفی میکند که قابلیتهای بیسابقهای را برای توسعهدهندگان به ارمغان آوردهاند:
- Block Bindings API: این API به توسعهدهندگان اجازه میدهد تا بلاکهای اصلی (Core Blocks) و سایر بلاکها را به طور مؤثرتری استفاده کنند. به جای ایجاد بلاکهای سفارشی برای هر نیاز جزئی، میتوان ویژگیهای (Attributes) بلاکهای موجود (مانند متن یک پاراگراف یا مقصد یک دکمه) را به صورت برنامهنویسی و پویا به دادههای دیگر متصل کرد. این امر باعث کاهش تعداد بلاکهای مورد نیاز و سادهسازی رابط کاربری برای ویرایشگران میشود.
- Block Bits (در حال توسعه): این مفهوم، گامی فراتر از Block Bindings است و امکان تغییرات پویا را در مقیاس بسیار کوچکتر، حتی در حد یک کلمه یا یک کاراکتر در یک رشته متنی، فراهم میکند. به عنوان مثال، میتوان بخشی از متن را به صورت پویا تغییر داد یا یک شماره ISBN را به یک لینک تعاملی تبدیل کرد. این API پتانسیل بالایی برای قالببندی (Templating) و ساخت بلاکهای کاملاً پاسخگو دارد.
- Interactivity API: این یک چارچوب جاوااسکریپت بومی وردپرس و بر پایه Preact است که قابلیتهای تعاملی را در سطح اتمی به بلاکها اضافه میکند. این API امکان برقراری ارتباط دادهای بین بلاکها را فراهم میکند و میتواند پردازشهای سنگین سمت سرور را به سمت کلاینت (مرورگر کاربر) منتقل کند. این رویکرد به طور چشمگیری عملکرد و تجربه کاربری را بهبود میبخشد. به عنوان مثال، در ابزار ساخت آزمون مرکز پیو، تمامی محاسبات امتیازدهی اکنون به جای سرور، در سمت کلاینت انجام میشود.
وردپرس به عنوان چارچوب برنامه وب: فرصتها و گامهای بعدی
با ترکیب این APIها و سایر ابزارهایی مانند HTML Tag Processor، وردپرس به یک چارچوب قدرتمند برای ساخت برنامههای وب تبدیل میشود. عملکرد (Performance) نیز در این رویکرد به شدت بهبود مییابد؛ برای مثال، Interactivity API امکان «پیشواکشی» (Prefetching) اطلاعات را فراهم میکند، به این معنی که دادههای مورد نیاز قبل از کلیک کاربر بارگذاری و حتی کش (Cache) میشوند. این تکنیک، زمان بارگذاری را به حداقل میرساند و تجربه کاربری را به صورت آنی تغییر میدهد، مانند آنچه در صفحه نتایج پرسوجو یا سیستم صفحهبندی (Pagination) وردپرس قابل مشاهده است.
این قابلیتها، فرصتهای بینظیری را برای توسعهدهندگان افزونهها و سازندگان قالبها ایجاد میکند. سث به تجربه افزونههایی مانند Advanced Custom Fields (ACF) اشاره میکند که چگونه با ارائه یک رابط کاربری ساده، امکانات پیشرفتهای مانند فیلدهای سفارشی را برای کاربران غیرفنی نیز دسترسپذیر کرد. او معتقد است که بازار بزرگی برای توسعه ابزارهای UI وجود دارد که بتوانند استفاده از Interactivity API، Block Bindings و Block Bits را برای کاربران عادی و توسعهدهندگانی که زمان کمتری برای یادگیری APIهای جدید دارند، آسانتر کنند. نمونههایی مانند Remote Data Blocks از Automattic که امکان اتصال به منابع داده خارجی را به صورت بصری فراهم میکند، در حال حاضر نشاندهنده این مسیر هستند.
اما سث یک نکته کلیدی را به عنوان «حلقه مفقوده» برای کامل شدن گوتنبرگ ذکر میکند: «بلاکهای پاسخگو و زمینهمحور دستگاه (Responsive and Device-Contextual Blocks)». قابلیت تغییر ویژگیها یا حتی عملکرد بلاکها بر اساس اندازه صفحه نمایش (دسکتاپ، تبلت، موبایل) هنوز به طور کامل توسعه نیافته است. این امکان به توسعهدهندگان اجازه میدهد تا طرحبندیها، محتوا و حتی رفتار بلاکها را بر اساس دستگاه کاربر تنظیم کنند. این ویژگی آخرین گام برای تبدیل وردپرس به یک پلتفرم کامل و بینقص برای توسعه برنامههای وب است. به این ترتیب، آینده وردپرس بسیار روشن است و این فرصت طلایی برای توسعهدهندگان است که در این تکامل شرکت کنند و آن را شکل دهند.
مفهوم “قابلیت ترکیب بلوکها” در گوتنبرگ
در دنیای رو به رشد وردپرس، مفهوم “قابلیت ترکیب بلوکها” (Block Composability) در گوتنبرگ به یک نقطه عطف تبدیل شده است. این ایده، که زمانی تنها در حد تصورات اولیه ویرایشگر بلوک در سال ۲۰۱۸ بود، اکنون به واقعیت پیوسته و گوتنبرگ را از یک ابزار تولید محتوای استاتیک به یک پلتفرم قدرتمند برای ساخت اپلیکیشنهای وب پویا و تعاملی ارتقا داده است. سث روبنشتاین، مهندس ارشد در Pew Research Center و از مشارکتکنندگان فعال پروژه گوتنبرگ، این مفهوم را به روشنی توضیح میدهد و مسیر آینده وردپرس را ترسیم میکند.
تعریف قابلیت ترکیبپذیری بلوکها
قابلیت ترکیبپذیری در علوم کامپیوتر و توسعه نرمافزار به معنای توانایی ایجاد و مونتاژ اپلیکیشنهای وب با استفاده از کامپوننتهای قابل استفاده مجدد و ماژولار است. سث روبنشتاین این را با کامپوننتهای React مقایسه میکند: واحدهای مستقل و ماژولار که میتوانند به تنهایی عمل کنند، اما وقتی با واحدهای دیگر ترکیب میشوند، قابلیتهای جدیدی را ارائه میدهند یا عملکردشان را تغییر میدهند. این ایده، توسعهدهندگان و کاربران نهایی را قادر میسازد تا اپلیکیشنهای وب پیچیدهای را مستقیماً در ویرایشگر بلوک وردپرس ایجاد کنند.
در گذشته، بلوکهای وردپرس عمدتاً برای نمایش محتوای ثابت مانند پاراگرافها یا تصاویر طراحی شده بودند. اما با قابلیت ترکیبپذیری، بلوکها فراتر از صرفاً نمایش محتوا عمل میکنند؛ آنها میتوانند با یکدیگر ارتباط برقرار کرده و عملکرد یکدیگر را تغییر دهند. به عنوان مثال، در ابزار ساخت آزمون (Quiz Builder) در Pew Research Center، یک بلوک “نتایج” وجود دارد که با اضافه شدن یک بلوک خاص برای سیستم نمرهدهی ویژه، عملکرد نمرهدهی آزمون را تغییر میدهد، بدون اینکه آن را بازنویسی کند. با حذف بلوک خاص، عملکرد نمرهدهی به حالت عادی بازمیگردد. این نشان میدهد که چگونه میتوان با ترکیب بلوکها، اپلیکیشنهای وب تعاملی و پیچیده ساخت که حتی برای ویراستاران نیز به سادگی کشیدن و رها کردن (Drag and Drop) قابل استفاده هستند.
ابزارهای کلیدی برای دستیابی به قابلیت ترکیبپذیری
برای تحقق این قابلیت ترکیبپذیری، وردپرس طی سالهای اخیر چندین API و ابزار قدرتمند را معرفی کرده است:
-
Block Bindings API: این API به توسعهدهندگان اجازه میدهد تا از بلوکهای اصلی (Core Blocks) و سایر بلوکها به طور مؤثرتری استفاده کنند. میتوان ویژگیهای (Attributes) یک بلوک را به صورت برنامهریزیشده تغییر داد. به عنوان مثال، محتوای یک بلوک پاراگراف را میتوان به یک منبع داده خارجی متصل کرد، بدون نیاز به ایجاد بلوک “متن پاسخ” جدید. این کار تعداد کنترلها و تنظیمات مورد نیاز برای کاربران نهایی را کاهش میدهد و انعطافپذیری بلوکها را به شدت افزایش میدهد.
-
Block Bits (در حال توسعه): “بیتهای بلوک” یک مفهوم فراتر از Block Bindings هستند که به شما امکان میدهند تا یک کلمه یا حتی یک کاراکتر خاص را در یک بلوک تغییر دهید. این API که هنوز در مراحل اولیه توسعه قرار دارد، میتواند برای سناریوهایی مانند قالببندی (templating) پویا (مثلاً نمایش تاریخ یا عنوان پست در یک خط پاراگراف به جای سه بلوک مجزا) یا تبدیل یک شماره ISBN به یک لینک پویا به کتابخانه کنگره استفاده شود. این قابلیت به عنوان “Sub Block Bindings” نیز شناخته میشود و پتانسیل زیادی برای محتوای پویا و با جزئیات دقیق دارد.
-
Interactivity API: این API که بر پایه چارچوب سبک وزن Preact ساخته شده است، امکان افزودن تعاملات در سطح اتمی به بلوکها را فراهم میکند. بلوکها میتوانند دادهها را با یکدیگر مبادله کنند و عملکرد خود را بر اساس تعاملات کاربر تغییر دهند. به عنوان مثال، یک بلوک پاسخ در Quiz Builder میتواند پاسخ خود را در یک مدل داده بزرگتر با استفاده از این API قرار دهد. این امر پردازشهای سمت سرور را به سمت کلاینت منتقل میکند و عملکرد کلی وبسایت را بهبود میبخشد.
-
HTML Tag Processor: این ابزار ستون فقرات تمامی این APIهاست. این پردازشگر به طرز فوقالعادهای سریع عمل میکند و امکان تغییر محتوای HTML را در زمان واقعی، قبل از رسیدن به مرورگر کاربر، فراهم میآورد. این سرعت بالا به بهبود چشمگیر عملکرد کمک میکند، به خصوص در ترکیب با Interactivity API برای پیشواکشی (prefetching) و ذخیرهسازی (caching) دادهها، مانند آنچه در حلقه کوئری اصلی (Core Query Loop) و صفحاتبندی (pagination) وردپرس دیده میشود. سث مثالی از مطالعه “چشمانداز مذهبی” (Religious Landscape Study) را ذکر میکند که در آن ۱۲ نمودار با پیشواکشی و کش، به صورت آنی برای کاربر بارگذاری میشوند، بدون اینکه سرور تحت فشار قرار گیرد.
فرصتها و آینده وردپرس به عنوان یک پلتفرم برنامه وب
ترکیب این ابزارها، قابلیتهای شگرفی را در وردپرس گشوده است. بلوکها اکنون میتوانند قابل استفاده مجدد باشند، به تنهایی کار کنند، اما وقتی درون بلوکهای دیگر قرار میگیرند، عملکردشان را تغییر دهند (مثلاً یک بلوک دکمه که در یک فرم، وظیفه ارسال را بر عهده میگیرد، نه فقط لینک شدن). این انعطافپذیری و قابلیت همکاری بین APIها، وردپرس را به یک چارچوب توسعه وب تمامعیار تبدیل کرده است. در حالی که این APIها در درجه اول برای توسعهدهندگان هستند، پتانسیل زیادی برای ساخت رابطهای کاربری (UI) دوستانه برای کاربران غیر فنی وجود دارد. پلاگینهایی مانند Remote Data Blocks از Automattic مثالی از این رابطهای کاربری هستند که به کاربران اجازه میدهند بدون دانش کدنویسی، بلوکها و اتصالات دادهای را ایجاد کنند.
یکی از حوزههایی که هنوز نیاز به توسعه دارد، قابلیت واکنشگرایی (Responsive) و “درک زمینه دستگاه” (Device Contextuality) بلوکهاست. یعنی بلوکها بتوانند نه تنها بر اساس عرض صفحه، بلکه بر اساس نوع دستگاه (دسکتاپ، تبلت، موبایل) عملکرد یا ظاهر خود را تغییر دهند. این امر، مانند تغییر چیدمان ستونها بر روی تبلت یا تغییر عملکرد دکمههای اشتراکگذاری اجتماعی در موبایل، آخرین قطعه پازل برای بیعیب و نقص کردن گوتنبرگ خواهد بود. سث روبنشتاین تاکید میکند که اکنون یک “فرصت طلایی” برای توسعهدهندگان و سازندگان پلاگین است تا با آزمایش و مشارکت در این اکوسیستم، آینده وردپرس را به عنوان یک پلتفرم پیشرفته اپلیکیشن وب شکل دهند.
قدرت APIهای Block Bindings و Block Bits
وردپرس که زمانی بیشتر به خاطر قابلیتهای مدیریت محتوای استاتیک خود شناخته میشد، با ظهور APIهای جدید مانند Block Bindings و Block Bits، در حال تغییر به یک پلتفرم قدرتمند برای ساخت برنامههای کاربردی وب دینامیک و تعاملی است. این تکامل، که در گفتگو با سث روبنشتاین از Pew Research Center در پادکست WP Tavern مورد بحث قرار گرفت، قابلیتهای گوتنبرگ را فراتر از نمایش متن و تصویر ساده برده و امکان خلق تجربههای کاربری پیچیدهای را فراهم میکند که پیش از این تنها با فریمورکهای جاوا اسکریپت سفارشی امکانپذیر بود.
Block Bindings API: افزایش انعطافپذیری بلوکهای وردپرس
Block Bindings API به توسعهدهندگان این امکان را میدهد که بلوکهای اصلی (Core blocks) وردپرس یا هر بلوک دیگری را به شکلی مؤثرتر و بر اساس نیازهای خاص خود تغییر دهند. مفهوم اصلی آن اتصال (binding) صفات یک بلوک به یک رابط برنامهریزیشده در بکاند است، به جای اینکه محتوا یا رفتار آن به صورت ثابت تعریف شود.
برای مثال، یک بلوک دکمه (Core button) را در نظر بگیرید. پیش از این، دکمه عمدتاً برای لینک دادن به یک URL ثابت طراحی شده بود. اما با Block Bindings، میتوان متن داخلی دکمه یا حتی عملکرد آن را به صورت برنامهریزیشده کنترل کرد. مثال دیگر، بلوک پاراگراف است. با استفاده از این API، محتوای یک پاراگراف میتواند از یک منبع داده خارجی یا یک بلوک دیگر (مثلاً یک پاسخ در یک سیستم کوئیز) تغذیه شود. این به این معنی است که میتوانید سایر محتواها مانند تصاویر، نمودارها یا ویدئوها را آزادانه درون بلوک “پاسخ” قرار دهید، بدون اینکه با متن اصلی پاسخ تداخل پیدا کنند.
این قابلیتها نه تنها نیاز به ساخت بلوکهای سفارشی تکراری (مانند بلوک “متن پاسخ”) را به شدت کاهش میدهد، بلکه انعطافپذیری بلوکها را نیز افزایش میدهد. یک بلوک میتواند چندین کارکرد را انجام دهد و تنظیمات کمتری برای کاربران نهایی و طراحان ارائه شود، زیرا منطق اتصال توسط پلاگین مدیریت میشود. این API به خوبی مستند شده و با کمی تجربه، کار با آن بسیار آسان است.
Block Bits: تغییرات میکروسکوپی در محتوای بلوک
Block Bits یک گام فراتر از Block Bindings میرود و در حال حاضر بیشتر یک مفهوم در حال توسعه است تا یک API کاملاً پایدار. هدف آن ایجاد “زیر-باندینگ بلوک” است؛ یعنی امکان اعمال تغییرات دینامیک در سطح بسیار ریز، حتی یک کلمه یا یک کاراکتر، درون یک رشته متنی بزرگتر. تصور کنید یک جمله دارید که شامل یک نام است، و میخواهید این نام به صورت دینامیک بر اساس انتخاب کاربر تغییر کند. Block Bits این امکان را فراهم میکند که فقط آن قسمت خاص از متن را انتخاب کرده و به یک داده دینامیک متصل کنید.
یکی از مثالهای جذاب مطرح شده، نحوه مدیریت شمارههای ISBN است. میتوانید شماره ISBN را به صورت متن ساده وارد کنید، اما با Block Bits، این متن میتواند در فرانتاند به یک لینک تعاملی تبدیل شود که با یک پاپآپ، اطلاعات مربوط به آن کتاب را از کتابخانه کنگره نمایش دهد. این مفهوم برای قالبسازی (templating) نیز بسیار سودمند است. به جای استفاده از چندین بلوک جداگانه (مثلاً بلوک تاریخ پست، بلوک نوع پست و بلوک عنوان) برای نمایش اطلاعات در یک خط، میتوان با Block Bits تمامی این اطلاعات را به صورت دینامیک در یک خط پاراگراف واحد جای داد.
اگرچه Block Bits هنوز در مراحل اولیه توسعه است و نیاز به APIهای HTML پیشرفتهتر برای تکمیل دارد، اما توسعهدهندگان میتوانند از همین حالا با استفاده از فرمتهای سفارشی Rich Text و HTML Tag Processor این ایده را آزمایش کنند. این رویکرد شامل افزودن یک نام کلاس از طریق یک فرمت سفارشی و سپس استفاده از HTML Tag Processor برای شناسایی و تغییر آن بر اساس نیاز است. سث روبنشتاین تاکید میکند که برای پیشبرد این مفهوم قدرتمند، مشارکت بیشتر توسعهدهندگان ضروری است.
همافزایی APIها و آینده برنامههای کاربردی وب
قدرت واقعی Block Bindings و Block Bits زمانی آشکار میشود که با Interactivity API و HTML Tag Processor وردپرس ترکیب شوند. این سه با هم، یک اکوسیستم کامل برای ایجاد Block Composability واقعی را تشکیل میدهند. Block Composability به معنای توانایی توسعهدهندگان برای ساخت بلوکهایی است که هم قابل استفاده مجددند، هم میتوانند به تنهایی کار کنند، و هم وقتی درون بلوکهای دیگر قرار میگیرند، رفتار و پیکربندیشان به صورت هوشمندانه تغییر میکند (مثلاً یک بلوک دکمه که در حالت عادی لینک میدهد، اما در داخل یک بلوک فرم، عملکرد ارسال فرم را انجام میدهد).
این همافزایی به لحاظ عملکردی نیز بسیار کارآمد است. Interactivity API که بر پایه فریمورک سبکوزن Preact بنا شده، به بلوکها اجازه میدهد در فرانتاند تعاملات پیچیده انجام دهند، بدون نیاز به فریمورکهای سنگین React. HTML Tag Processor، که زیربنای تمامی این APIهاست، با سرعت فوقالعادهای HTML را پردازش کرده و قابلیتهای دینامیک را فعال میکند. این ترکیب به بهبود قابل توجه عملکرد کمک میکند؛ به عنوان مثال، با امکان پیشبارگذاری (prefetch) دادهها یا کش کردن اطلاعات در سمت کلاینت (مانند صفحات بعدی یک کوئری لوپ یا نمودارهای پیچیده در سایت Pew Research Center)، تجربه کاربری روانتر و سریعتری ارائه میشود.
در نهایت، این APIها فرصت طلایی برای توسعهدهندگان و سازندگان پلاگینها فراهم میآورند تا ابزارهایی با رابط کاربری سادهتر برای کاربران غیرفنی بسازند (مشابه کاری که افزونههایی مانند Advanced Custom Fields برای Custom Fields انجام دادند). با این حال، هنوز یک “حلقه گمشده” وجود دارد: بلوکهای واقعاً واکنشگرا و آگاه به بستر دستگاه (device-contextual blocks). توانایی تغییر صفات یا حتی عملکرد یک بلوک بر اساس اندازه صفحه نمایش (دسکتاپ، تبلت، موبایل)، گوتنبرگ را به اوج تکامل خود خواهد رساند. وردپرس از یک سیستم مدیریت محتوا به یک فریمورک قدرتمند برای توسعه برنامههای وب تبدیل شده است، جایی که کاربران نهایی میتوانند تنها با کشیدن و رها کردن بلوکها، برنامههای کاربردی پیچیده بسازند و توسعهدهندگان نیز میتوانند مرزهای خلاقیت خود را فراتر ببرند.
Interactivity API و توسعه اپلیکیشنهای وب
در دنیای امروز وردپرس، با پیشرفتهای چشمگیر در ویرایشگر بلاک (گوتنبرگ)، دیگر صرفاً با یک سیستم مدیریت محتوای ایستا سروکار نداریم. همانطور که سث روبنشتاین، مهندس ارشد مرکز تحقیقات پیو، در پادکست WP Tavern توضیح میدهد، وردپرس به یک فریمورک قدرتمند برای ساخت اپلیکیشنهای وب تبدیل شده است. نقطه عطف این تحول، ظهور و توسعه Interactivity API است که امکانات بینظیری را برای توسعهدهندگان و کاربران نهایی به ارمغان آورده است.
Interactivity API: قلب تعامل در گوتنبرگ
Interactivity API که حدود دو سال پیش معرفی شد، در واقع یک فریمورک جاوا اسکریپت بومی وردپرس است که بر پایه Preact ساخته شده و به بلاکها اجازه میدهد در فرانتاند (سمت کاربر) فعالیتهای پویا و تعاملی انجام دهند. این API نه تنها به بلاکها قابلیت عمل میدهد، بلکه امکان ارتباط و تبادل داده بین بلاکهای مختلف را نیز فراهم میکند. سث روبنشتاین این نوآوری را کلیدی میداند که وردپرس را وارد مرحله جاوا اسکریپت گوتنبرگ کرده است. پیش از این، توسعهدهندگان برای ایجاد قابلیتهای تعاملی مجبور بودند از فریمورکهای جاوا اسکریپت سنگین مانند React استفاده کنند یا پردازشهای پیچیدهای را در سمت سرور انجام دهند، اما اکنون Interactivity API این فرآیند را بهشدت سادهتر و کارآمدتر کرده است.
با استفاده از Interactivity API، توسعهدهندگان میتوانند تعاملات را در سطح اتمی به بلاکها اضافه کنند. این به معنای نوشتن توابع مختلف و تبادل آسان عملکرد جاوا اسکریپت بین بلاکها است. به عنوان مثال، یک بلاک فرم میتواند عملیات ارسال خود را به یک بلاک دیگر منتقل کند که مسئول ارسال دادهها به یک سرویس خارجی مانند Firebase است. این قابلیت انعطافپذیری بیسابقهای را در ساخت اپلیکیشنهای پیچیده درون ویرایشگر بلاک وردپرس فراهم میآورد و به کاربران امکان میدهد بدون نیاز به دانش برنامهنویسی عمیق، تجربیات وب غنی و پویا ایجاد کنند.
عملکرد بینظیر و بهینهسازی تجربه کاربری
یکی از مهمترین مزایای Interactivity API، بهبود چشمگیر در عملکرد (Performance) اپلیکیشنهای وب است. سث روبنشتاین با اشاره به پروژه Quiz Builder در مرکز تحقیقات پیو، توضیح میدهد که چگونه بازسازی این ابزار با Interactivity API، Block Bindings و Block Bits، نیاز به فرانتاند React سفارشی و پردازش سنگین سمت سرور را از بین برده است. در گذشته، برای هر آزمون یک فرانتاند React مجزا ساخته میشد و پردازش دادهها در سمت سرور انجام میگرفت که پرهزینه و کند بود. اکنون، Interactivity API امکان میدهد تا مدل داده و امتیازدهی آزمونها کاملاً در سمت کاربر (Client-side) انجام شود، که منجر به صرفهجویی در هزینه، افزایش عملکرد و تجربه کاربری بهتر میشود.
علاوه بر این، Interactivity API قابلیت "پیشواکشی" (prefetching) اطلاعات را ممکن میسازد. به عنوان مثال، در بلاکهای کوئری و صفحهبندی هسته وردپرس، هنگام نگه داشتن نشانگر ماوس بر روی دکمه صفحه بعدی، اطلاعات آن صفحه از قبل بارگذاری میشود. این امر باعث میشود که با کلیک کاربر، نتایج فوراً نمایش داده شوند. سث روبنشتاین این ویژگی را به عنوان یک نوآوری حیاتی برای عملکرد سایت خود ذکر میکند، به ویژه برای مطالعات بزرگ و پایگاههای داده پیچیده مانند "مطالعه چشمانداز مذهبی" (Religious Landscape Study). در این پروژه، با پیشواکشی و کش کردن نمودارها هنگام تعامل کاربر، بارگذاری دهها نمودار که در گذشته دقایق طول میکشید و میتوانست منجر به سقوط سایت شود، اکنون آنی و بدون مشکل انجام میگیرد. این رویکرد به معنای انتقال بخشی از بار پردازشی به کامپیوتر کاربر نهایی است که به نفع عملکرد کلی وبسایت است.
آیندهای برای توسعه اپلیکیشنهای وب با وردپرس
Interactivity API در کنار Block Bindings API (که به توسعهدهندگان اجازه میدهد ویژگیهای بلاکهای هسته و سفارشی را به صورت برنامهریزیشده تغییر دهند) و Block Bits (مفهومی در حال توسعه برای دستکاری جزئیات کوچک محتوا مانند یک کلمه در یک پاراگراف) یک اکوسیستم قدرتمند برای "قابلیت ترکیب بلاکها" (Block Composability) ایجاد میکند. این ترکیب از APIها وردپرس را به یک فریمورک کامل برای توسعه اپلیکیشنهای وب تبدیل کرده است. به گفته سث روبنشتاین، این ابزارها به توسعهدهندگان امکان میدهند تا بلاکهایی بسازند که هم قابل استفاده مجدد باشند، هم مستقل عمل کنند و هم در صورت قرار گرفتن در بلاکهای دیگر، عملکردشان تغییر کند.
با وجود این قدرت فنی، چالش پیش رو ایجاد رابط کاربری (UI) است تا این قابلیتها برای کاربران غیرفنی نیز در دسترس قرار گیرند. همانطور که افزونههایی مانند Advanced Custom Fields (ACF) با ارائه یک رابط بصری برای فیلدهای سفارشی، وردپرس را متحول کردند، فرصت مشابهی نیز برای Interactivity API وجود دارد. افزونههایی مانند "Remote Data Blocks" از Automattic (که امکان اتصال بلاکها به منابع داده خارجی مانند Google Sheets یا Airtable را فراهم میکند) نمونهای از این رویکرد هستند. این ابزارها با کاهش تنظیمات پیچیده و ارائه یک تجربه کشیدن و رها کردن (Drag-and-Drop) سادهتر، به کاربران نهایی اجازه میدهند تا بدون نیاز به کدنویسی، اپلیکیشنهای وب پیچیده بسازند. این فرصتی طلایی برای توسعهدهندگان و سازندگان افزونهها است تا با آزمایش و مشارکت در این حوزه، آینده وردپرس را به عنوان یک پلتفرم پیشرفته برای اپلیکیشنهای وب شکل دهند.
آینده وردپرس: بهبود عملکرد و رابط کاربری
وردپرس، با قابلیت ترکیبپذیری بلوکها و APIهای پیشرفته گوتنبرگ، از یک CMS استاتیک به فریمورکی قدرتمند برای ساخت وباپلیکیشنهای پویا تبدیل میشود. سث روبنشتاین از مرکز تحقیقات پیو در پادکست WP Tavern این دگرگونی را تشریح میکند. او تاکید دارد که بلوکها به اجزای هوشمندی تبدیل شدهاند که تجربیات کاربری پیچیده را مستقیماً در ویرایشگر وردپرس ایجاد میکنند.
ترکیبپذیری بلوکها: پایه وباپلیکیشنهای وردپرس
ترکیبپذیری بلوکها (Block Composability) یعنی ساخت وباپلیکیشنها با کامپوننتهای ماژولار و قابل استفاده مجدد. این ایده فراتر از بلوکهای سادهای چون پاراگراف میرود و امکان ایجاد “برنامههای کوچک” تعاملی را فراهم میکند. ابزار ساخت آزمون مرکز پیو نشان میدهد چگونه بلوکهای سوال و جواب به صورت هوشمندانه ترکیب میشوند تا یک آزمون تعاملی را بدون نیاز به کدهای پیچیده در فرانتاند بسازند.
APIهای کلیدی گوتنبرگ: موتور محرک نوآوری
تحول وردپرس به وباپلیکیشن، مدیون سه API کلیدی گوتنبرگ است: Block Bindings API، Block Bits (در دست توسعه) و Interactivity API. این ابزارها، همراه با HTML Tag Processor، امکانات بیسابقهای برای افزایش کارایی بلوکها و ساختاردهی محتوای پویا فراهم میکنند. این مجموعه API، راه را برای تجربیات وب پیشرفتهتر هموار میسازد.
API اتصال بلوکها (Block Bindings API): انعطافپذیری بلوکهای هسته
Block Bindings API به توسعهدهندگان امکان میدهد تا ویژگیهای (attributes) بلوکهای اصلی و سفارشی را به صورت برنامهریزی شده متصل و تغییر دهند. اکنون میتوان متن داخلی یا عملکرد یک بلوک Core را از طریق یک رابط برنامهنویسی دیگر مدیریت کرد. این کار پیچیدگی تنظیمات را برای ویراستاران کاهش داده و بلوکها را بسیار انعطافپذیرتر میسازد.
بلوکبیتها (Block Bits): دینامیکسازی ریزمقیاس متن
Block Bits، یک API مفهومی و در حال توسعه، Block Bindings را به سطح خردتر میبرد و امکان تغییرات پویا در قسمتهای کوچکتر یک رشته متنی را فراهم میکند. این به معنای قابلیت جایگزینی یک کلمه یا عبارت با دادههای پویا، تبدیل خودکار شمارههای ISBN به لینکهای تعاملی، یا قالببندی اطلاعاتی مانند تاریخ و عنوان پست در یک خط واحد است.
API تعاملی (Interactivity API): خلق تجربیات کاربری کارآمد
Interactivity API یک فریمورک جاوااسکریپت بومی وردپرس (بر پایه Preact) است که امکان افزودن تعاملات اتمی به بلوکها را فراهم میکند. این API ارتباط دادهای بین بلوکها را ممکن میسازد؛ مثلاً، نمرهدهی آزمون مرکز پیو اکنون کاملاً در سمت کلاینت و بدون نیاز به React فرانتاند سفارشی انجام میشود. این به معنای بهبود چشمگیر عملکرد و ارائه تجربهای روانتر برای کاربر نهایی است.
عملکرد فوقالعاده با HTML Tag Processor و کشینگ
عملکرد عالی از ویژگیهای بارز این رویکرد جدید است. HTML Tag Processor، ستون فقرات Block Bindings و Interactivity API، پردازش HTML را با سرعتی فوقالعاده انجام میدهد. این امر امکان «پیشبارگذاری» (pre-hydration) اطلاعات در اپلیکیشنهای جاوااسکریپت را فراهم میکند. پیشواکشی (prefetch) صفحات بعدی در بلوک Query Loop و کش کردن اطلاعات برای سایتهای دادهمحور، زمان بارگذاری را کاهش داده و تجربه کاربری را بهینه میسازد.
فرصت طلایی برای توسعهدهندگان و دموکراتیزه کردن UI
سث روبنشتاین فرصت بزرگی را برای توسعهدهندگان شناسایی میکند تا با ساخت ابزارهای UI، این APIهای پیشرفته را برای کاربران غیرفنی دسترسپذیر کنند. پلاگینهایی نظیر Remote Data Blocks نشان میدهند چگونه میتوان رابطهای بصری ساخت تا کاربران بتوانند بلوکها را به منابع داده خارجی متصل کنند. این مسیر، به سمت یک تجربه “کشیدن و رها کردن” (drag-and-drop) بیدردسرتر برای پیکربندی وباپلیکیشنهای پیچیده پیش میرود.
چشمانداز آتی: بلوکهای واکنشگرا و تطبیقپذیری دستگاه
با وجود پیشرفتها، “حلقه مفقوده” مهم، بلوکهای واقعاً واکنشگرا (responsive blocks) و آگاهی از بستر دستگاه (device-contextual blocks) است. این یعنی توانایی بلوکها برای تغییر خودکار رفتار، محتوا یا چینش بر اساس اندازه صفحه نمایش یا نوع دستگاه. مثلاً، تغییر چیدمان ستونها در یک بلوک گرید بین دسکتاپ و تبلت. توسعه بیشتر APIها در این زمینه گوتنبرگ را تکمیل خواهد کرد.
جمعبندی و توصیه نهایی: آیندهای روشن برای وردپرس
وردپرس دیگر تنها یک سیستم مدیریت محتوا نیست، بلکه به یک فریمورک قدرتمند و همهکاره برای توسعه وباپلیکیشنهای پویا تبدیل شده است. ترکیبپذیری بلوکها و APIهای Block Bindings، Block Bits و Interactivity API، پتانسیلهای بیشماری برای خلق تجربیات کاربری غنی و عملکردی بینظیر به ارمغان میآورد. این دوره فرصتی بیسابقه برای توسعهدهندگان و سازندگان پلاگین است تا با این فناوریهای نوین آزمایش کنند و در شکلگیری آینده وردپرس به عنوان یک پلتفرم پیشرفته و انقلابی مشارکت نمایند.