پالیفیل Declarative Partial Updates برای مرورگرها
خلاصهٔ کاملتر
Declarative Partial Updates API یه پیشنهاد استاندارد وب هست که میخواد بدون نیاز به جاوااسکریپت دستی یا فریمورکهای سنگین، بشه بخشهایی از صفحه رو بهصورت اعلانی (declarative) بهروز کرد. پروژهی template-for-polyfill که توسط GoogleChromeLabs روی گیتهاب منتشر شده، یه پیادهسازی جزئی از این API رو برای مرورگرهایی که هنوز از این ویژگی پشتیبانی نمیکنن فراهم میکنه.
قلب این پالیفیل، پشتیبانی از declarative patching با استفاده از المان هست — روشی که در Patching Explainer مربوط به همین پروپوزال توضیح داده شده. به زبان سادهتر، میشه با تعریف یه تمپلیت HTML مشخص کرد که کدام بخش از DOM باید تغییر کنه، بدون اینکه لازم باشه دستی querySelector بنویسی یا state مدیریت کنی.
برای استفاده از این پالیفیل میشه از طریق npm نصبش کرد یا مستقیم از CDN لود کرد. راحتترین روش اینه که اسکریپت رو از unpkg اضافه کنی:
<script src="https://unpkg.com/template-for-polyfill"></script>این پالیفیل چند محدودیت مهم داره که باید بدونی. اول اینکه فقط HTML ای که از طریق setHTML وارد صفحه میشه برای دستورالعملهای پیشپردازش میشه؛ از innerHTML نمیشه به دلایل پرفورمنسی پشتیبانی کرد. دوم اینکه تمپلیتهای جدید بعد از لود پالیفیل از طریق Mutation Observer شناسایی میشن، نه در زمان parse شدن HTML — این یعنی ممکنه برای یه لحظه محتوای خالی یا placeholder نمایش داده بشه.
نکات کلیدی:
- پالیفیل برای پیشنهاد استاندارد Declarative Partial Updates API ساخته شده
- فعلاً فقط بخش declarative patching با پیادهسازی شده
- نیاز به مرورگر با پشتیبانی از ES6/ES2015 داره
- از npm، unpkg یا build دستی قابل استفادهست
- محدودیت در innerHTML و تأخیر احتمالی در Mutation Observer وجود داره
- پروژه رسمی گوگل نیست و مشمول برنامه آسیبپذیری متنباز گوگل نمیشه




