不分离的架构问题(ftl,jsp等)
好处
简单方便,一个人可以搞定所有
不足
前端团队无法单独调试
前后端职责不清,分工不明
不具备多端应用的潜力 (PC,H5,安卓,IOS)
半分离架构
前端静态放Nginx,异步ajax获取数据
好处:
前后端团队解耦
后端API与数据重用
应用渲染更灵活
约定好接口与规范进行Mock开发
不足:
前端失去动态性,搜索引擎SEO不友好
全分离架构
设备(浏览器/APP)->应用网关->NodeJS->RestController
优点
如果应用网关发现请求的是浏览器来的,那么会从NodeJS获取前端要展示的页面。若为移动端APP则直接请求后端RestController接口.这里NodeJS组装好了静态页面,就不会有SEO不友好的问题了。也可以组件通用,前端不会失去动态性。
缺点
成本变高,技术变复杂,需要更多人力成本