什么是前后端分离?应用场景是什么?
前后端分离:前后端之间使用 JSON 来交流,前台和后台两个开发团队之间使用 API 作为契约进行交互。以便前后台选择各自的框架不相互影响。举个例子:当后台开发人员选择 Java 的时候,前台可以不用 JSP 来编写前端页面,可以继续使用前端框架Vue/React/Angular等框架进行开发,同样的前端选择React,也不影响后台使用什么样的框架。真的需要前后端分离吗?过去,听说 TDD (Te
前后端分离:前后端之间使用 JSON 来交流,前台和后台两个开发团队之间使用 API 作为契约进行交互。以便前后台选择各自的框架不相互影响。举个例子:当后台开发人员选择 Java 的时候,前台可以不用 JSP 来编写前端页面,可以继续使用前端框架Vue/React/Angular等框架进行开发,同样的前端选择React,也不影响后台使用什么样的框架。
真的需要前后端分离吗?
过去,听说 TDD (Test-driven development,测试驱动开发) 可以改善代码的质量,我们便实施了 TDD;接着,听说 BDD (Behavior-driven development,行为驱动开发) 可以交付符合业务需求的软件,我们便实施了 BDD;后来,听说 DDD (Domain-driven design,领域驱动设计) 可以分离业务代码与基础代码,我们便实施了 DDD。今天,听说了前后端分离很流行,于是我们就实施了前后端分离——这就是传说中的 HDD(Hype-driven Development,热闹驱动开发)。
前后端分离在过去的两三年里,确实特别的热闹。但是我们怎么才能知道,是不是需要这样的架构呢?
页面交互是否复杂 ? 是简单的提供页面给用户浏览?或者想要支持复杂的用户操作?是否需要搜索引擎优化?如果需要的话,那么从一开始我们就需要考虑后端渲染。
能提升开发效率吗?如果不能有效的提升开发效率,为什么要作死呢?
是否会提供 API 给 APP?如果我们已经有一个 API 提供给 APP,那么要做这件事就很容易了。如果未来会有的话,那么我们更应该尝试去分离。
前端的修改是不是非常频繁?如果不需要经常修改的话,那么这种优化便没有优势。
当然了,如果老板说,我们需要前后端分离,那就做呗!很多时候,一些技术决策都会由于战略原因,而发生一些有意思的变化。
摘自:《你真的懂前后端分离吗?》 — Phodal
© 版权所有,侵权必究。
更多推荐
所有评论(0)