传统开发痛点:
前后端无法做到并行开发
1、前端需要后端环境的支持
2、html放在Server的模板引擎中,前端与html的操作难度提升,bug的出现和解决与前端不能第一时间操作到html而引起。
如果不使用代理,必须本地搭建Server环境
前后端沟通成本增加
Server需要关注模板里的渲染内容
前后端职责没有完全解耦
解决方案:
基于Node的前后端分离
理想的前端
怎么做前后端分离?
前端:负责View和Controller层
后端:负责Model层,业务处理/数据等
优势
1、url design (遵循Restful API)
2、我们可以根据场景决定在服务端同步渲染,还是根据view层数据输出json数据
3、Bigpipe,Comet,Socket...可以根据具体业务自主选择
回归问题
1、前后端可以并行开发
后端不会和前端产生直接的通信,是通过Node层产生2次通信,然后才会产生数据交流。服务端只需要和Node层制定好通信数据格式,具体用什么格式返回给前端由Node层自己决定。解放了后端的view、control层,同时前端的自由得到了解放。
环境:在本地启Node环境就可以;
html: 交给Node层管理由前端管理,对性能的优化更便捷,比如(缓存、React服务端渲染)。自主的选择是通过同步的方式输出页面还是异步的方式。总而言之就是前端自由了!
2、在本地搭建Node环境就可以了,不需要JAVA、PHP了。
3、前后端沟通的成本就只有数据的交换的层面了,而且还是Node层的。
4、Server放开了对View层的掌控。
5、解耦前后端,后端更注重业务,前端掌控了html、router。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。