Marionette 5.0 برگشت، این بار برای کار با ایجنتها
خلاصهٔ کاملتر
Marionette همون کتابخونهٔ قدیمی جاوااسکریپته که سالها روی Backbone سوار بود. حالا با نسخهٔ 5.0 برگشته و خودش رو یه کتابخونهٔ UI برای agent-led development معرفی میکنه، یعنی توسعهای که بخش زیادی از کد رو یه ایجنت هوش مصنوعی مینویسه و آدم فقط هدایتش میکنه. شعار سایت اینه: ایجنت الگوها رو یاد میگیره، شما اپ رو هدایت میکنین و کد همچنان قابلفهم میمونه.
بزرگترین تغییر فنی اینه که Marionette 5 دیگه به Backbone، jQuery یا Underscore نیازی نداره. ایدهٔ اصلیاش هم همون قبلیه: هر بخش از اپ یه «صاحب» مشخص داره. مثلاً یه Region (یعنی یه جای ثابت تو صفحه که یه View توش نشون داده میشه) وقتی با region.show(notes) یه View جدید میگیره، View قبلی رو کامل destroy و پاکسازی میکنه. یعنی دیگه نگران event listenerها و ویجتهایی نیستین که بعد از عوض شدن صفحه جا موندن.
سازندهها میگن به ایجنتها خوشبینن، ولی diffهاشون رو هم خوندن. به همین خاطر Marionette مالکیت رو صریح میکنه، به هر تغییر یه جای مشخص میده و ساختار رو برای کسی که diff رو میخونه قابل دیدن نگه میداره. فقط View هم نیست؛ صفحهها، لیستهایی که مدام عوض میشن و کارهایی که با یه فیچر شروع و تموم میشن هم هرکدوم صاحب مشخص دارن.
سایت یه case study روی اپ RealWorld (Conduit) گذاشته که یه ایجنت ساختتش و از پیادهسازی تا review و مقایسه با نمونههای دیگه دنبالش کرده. چند دمو هم هست، مثل TodoMVC برای لیستهای متغیر، Radio Ghostbusters برای پاکسازی ویجتهای بیرونی و Cheese Patrol برای کنسل کردن کارهای نیمهتموم. پروژه open source ـه و آدمها نگهداریش میکنن و از طریق GitHub Sponsors حمایت مالی میگیره.
نکات کلیدی:
- Marionette نسخهٔ 5.0 منتشر شده و تمرکزش روی توسعه با ایجنتهای هوش مصنوعیه
- دیگه به Backbone، jQuery و Underscore وابسته نیست
- Region موقع نشون دادن View جدید، View قبلی رو خودکار destroy میکنه
- یه case study روی اپ RealWorld (Conduit) که ایجنت ساخته منتشر شده
- دموهای TodoMVC، Radio Ghostbusters و Cheese Patrol برای امتحان در دسترسن




