我们的全栈架构:Eta、HTMX 和 Lit | Loren Stewart

主要观点:现代 Web 开发常面临 SPA 和 MPA 的选择,各有优劣。作者提出不必选择,可将三种技术组合成一个堆栈,即 Eta 用于服务器端模板、HTMX 处理大部分交互、Lit Web Components 处理必要的客户端逻辑,以兼得两者优势。
关键信息

  • 架构动机是减少客户端 JavaScript 量,提高页面加载速度和用户体验,尤其在移动或慢网络环境下。
  • Eta 是轻量、快速的嵌入式 JavaScript 模板引擎,用于服务器端渲染 HTML。
  • HTMX 可直接给服务器渲染的 HTML 添加动态行为,处理大部分动态交互,通过简单属性实现。
  • Lit 用于构建有状态的客户端组件,与 HTMX 完美集成,处理剩余 10%的交互需求。
  • 利用浏览器的 View Transitions API 实现平滑动画过渡,可通过配置和事件监听控制。
    重要细节
  • 对比不同应用的首页初始 JavaScript 包大小,此应用仅 151KB,远小于其他 React SPA 应用。
  • Eta 模板简洁易读,如用于渲染用户问候的模板。
  • HTMX 按钮示例,点击后发送请求并更新特定 DOM 元素。
  • Lit 组件通过 hx-vals 属性与 HTMX 配合,生成请求负载,处理内部 UI 状态。
  • View Transitions API 的配置及控制类的使用,实现平滑过渡和可选择性。
  • 三种技术协同工作,Eta 渲染初始页面,Lit 处理客户端组件逻辑,HTMX 与服务器交互更新内容。
阅读 7
0 条评论