مجموعة AHA: Astro وhtmx وAlpine › htmx 3 / 24 السابق التالي

htmx

تصف htmx نفسها بأنها «امتداد لـ HTML».

وتقدّم بضع أفكار عبقرية:

  • يستطيع أي عنصر HTML أن يبدأ طلب HTTP (لا النماذج (forms) أو الروابط وحدها)
  • يستطيع أي حدث أن يُطلق طلب HTTP
  • يمكنك استعمال جميع طرق HTTP (PUT و DELETE و PATCH) تصريحيًا، إلى جانب GET (النماذج والروابط) و POST (المتاح في HTML للنماذج فقط)

هذه الأفكار الثلاث وحدها عبقرية.

ثمّ تتيح لنا بسهولة تجاوز فكرة «استبدال الشاشة بأكملها»، وتقدّم «استبدال هذا الجزء من HTML فقط بشظية (fragment) من HTML».

إنها مكتبة (library) صغيرة عبقرية، بلا أي اعتماديات، تُثبَّت عبر وسم script (script tag). وهي محايدة تجاه الخادم (backend-agnostic).

الإصدار الحالي هو htmx 4. راجع ما تغيّر منذ 2024 إن كنت تستعمل إصدارًا أقدم.

نستعمل htmx للتعامل مع اتصالات HTTP بين العميل والخادم بعد تحميل الصفحة.

فمثلًا عندما ينقر المستخدم على رابط، نحمّل بعض البيانات من الخادم، فنحصل عليها بصيغة HTML، ونضيفها إلى الصفحة ديناميكيًا.

ونفعل ذلك بطريقة تصريحية (declarative).

لا بكتابة شيفرة JavaScript أمرية تُملي على الصفحة ما تفعله، بل نرتفع مستوىً من التجريد (abstraction) ونصرّح بما نريده منها أن تفعله.

اطّلع على الصفحة الرئيسية لـ htmx

تعلّم htmx في The Valley of Code