如何做好前后端分离
这个问题很久之前就在思考了。从我从事Web开发工作,基本上都是在做前后端分离的项目,没有写过jsp一类的东西。
带着这个问题,查了很多资料,先说说几篇感觉有价值的文章:
第一篇问答有有个回答:
前后端分离的由来是:以前开发网站都是 jsp、asp 这类动态脚本。
jsp、asp这种参杂了后端语言、javascript、css、html 的混合脚本,使代码开发和维护都极其不方便。
随着前端交互越来越复杂,jsp、asp 这种脚本语法已经不能满足开发的需求了。
于是前后端的概念就提出了:前端人员负责页面展示和交互,然后通过 ajax 调用后端人员写好的数据接口。
第三篇是开源社区的讨论,有个回答我挺认同的:
我的想法比较极端吧大概,我觉得前后端分离应该是后端只提供接口、返回数据(JSON数组、判断用的响应值),前端获取到数据、构建页面。按这个说法的话后端用模板引擎就不算前后端分离了。 然而这样搜索引擎不好
其实,若不考虑SEO,做成SPA是非常爽的。前后端都只关注自己的业务。但若要考虑SEO,要么用传统的jsp,要么要用现在流行的node做服务端渲染。json数据保密呢,若考虑seo,也要做服务端渲染。这个需要自己实践一下,但现在自己暂时别离Node.js了,过些时日再实践研究。