首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >我们为什么要重新思考服务器端渲染?

我们为什么要重新思考服务器端渲染?

原创
作者头像
用户11680974
发布2025-07-29 18:45:12
发布2025-07-29 18:45:12
2061
举报

一、我们为什么放弃了服务器端渲染?

还记得我们是怎么从「PHP直接渲染页面」进化到「前后端分离」的吗?

起初是因为希望前端体验更流畅、交互更灵活,于是我们选择了「服务端返回 JSON + 前端自己拼接 UI」。慢慢地,React、Vue 上场,状态管理也来了,组件拆分、路由、API 层、loading 状态……

等等,我们本来是为了更简单,结果把事情越搞越复杂?

想一想:服务器端其实已经知道用户是谁、有啥权限、看到什么数据,它完全可以直接把该有的按钮、表格、下拉菜单一并渲染好,结果现在我们非要前后端拉扯来回几次,再在浏览器里动态拼拼凑凑。

前端越来越重,后端变成了纯数据提供商。可有些事,真的只能前端做吗?


二、我们是不是把简单的事做复杂了?

一个常见的管理后台列表页,背后通常有这些逻辑:

  • 权限控制:哪些按钮显示、哪些功能隐藏?
  • 表单校验:不同角色填不一样的字段?
  • 分页逻辑:带上搜索条件做偏移?
  • Loading、Empty 状态:有无数据分别显示不同内容

你猜这是谁来写的?

没错,全给前端了,而且后端还得“配合”暴露一堆接口。可问题是:这些逻辑,后端本来就知道,还能一次性返回结果,非要两边来回折腾

甚至有时候,前端只是想改一个按钮的显示条件,都要等后端接口加字段,再改前端逻辑……

说实话,这不叫分工,这叫拆得太过头了。


三、HTMX:让服务器“说人话” HTML

这时候,HTMX 出现了。

HTMX 是什么?一句话:让浏览器接受 HTML 响应并直接替换 DOM 元素,不再需要前端框架做 UI 拼装。也就是说,服务器渲染一个按钮或表格的片段,浏览器自动放进去就完了。

来看几个典型场景对比:

场景

传统做法

HTMX 做法

列表渲染

拉 JSON + 手动 map 渲染

后端返回一个 <table> 就好

分页处理

维护分页状态 + loading

点击分页按钮触发 /list?page=2,直接返回渲染好的页面片段

表单提交

提交 JSON,前端处理结果显示

提交表单返回一个 success 弹窗 HTML 片段

权限控制

前端拿权限字段,判断显示

服务器按权限返回对应按钮组

弹窗加载

前端组件加载 + 事件绑定

点按钮,后端返回 modal 内容片段插入页面

你不需要再手写太多状态管理代码、也不需要框架来操控 UI 状态,一切交给服务器,它知道怎么做得更合理。


🛠️ 想体验 HTMX?用 ServBay 几分钟搞定环境

别看 HTMX 听起来新,其实你本地跑起来一点也不麻烦,只要你有个干净的后端环境就行。

推荐工具: ServBay —— 它是一款 macOS & Windows 的本地开发环境管理器,支持一键运行 PHP、Python、PostgreSQL、Redis 等服务。特别适合做以下这些事情:

  • 本地跑一个 Flask + HTMX 项目,快速构建原型页面
  • 对比 Laravel Blade + HTMX 渲染体验
  • 测试后端返回 HTML 的渲染效率 vs JSON 方案
  • 🧪 做 HTML + JSON 双通道接口的调试对比

📦 安装后只需几步即可启动一个后端服务,HTMX 示例项目跑起来只要几分钟。想试试“回归服务器渲染”的开发方式?这个组合真的轻量又优雅。


四、为什么这种方式现在又可行了?

有人可能会问:我们不早就用过服务器渲染了吗?为啥又回去了?

区别在于:这次我们不再整页刷新了,而是只刷新需要变的那一小块。

  • 现在的浏览器支持局部 DOM 替换,性能远超十年前
  • 网络条件好了,响应 HTML 的体积根本不是问题
  • 业务迭代节奏更快,后端维护渲染逻辑能更敏捷
  • HTMX 没有前端构建、没有 NPM 依赖、没有 webpack,直接上线,轻松多了

可以说:我们不是回到了老办法,而是用上了现代能力,走了一条更加简单直接的路线


五、HTMX 不是要替代 React,而是让我们有选择权

别误会,这不是一场「框架革命」。

HTMX 不是来灭掉 React、Vue 的,它是给那些**“80% 是表格和表单”**的系统一个更轻量的选择:

适合 HTMX 的场景:

  • 内部管理后台
  • CMS 内容系统
  • 企业中后台工具
  • 低频操作但需要快速交付的功能页

而复杂交互、多状态切换、需要实时响应的富应用(比如:Web IDE、多人协作工具),当然还是前端框架的天下。

但你不需要每个项目都上 React + 状态管理 + API 层 + TS + CSS-in-JS 吧?


六、总结:是时候让服务器做回它擅长的事了

服务器从来不是“只会提供 JSON”。

它知道用户是谁,有权限信息、登录状态、数据模型,它完全可以直接输出页面该长什么样

与其前后端来回配合做一个按钮,不如直接让服务器返回它该有的样子。

HTMX 给了我们这样一种新的方式:

  • 简洁
  • 轻量
  • 可维护
  • 快速响应

如果你也受够了为了一个按钮改三层代码,不妨给 HTMX 一个机会,让服务器“说人话”,让开发回归本质:直接、有效、有趣。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、我们为什么放弃了服务器端渲染?
  • 二、我们是不是把简单的事做复杂了?
  • 三、HTMX:让服务器“说人话” HTML
  • 🛠️ 想体验 HTMX?用 ServBay 几分钟搞定环境
  • 四、为什么这种方式现在又可行了?
  • 五、HTMX 不是要替代 React,而是让我们有选择权
  • 六、总结:是时候让服务器做回它擅长的事了
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档