我们习惯的前端开发正在消亡

2025-06-09

我们习惯的前端开发正在消亡

为什么我认为我们很快就会回到原点。

介绍

在 SPA 出现之前,Web 应用程序通常是多页的。这意味着每次用户与应用程序交互时,服务器都会发送一个完整的新页面,浏览器会重新加载该页面。每次用户在页面之间导航时,都会发生整个页面的重新加载,这可能会降低速度并造成不太流畅的用户体验。类似的应用程序通常使用服务器端技术构建,例如 PHP、Ruby on Rails、ASP.NET 等,这些技术在服务器端生成 HTML 代码并将其发送到浏览器。

PHP Web 应用程序的工作原理

Web 开发人员是全能型人才,他们同时负责前端和后端部分。随着 Web 技术的发展和用户需求的提升,需要新的解决方案,使他们能够轻松、无延迟地使用交互式界面。

这就是使用 BackboneJs 或 AngularJs 的 SPA 解决方案的最初出现。它们使我们能够减轻当时资源有限的服务器负载,并在通过 JS 处理网页时提供交互性,因为无需等待服务器更新新页面。

前端和后端的划分由此诞生。纯前端开发人员的角色变得越来越重要,也越来越多样化。他们开始专注于创建用户界面,使用 HTML、CSS 和 JavaScript,以及与 API 和服务器交互。另一方面,后端开发人员则更加专注于数据处理、应用程序业务逻辑、数据库操作以及创建服务器 API。

就这样,我们进入了 React、Angular2、Vue 和其他 Web 应用开发工具的时代。我们不再需要创建简单的表单和列表,而是有了 JS 路由、状态管理、浏览器 API、将授权令牌绑定到请求、数据映射等等。

我们开始把简单的事情复杂化。

采用这种方法的结果是:

  • 沟通协调困难。Api 契约和通信方式 — HTTP 1.1、Websocket、GraphQL。JSON 解析和验证。

  • 理解和知识的分歧。例如,你可以开发一个创建大量查询的前端应用程序,并将其视为一个正常且经过优化的 SPA。但对于后端来说,这是一个非常危险的情况,因为它现在需要大量的数据库访问并对这些数据进行适当的聚合,这将影响其性能和维护。

  • 重复工作。后端的大多数 CRUD 操作在前端都有类似的行为。我们不仅从服务器获取列表,现在还将其放入 store() 中,每个用户操作都通过 dispatch() 进行处理,并等待请求执行,之后我们根据结果通过 reducer() 更新 store ——后端对数据库所做的所有操作,我们都会在前端重复执行。(页面重新加载以及从服务器将 SPA 恢复到当前状态也值得一提——目前这算是一个单独的痛点)

  • 调试和测试困难。现在您需要考虑可能的集成问题,并在应用程序两端的上下文中对其进行测试。是的,您可以为前端应用程序创建独立的端到端测试,但它们无法保证生产环境中的可靠性。是的,有用于验证服务器响应的 ZoD,但它的使用率是多少?

  • 增加了开发时间和成本。任何 API 合同的变更都需要两个人同时进行。您无法像以前那样直接将模板修改到服务器。您需要召开会议、将任务拆分成单独的部分,并配备业务分析专家等,才能顺利完成变更。

  • SEO。由于我们的应用程序完全通过 JS 构建,搜索引擎无法获取应用程序内容及其导航以对其进行正确索引,因此需要 SSR 和 SSG 解决方案。

  • 安全性。页面上输入的任何关键数据在传递到服务器之前都需要隐藏。此外,应用程序还需要从服务器请求大量个人信息,从而泄露访问令牌。

那么,常见的前端为何会消亡呢?

只要访问任何资源,您就会看到有多少职位空缺:

  • Python + Django

  • PHP + Laravel

  • NextJs + React

  • Nuxt + Vue

这些都是用于基于服务器的 Web 应用程序开发的软件包。得益于 Hydration 和 Resumability 方法,服务器可以仅渲染界面中修改的部分,而无需重新加载页面。

他们提供的内容:

  • 服务器应用程序现在不需要复杂的 HTTP 或 WS 契约并在双方支持它们,它可以使用更好的方法与 gRPC 等其他服务交换信息。

  • 由于缺乏中间批准,更改过程更快,对于 1 个人来说,用户看到的结果会立即发生变化。

  • 测试可以全面检查应用程序,消除集成测试并减少错误。

  • 您仅交换 HTML 标记,所有“请求-响应”逻辑对用户都是隐藏的

  • 当您可以传递现成的模板时,为什么还要传递大量 JSON 数据来将 SPA 恢复到正确状态?

  • 你不需要担心浏览器兼容性和使用babel等工具,因为页面上的JS代码很少。

随着无代码解决方案、通过 AI 生成模板、庞大的服务器资源和 SEO 要求的出现——目前大量的前端开发人员以及工具不再需要仅仅开发前端部分。

企业主有一个合理的问题——“为什么我需要雇用纯前端开发人员和纯后端开发人员来开发一个简单的应用程序?”

全栈开发人员并非管理上的一时兴起,从节省人员的角度来看,它如今已成为主流。你不需要纯粹的前端开发人员,你需要的是能够开发完整应用程序的开发人员,能够直接对数据库或其他服务执行简单的操作并显示结果。

是的,毫无疑问,一些需要前后端分离的复杂或“无头”应用程序仍将存在,但大多数应用程序将告别 SPA,沿用原有的开发方式。不过,现在我们有了解决这些问题的方法。随着 HTMX 的出现,任何具备基础知识的后端开发人员都可以创建 Web 应用程序。现在,您甚至不需要了解 JS 就可以创建一个逻辑简单的单页应用。

你可能会问:“前端开发人员不仅要负责 JS 逻辑,还要负责 CSS 和合适的选择器、HTML 及其语义,那么后端开发人员现在还需要知道这些吗? ”——不,现在 AI 或“HTML 布局设计师”可以根据 Figma 的布局生成模板。HTML 模板的逻辑和交互性现在在服务器上定义。

结论

现在是时候思考您是否真的需要所有这些复杂的前端开发工具以及是否应该继续做纯粹的前端开发人员了。

我预计目前的前端开发人员将转向全栈资格,前端占比 60%,后端占比 40%,以保持其专业性。HTMX​​ 只是一个开始,NextJs 或 Nuxt 工具的趋势将会增长,而 Angular 类型的框架如果无法适应新的实现,将会消亡,尽管 Angular 生态系统在 AnalogJs 上也已经有了原型。

资源

鏂囩珷鏉ユ簮锛�https://dev.to/misterion96/the-front-end-development-were-used-to-is-dying-4e19
PREV
Gatsby for React 和 Gridsome for Vue.js 为 Gridsome 链接(来源和参考)做出贡献📰 条款和条件😂 GenAI LIVE!| 2025 年 6 月 4 日
NEXT
使用 React 的待办事项列表应用