
להכיר את htmx בחמש דקות: חד-קרן או עז בחניה?
התחפצו להכיר ב5 דקות את הילד הבעייתי והפופולארי htmx ? 🤓 אחרי שפטפטנו תיאוריה בפוסט קודם נעבור קצת לפרקטיקה - ורק אז נחליט אם אנחנו סבבה איתו או שהוא נזרק לאימוץ אצל דודים מחו"ל (ולא חו"ל השווה, אלא מדינת עולם שלישית עם חלודה זורמת בברזים ועז שישנה בחניה). שכנעת, אז מה לכתוב? 💍 יש לכם דף html? כנסו לדוקומנטציה הרשמית וחברו את הדף עם cdn לhtmx בשורה אחת. עכשיו לכל אלמנט ניתן להוסיף אטריביוטס (קשה לכתוב פה באנגלית) שמתחילים בhx (אין לי איך לתרגם את זה לעברית) שמאפיינים או מפעילים פעולות. אז נוסיף לאלמנט לדוגמא: 👵 hx-post='/add' עושה בקשת post ל/add hx-triger='click' מגדיר להפעיל את הבקשה לשרת בלחיצה על האלמנט hx-target='hashtag#some' מגדיר שאת התשובה מהבקשה תדחוף בבקשה לאלמנט שיש לו id שנקרא some נו ואז מה הקטע? בבקשות מהשרת כשנשתמש בhtmx - בדרך כלל נחזיר קטעי html ולא json ואותם נחליט איפה לשבץ בדף. שמים לב לשינוי בפרדיגמה? לנתיכים במוח שמתחילים להעלות עשן? לריח החרוך מהאונה הקדמית? יופי מתאים לכם אם: 👍יש לכם דפים שהם בעיקר דפי נחיתה עם טיפה שרת. 👍יש לכם אתר קטנטן בלי יותר מדיי לוגיקה. 👍תשובות מהשרת עושות פעולה אחת באתר ולא 6. 👍לא אכפת לכם ריח של שרוף. לא מתאים לכם אם: 👎אתם בונים מערכת גדולה. 👎לוגיקה מורכבת מדיי או סטייטים גלובלים לכמה דפים. מציק: 🥴 בגלל שהדפים מוגשים מהשרת הייתי צריך לרענן את הדף בכל שינוי. 🥴 אם יש לכם להחזיר מהשרת html ענק כstring שמכיל 60 אלמנטים שונים עם classים מיוחדים, השרת יתחיל להיראות עמוס והתחזוקה תהיה בהתאם. (אפשר עדיין לעשות את זה כמובן - ואפשר גם לרוץ על קקטוסים עם גרביים). 🥴 אתם כותבים במקביל את השרת והקליינט - עכשיו אני לא סגור על אם אני מת על זה או מתעב לחלוטין, אז תחליטו אתם, זה החלק הדמוקרטי של הפוסט. סיכום: 🚀 הייתי בהחלט שוקל את זה באתרי תדמית סטטיים עם קריאה פה ושם לשרת, זה חוסך התקנות, ספריות, צער, תוגה ויגון. ושוב - גיא לא מומחה לhtmx הוא רק מרפרף על העסק כדי לספק את יצר הסקרנות החסר מנוח שלו.
Yosefus Flavius
כותב הבלוג