اپلیکیشن‌های وب مبتنی بر سرور با htmx: هر زبان، کد کمتر، کد ساده‌تر – ویرایش اول اثرR. Mark Volkmann

عنوان:

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

زبان

انگلیسی

فرمت

pdf

حجم

1.39MB

موضوع

Server-Driven Architecture