如何让前后端的开发设计更加合理,更加分工明确,如何提高代码的可扩展性和可 维护性,在后期的 web 架构技术升级中尤为重要,这就迎来了后端为主的 MVC 时代。
(2) 后端为主的 MVC 时代 以分离前后端开发为出发点,为了降低前后端的结合复杂度,就有了 web Server 层
的设计思想架构,例如 Structs、Structs2.0、SpringMVC 就是这个时代的产物,称为后端 为主的 MVC 时代。
在这时代的 Web 项目开发中,随着 MVC 设计思想的广泛应用,项目整体的代码在 可维护性方面和可扩展方面得到的明显提升,MVC 从本质上来讲是一个非常好的分层 协作模式。这样一个设计模式让开发者清楚地懂得什么样的功能模块代码应该写在什么 层级,让整个项目的层级十分简单干脆,但是这样的前后端分工明确的架构依旧存在一 些经典的问题,如:一、前端环境开发严重依赖项目整体开发环境;二、前后端各自职 责依旧无法完全分离。
(3) Ajax 带来的 SPA 时代
在 2005 年,AJAX 技术的正式出现,给 Web 技术领域带来了一场性变革。有 人曾说 AJAX 技术是一种网页艺术,确实如此,AJAX 技术的出现使得 JavaScript 独领 风骚,屹立了 SPA 时代,即 Single Page Application 单网页应用时代。
这个时代下的 Web 项目层级中,前后端分工十分清晰了然,前后端的连接点为 Ajax 接口。这样一来,复杂的业务逻辑可以从服务端的 JSP 中转移到浏览器的 JavaScript 中, 虽然这样带来及极大的方便,但也同样将浏览器端变得复杂化,出现了如下主要问题: 一、前后端的接口约定规范制定;二、前端开发的复杂化把控。SPA 时代使得前端开发 变得复杂化,依旧面临着巨大变革挑战。
(4) 前端为主的 MVC 时代 为了降低前端开发者从事前端开发的复杂度,出现了大量前端框架技术,例如
AngularJS、JQuery 等等。这些框架设计的原则采用了 MVC 设计思想,层级结构明确, 带来了几个方面的好处:一、前后端开发职责清晰;二前端开发的复杂度可控;三、项 目部署相对独立。但依旧存在诸多问题,例如代码不可重复使用、异步同步渲染性能方 案、数据请求性能方案等等。
(5) Node 带来的全栈时代
前端为主的 MVC 设计模式解决了众多问题,但依旧存在许多不足之处。随着 Node.js 的发展兴起,使得 JavaScript 能够在服务端运行,这就意味着衍生出一种新的技术研发 模式。
在这种新的研发模式中,前后端分工明确,对于前端来说,仅需要两个 UI 层:1、 Front-end UI layer 处理浏览器层级的业务逻辑;2、Back-end UI layer 处理模板、路由、 数据获取、cookie 等。通过 Node.js,Web Server 层出现了 JavaScript 代码,这就意味着 这部分代码前后端均可复用,几乎可以说是一种完美的模式,但依旧存在一部分需要改 进的问题。