
عنوان:
Server-Driven Web Apps with htmx
نویسنده:
R. Mark Volkmann
انتشارات:
Pragmatic Bookshelf City: Dallas, Texas
تاریخ انتشار
2024
حجم:
1.39MB
معرفی کتاب:" اپلیکیشنهای وب مبتنی بر سرور با htmx: هر زبان، کد کمتر، کد سادهتر – ویرایش اول "
htmx یک کتابخانه جاوااسکریپتی است که منطق و تعامل با سرور را مستقیماً به HTML اضافه میکند. با htmx میتوانید بدون نوشتن کدهای پیچیده فرانتاند، تجربهای مشابه فریمورکهای SPA را برای کاربر فراهم کنید.
از هر زبان و فریمورک سمت سرور دلخواه خود استفاده کنید تا فقط قطعاتی از HTML را بهعنوان پاسخ بازگردانید. بخشهایی از صفحه وب را با پاسخهای HTTP بهطور پویا بهروزرسانی کنید. با کتابخانههایی مانند Alpine.js و _hyperscript میتوانید تعاملپذیری بیشتری به رابط کاربری خود اضافه کنید.
برای امنیت بیشتر، محتوای ارائهشده توسط کاربر را گریز (escape) دهید و با تعریف Content Security Policy (CSP)، از آسیبپذیریها جلوگیری کنید. همچنین، با پشتیبانی از WebSocket و Server-Sent Events (SSE)، فراتر از معماری کلاسیک درخواست/پاسخ عمل کنید.
چرا htmx؟
برخلاف فریمورکهای رایج SPA، در htmx لازم نیست حجم زیادی از JavaScript بنویسید. تنها کافیست
عناصر HTML را با ویژگیهایی مثل hx-get
، hx-post
و
hx-target
علامتگذاری کنید. این رویکرد باعث میشود:
- کد سادهتر و قابل فهمتر باشد
- حجم کمتری به مرورگر ارسال شود
- نیازی به ساخت و پردازش JSON نباشد
- عملکرد بهتری در کل ارائه شود
الگوهای رایج قابل پیادهسازی با htmx:
- بارگذاری تنبل (Lazy Loading)
- اعتبارسنجی ورودی فرمها
- جستوجوی زنده (Live Search)
- کلیک برای ویرایش (Click-to-Edit)
- اسکرول بینهایت
- بهروزرسانی خوشبینانه (Optimistic UI)
- پولینگ و رویدادهای لحظهای
- انتقالهای CSS روی عناصر بهروزرسانیشده
امنیت در htmx:
- گریز محتوای کاربر برای جلوگیری از XSS
- تعریف CSP برای جلوگیری از اجرای اسکریپتهای ناخواسته
- استفاده از Subresource Integrity (SRI) برای بارگذاری ایمن منابع
آنچه نیاز دارید برای شروع:
- یک مرورگر وب مدرن
- توانایی اجرای سرور HTTP با زبان دلخواه مانند Python، PHP، Node.js و غیره
- نسخه htmx 2.0 یا جدیدتر
روشی سادهتر، سریعتر و امنتر برای ساخت برنامههای وب را تجربه کنید – روشی که بر پایه اصول بنیادی وب استوار است.
فهرست مطالب
- Cover
- Table of Contents
- Foreword
- Acknowledgments
- Preface
- Required Knowledge
- 1. Jumping In
- Choosing a Tech Stack
- Using htmx Attributes
- Creating Your First Project
- Creating a CRUD Application
- Your Turn
- Wrapping Up
- 2. Exploring Server Options
- Making the Grade
- Popular Choices
- Our Choice
- JavaScript Tooling
- Your Turn
- Wrapping Up
- 3. Developing Endpoints
- HTTP Requests
- HTTP Responses
- Endpoint Targets
- Widening the Scope
- Performing Out-of-Band Swaps
- Triggering Events
- Putting It Into Practice
- Your Turn
- Wrapping Up
- 4. Recipes for Common Scenarios
- Boosting
- Lazy Loading
- Input Validation with API Calls
- Deleting an Element
- CSS Transitions
- Resetting a Form
- Active Search
- Optimistic Updates
- Pagination
- Infinite Scroll
- Toggling Selection
- Polling
- Custom Dialogs
- Adding Headers to All Requests
- Click to Edit
- HTML and JSON Endpoints
- Automating Reload
- Your Turn
- Wrapping Up
- 5. Implementing Interactivity
- Alpine
- _hyperscript
- Your Turn
- Wrapping Up
- 6. Utilizing the htmx JS API
- DOM Methods
- Styling Methods
- Event Methods
- Other Methods
- htmx.config Object
- htmx.ajax Method
- htmx.process Method
- Your Turn
- Wrapping Up
- 7. Adding Security
- Scrutinize Resources
- Escape User-Supplied Content
- Sanitize User-Supplied Content
- Make Cookies Secure
- Make CDN Downloads Safer
- Specify a Content Security Policy
- Cross-Site Scripting Attacks (XSS)
- Your Turn
- Wrapping Up
- 8. Beyond Request/Response
- WebSockets
- Server-Sent Events (SSE)
- Your Turn
- Wrapping Up
مشخصات
نام کتاب
Server-Driven Web Apps with htmx
نویسنده
R. Mark Volkmann
انتشارات
Pragmatic Bookshelf City: Dallas, Texas
تاریخ انتشار
2024
ISBN
9798888650769
تعداد صفحات
182
زبان
انگلیسی
فرمت
حجم
1.39MB
موضوع
Server-Driven Architecture