提问:
前后端分离的意思是,前后端只通过 JSON 来交流,组件化、工程化不需要依赖后端去实现。 可以通过 Angular 或者 FIS-Pure 等,以实现组件化;通过 FIS 之类的工具去做工程化。 有哪些好处或弊端?现在的发展趋势是否往这个方面发展?
答:
- 前后端要不要分,怎么分,是由具体业务决定的。
- 需要搜索引擎带流量的,必须由服务器端渲染。
- 需要用户登录且不能由搜索引擎抓取,前后端分离是鼓励的。
- 需要App和后端交互,必须分离。
- 但是分了就表示架构合理?不一定。设计一套合理/可升级/客户端友好的API也不容易。
- 要想分离好,前端开发要了解后端架构,后端开发要虚心学习JavaScript,双方如果互相鄙视,分了也白搭
答:
简单来说,对于原始的Web开发模式,前后端分离的意义当然是非常大的,但是是不是要具体到:
前后端只通过 JSON 来交流,组件化、工程化不需要依赖后端去实现。
这个有待商榷,具体的实现方式多种多样,前后端的解耦程度是否越大越好?这个不一定。Web开发是一个很复杂的工程性的问题,前后端分离只是其中一个小问题,采用何种方案进行分离,在什么层面/维度进行分离?这些都是实践中要根据具体情况去进行抉择的事情。
最后回到问题
Web 前后端分离的意义大吗?
1、该网站前端变化远比后端变化频繁,则意义大。
2、该网站尚处于原始开发模式,数据逻辑与表现逻辑混杂不清,则意义大。
3、该网站前端团队和后端团队分属两个领导班子,技能点差异很大,则意义大。
4、该网站前端效果绚丽/跨设备兼容要求高,则意义大。