一、文献综述
(一)国内外研究现状
随着互联网的迅猛发展,Web服务的各个方面都有显著的变化。用户层面来说,用户对Web前端的使用体验、交互操作流程、外观有了更高的要求;开发层面来说,前端开发在较长的一段时间不被重视,大多数前端人员也只开发HTML和CSS,前端没有自己的架构,甚至部分前端工作都由后台完成;Web应用本身来说,Web应用正在往兼容多端、高性能的方向发展,为了快速迭代产品以满足用户日益变化的需求,提高用户体验及提升企业竞争力,Web应用开发技术要求更加高效率地开发,并兼顾性能要求,方便快速迭代及后期维护简单。
但是传统的开发模式有着这样那样的不足。李宇、刘彬在《前后端分离框架在软件设计中的应用》中提出传统开发模式虽然开发效率较高,但是在JSP嵌入Java代码使得前后端逻辑耦合严重,前端人员在维护页面必须要会JSP,使得学习成本增高,并且项目上线后维护也十分不便。杜艳美、黄晓芳在《面向企业级web应用的前后端分离开发模式及实践》中提出传统的B/S(Browser/Server,浏览器/服务器)模式下的web开发中存在前端代码无法复用、性能在移动互联网中很难达到最优、大量多页面应用和单页web应用(SPA,single page web application)不能满足需求等问题,而且,在这种开发模式下,网页路由需要后端配合,前后端工作无法独立,再次迭代和维护效率较低,无法满足企业级应用的迭代速度。朱二华在《基于Vue.js的Web前端应用研究》中提出如果仍然采用传统的方式开发设计Web前端,会导致前期开发度和后期维护难度增大,可扩展性变差。麦冬、陈涛、梁宗湾在《轻量级响应式框架Vue.js应用分析》中提出传统DOM处理需要编写繁杂的选择器,逐级操作还原服务器需要的JSON数据格式,不但操作繁琐且易出现致命错误。孙娉娉、李新、史广军在《基于前后端分离的内容管理系统》中提出现有的内容管理系统大多采用B/S结构。以Java B/S开发为例,现有系统基本采用JSP JavaBean的模式,JSP页面负责显示以及接收页面请求,并调用相应的JavaBean来完成逻辑处理,在获取其返回的处理数据后转到相应的页面进行显示。但是随着社会的发展,在复杂的大中型项目中,需求不断变化,前端JSP页面修改影响到后端JavaBean的代码,前后端开发不独立,需要在页面上修改大部分的业务逻辑。可以看出,前端的开发依赖于后端,其改动成本较大,采用JSP JavaBean这种模式的B/S结构在调试、维护、代码重用方面存在不少的问题。
针对这些传统开发模式的不足,前后端分离开发呼之欲出。前端负责资源的展示,后端负责资源的传输和处理。这就离不开REST模式,2000年,Roy Fielding在对Web及HTTP进行了比较深入的研究后,在其博士论文《Architectural Styles and the Design of Network-based Software Architectures》中首次对REST结构的风格及其思想进行了阐述。Paul Prescod在《Second Generation Web Services》中结合了REST对第二代Web服务进行了展望和设计。
(二)研究主要成果
在前端方面,Google公司的开源框架Angular.js首创的双向数据绑定、内置的模块注入和组件化的支持,为Web的发展提供了较大贡献;Facebook开发的开源框架React.js是第一个采用虚拟节点(virtual dom)技术的框架,使得框架足够轻量和灵活,推进了Web性能的提升;Vue.js以其轻量级、高性能、灵活性的特点,使其不仅适用于大型复杂的Web应用,而且适合移动场景,为Web技术的发展和性能提升做了进一步的贡献。模块构建工具Webpack的出现给前端性能优化带来更多便利。Node.js逐渐发展成一个成熟的开发平台,吸引了许多开发者,国内诸多大型高流量网站都采用Node.js进行开发。Node.js的发展,为Web研发模式带来了新的解决思路,即通过在传统的前端和后端之间引入Node.js作为中间层,使得前端和后端实现完全解耦,业界诸如阿里、百度都已有基于Node.js做前后端分离的应用。在学术界,针对web端性能的优化,也有大量的研究工作。2016年,孔令旭等人提出了一种基于Node.js实现的前后端分离的解决方案,并证明了其在性能方面的高效性;2017年,吴贺提出一种前后端解耦模式的开发方案,其核心是通过在传统的MVC结构上,引入Node.js作为前端和后端的中间层,从而解耦前端和后端,实现前端独立开发;同样在2017年,仇晶、黄岩等人提出基于Node.js中间层的Web开发,在传统的互联网前后端Web应用中,提出了引入Node.js作为中间层来解除前、后端之间的耦合关系的新的解决方案。
在后端方面,Ruby on Rails是一个近些年来十分流行的Web技术开发框架,它以Ruby脚本语言作为其基础,以其敏捷的开发模式而备受青睐。在其1.2版本以后就提供了对REST的支持,使得在其上构建REST式的资源非常的简单;Restlet是一个基于Java平台并实现REST架构风格理念的新型框架,它的各种Restful Web Services的实现提供了支持,包括面向资源的Restful Web Services;Spring是时下Java平台下应用最广泛的轻量级框架,Spring3开始已经明确对Restful Web Services提供支持。
(三)发展趋势
以上是毕业论文文献综述,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。