一、前后端分离及其意义

前后端分离的一个典型的案例就是单页面应用SPA(Single-page application)。单页面应用的主要特性就是网页的局部刷新,网页应用通过控制路由调用AJAX,后台只需要提供接口即可实现。这样的应用优势明显,不需要刷新整个页面,加载速度快速,用户体验更好。

从职责划分上,前后端分离能够完美的满足该项目的使用场景:

(1)后端主要负责,服务层开发;提供、存储数据,保证数据的稳定;专注于业务逻辑等。

(2)前端主要负责,UI交互层设计;控制逻辑、渲染逻辑的实现;数据的展现;优化交互、用户体验等。

前后端分离的意义:

(1)工作职责明确、效率提高

这种开发模式让前后端的开发人员各司其职,两者可以并行开发,在双方了解业务逻辑的情况下,可有效降低沟通成本。前端不再需要向后台提供模板或是前后端代码耦合、混杂。后端只需要提供给前端调用接口,前端只需要调用后台接口 路径即可,不需要编写任何后端代码。增加页面和修改路由也不需要后端人员参与,开发起来灵活高效。

(2)降低维护成本

使用前端MVVM框架,前端开发人员能够很快的发现问题所在,不需要后台工作人员参与,代码重构、维护问题得到改善。

(3)提高代码可重用率

页面模板、前端组件一旦开发完成,明显提高了代码的复用率,后续的开发进度将一日千里。后续如果想修改模板、组件的某些功能,则不需要每个页面、模块一一修改,只需修改模板、组件即可。

二、MVVM框架及开发模式优势

在说MVVM模式之前先说一下作为一个开发者来说,众所周知的一个设计模式:MVC(模型层-视图层-控制层)。其主要目的是分离视图层和模型层。虽然这是一种比较优秀的开发模式,很多开发者也对此比较满意,但是它还是存在模型代码少、控制器代码多、性能测试难度大等问题。

因此MVVM(模型层-视图层-视图模型层)模式诞生了,MVVM与MVC 的使命相同,都是为了将模型层与视图层进行分离。如图所示,View与 ViewModel绑定,前者向后者请求命令,后者与前者进行通讯,这样可轻松实现页面构建。视图模型层从模型层中取出数据,还能够处理视图层中的业务逻辑。因为它具备了重用性高、低耦合、可独立开发、易于测试等优点,所以自MVVM模式诞生以来,便受到了众多开发者的欢迎。

MVVM 框架开发模式_前后端分离

图 MVVM 模式