
إطار عمل واجهة مستخدم ويب HTML
مجاني
htmx هي مكتبة تتيح لك بناء واجهات مستخدم ويب حديثة مباشرة في HTML، مع الاستفادة من قوة النص التشعبي. تقوم بتوسيع HTML بسمات للتعامل مع طلبات AJAX، انتقالات CSS، WebSockets، وأحداث يرسلها الخادم، مما يلغي الحاجة إلى JavaScript مكثف. على عكس أطر عمل JavaScript التقليدية مثل React أو Angular، يركز htmx على البساطة وقاعدة كود مخفضة، مما يؤدي غالبًا إلى أحجام ملفات أصغر ودورات تطوير أسرع. هذا يجعله مثاليًا للمطورين الذين يرغبون في بناء تطبيقات ويب ديناميكية دون تعقيد إطار عمل JavaScript كامل الميزات، أو لأولئك الذين يرغبون في تحسين المواقع الحالية المستندة إلى HTML تدريجيًا. إنه مفيد بشكل خاص لأولئك الذين يعطون الأولوية للنماذج الأولية السريعة، والعرض من جانب الخادم، ونهج أكثر سهولة لتطوير الويب.
يستخدم htmx سمات HTML مثل `hx-get` و `hx-post` و `hx-delete` لتشغيل طلبات AJAX. يحافظ هذا النهج التصريحي على نظافة HTML الخاص بك وقابليته للقراءة، وفصل الاهتمامات وتقليل الحاجة إلى JavaScript للتعامل مع التفاعلات الأساسية. على سبيل المثال، يرسل `hx-post="/update"` على زر طلب POST إلى `/update` عند النقر، مما يبسط المهام الشائعة.
يتكامل htmx بسلاسة مع أساليب العرض من جانب الخادم (SSR). نظرًا لأنه يعمل مباشرة على HTML، فإنه يعمل جيدًا مع أطر العمل مثل Django و Ruby on Rails و Spring Boot، مما يسمح لك ببناء تطبيقات ديناميكية بأقل قدر من JavaScript من جانب العميل. هذا يحسن مُحسّنات محرّكات البحث وأوقات تحميل الصفحة الأولية، حيث يتعامل الخادم مع العرض الأولي.
htmx هي مكتبة صغيرة (~16KB مضغوطة ومُشفّرة) بدون تبعيات خارجية. هذا يعني أوقات تحميل أسرع وتعارضات أقل مع مكتبات JavaScript الأخرى. حجمها الصغير يجعلها مثالية للمشاريع التي تكون فيها الأداء والحد الأدنى من النفقات العامة أمرًا بالغ الأهمية، خاصة على الأجهزة المحمولة أو في البيئات المقيدة بالموارد.
يعزز htmx التحسين التدريجي، مما يعني أن تطبيقك يعمل حتى بدون تمكين JavaScript. يضمن هذا تجربة مستخدم أكثر قوة وسهولة في الوصول إليها. تظل الوظائف الأساسية لتطبيقك في متناول اليد، ويعزز JavaScript (htmx) التجربة بميزات ديناميكية، مما يحسن سهولة الاستخدام لجميع المستخدمين.
يوفر htmx دعمًا مدمجًا لـ WebSockets وأحداث يرسلها الخادم (SSE). يتيح هذا التحديثات في الوقت الفعلي والاتصال ثنائي الاتجاه بين العميل والخادم. يمكنك استخدام سمات مثل `hx-ws` لإنشاء اتصالات WebSocket و `hx-sse` لتدفقات SSE، مما يسمح بتطبيقات تفاعلية وسريعة الاستجابة.
من خلال الاستفادة من الخادم لمزيد من منطق التطبيق، يبسط htmx إدارة الحالة على جانب العميل. يتعامل الخادم مع معالجة البيانات والعرض، مما يقلل من تعقيد إدارة الحالة في المتصفح. يؤدي هذا النهج إلى كود أكثر قابلية للصيانة ويقلل من احتمالية حدوث مشكلات في مزامنة الحالة من جانب العميل.
hx-post إلى عنصر HTML (مثل زر) لتحديد طلب POST إلى نقطة نهاية الخادم. 3. استخدم السمة hx-swap لتحديد كيفية التعامل مع الاستجابة من الخادم. تتضمن القيم الشائعة innerHTML، outerHTML، أو afterbegin. 4. حدد عنوان URL المستهدف للطلب باستخدام قيمة السمة hx-post (مثل /api/data). 5. اختياريًا، استخدم hx-target لتحديد العنصر الموجود في الصفحة الذي يجب تحديثه بالاستجابة. 6. اختبر بالنقر فوق العنصر؛ سيتم إرسال الطلب المحدد، وستتم تحديث الصفحة وفقًا لذلك.يمكن للمطورين استخدام htmx لإنشاء نماذج ديناميكية تتحدث دون إعادة تحميل الصفحة بالكامل. على سبيل المثال، يمكن لنموذج التحقق من صحة حقول الإدخال في الوقت الفعلي عن طريق إرسال طلبات AJAX إلى الخادم عند تغيير المدخلات، مما يوفر ملاحظات فورية للمستخدم وتحسين تجربة المستخدم.
قم بإنشاء جداول تفاعلية تقوم بفرز البيانات وتصفيتها وتقسيمها إلى صفحات باستخدام طلبات AJAX التي يتم تشغيلها بواسطة سمات HTML. يمكن للمستخدمين فرز أعمدة الجدول بالنقر فوق الرؤوس، ويتم تحديث محتوى الجدول ديناميكيًا دون تحديثات الصفحة، مما يعزز عرض البيانات وتفاعل المستخدم.
قم بتنفيذ الإشعارات والتحديثات في الوقت الفعلي باستخدام WebSockets أو أحداث يرسلها الخادم. على سبيل المثال، يمكن لتطبيق الدردشة استخدام htmx لعرض الرسائل الجديدة فور وصولها من الخادم، مما يوفر تجربة مستخدم فورية وسريعة الاستجابة.
قم بتحسين مواقع الويب الحالية المستندة إلى HTML بميزات ديناميكية دون إعادة كتابة قاعدة التعليمات البرمجية بأكملها. يمكن للمطورين إضافة سمات htmx تدريجيًا إلى عناصر HTML الموجودة لتقديم تفاعلات AJAX، مما يحسن تجربة المستخدم دون إجراء إصلاح شامل.
قم بإنشاء واجهات مستخدم مدفوعة بالخادم حيث يتحكم الخادم في سلوك واجهة المستخدم ومحتواها. يرسل الخادم أجزاء HTML إلى العميل، والتي يقوم htmx بعد ذلك بتبديلها في الصفحة، مما يسمح بتطبيقات ويب ديناميكية وسريعة الاستجابة مع الحد الأدنى من JavaScript من جانب العميل.
يستفيد مطورو الواجهة الخلفية من htmx عن طريق تقليل مقدار JavaScript الذي يحتاجون إلى كتابته. يمكنهم التركيز على منطق جانب الخادم وإدارة البيانات، مع الاستمرار في إنشاء واجهات مستخدم ديناميكية وتفاعلية.
يمكن لمطوري الويب الشاملين استخدام htmx لتبسيط سير عملهم عن طريق تقليل تعقيد تطوير الواجهة الأمامية. يسمح لهم ببناء تطبيقات ويب تفاعلية باستخدام تعليمات برمجية أقل ودورات تطوير أسرع.
سيجد المطورون الذين يفضلون البساطة ويريدون تجنب تعقيدات أطر عمل JavaScript الحديثة htmx جذابًا. إنه يوفر نهجًا مباشرًا لبناء تطبيقات ويب ديناميكية باستخدام HTML المألوف.
يمكن للفرق ذات الخبرة المحدودة في الواجهة الأمامية الاستفادة من htmx لبناء تطبيقات ويب تفاعلية دون الحاجة إلى معرفة واسعة بـ JavaScript. يتيح هذا للفرق التي تركز على الواجهة الخلفية إنشاء واجهات مستخدم أكثر ديناميكية.
مفتوح المصدر (ترخيص MIT). مجاني للاستخدام والتكامل في أي مشروع، تجاري أو شخصي.