Java Web架构实战篇:聊一聊前后端分离架构

前后端分离的演变

如何进行前后端分离

最开始的时候是SPA式的前后端分离法,单纯的从物理层做区分(认为只要是客户端的就是前端,服务器端的就是后端),这种分法不能满足前后端分离的需求,认为从技术职责上划分才能满足目前我们的使用场景,作者在工作中使用过两种方案:

优点:可以做url design,我们可以根据场景决定在服务端同步渲染,还是根据view层数据输出json数据,我们还可以根据表现层需求很容易的做Bigpipe,Comet,Socket等等,完全是需求决定使用方式。

缺点:需要前端来写Controller,以Java语言开发为例,需要前端学会Java开发,这样在处理复杂的业务逻辑的产品里双方都有Java 代码方面的重叠。

优点:前端不需要学习后台开发语言,只需要调用API服务就好,前后端代码分别统一管理起来 形成自己的对接规范。这样前端可以和不同的后台语言做对接服务。

RESTful Api和Json搭建前后台交互

备注:现在公司使用的RESTful 架构,后台提供一组设计原则和约束条件。

RESTful Api和Json 技术的使用让前后端交互日益便利

前后端分离以后就存在数据交互的问题,如何快速、简洁、有效和统一的在前后台进行信息的交互,成为分离以后必须考虑的问题。

幸运的是, RESTful思想和Json数据标准的出现,使得这种交互日益便利,在前端,我们耳熟能详的JS技术和框架对RESTful和Json的支持可以说已经水到渠成. 至于后端,不管什么语言,什么平台都有非常成熟的方案.

前后端的不同发展趋势使得前后端分离需求日益明显.

渐进式框架Vue.js

备注:先介绍到这里,有不同的想法可以下方留言一起讨论。

总结:众所周知,Web开发自出现以来一直存在性能,表现和体验的先天不足,但时至今日,事实已经并非如此,一些看上去甚至比桌面程序更炫的应用和网站横空出世,客户也被吊足了胃口。Web开发桌面化已经是无法阻挡的潮流,而前端开发的需求应该会向更加注重界面表现,速度流畅,用户体验的方向发展,而且要求只会越来越高。

而在后端稳定、性能、安全、存储和业务等核心问题依然是主流,所以前后端的需求必将日益分化,注重表现和注重内在的前后端开发人员必将需要适合自己的舞台。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180207G0YHQM00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励