论文部分内容阅读
众所周知,Web应用是典型的浏览器/服务器(简称B/S,下同)架构的产物,B/S架构以其轻量级、易用性强、使用灵活等优点已经逐渐成为主流的应用程序架构,但是Web应用开发领域也面临着许多挑战:浏览器端方面,需要减少冗余的界面渲染和页面刷新带来的性能损失;在通信方式方面,传统的HTTP协议只能完成从浏览器到服务器端的单向请求,然而实时全双工通信方式越来越成为普遍的Web应用需求;在服务器端方面,由于Web应用主要的计算任务都会交给服务器端来完成,服务器将是Web应用主要的计算性能瓶颈。 为了解决上述问题,本文首先基于实际Web项目开发过程中的需求,给出高效浏览器端数据访问框架的总体设计,包括框架的体系结构,核心技术间的组织关系和常用的公共服务。 在此基础上,在浏览器端方面,为框架引入Pjax技术。利用Pjax的技术特性,可以使用户的页面操作不再完全的刷新页面,服务器也不再需要返回冗余重复的完整页面数据,恰好能够达到精简服务器端返回数据的目的,从而缩短了用户操作的响应时间。 然后,在通信方式方面,为框架赋予了WebSocket功能特性,从而让开发者可以实现服务器端与客户端的双向信息推送,取代了传统低效的轮询机制,从而节省了带宽,减少了服务器计算资源的浪费。 接下来,在服务器端充分配合并利用浏览器端页面缓存技术,将用户在使用Web应用的过程中所浏览过的数据合理地缓存在客户端,在客户端再次访问到同一数据时使用缓存来代替直接向服务器发请求获取的数据,从而减少了服务器的重复计算。此外,当被缓存的计算结果需要被更新时,框架会配合WebSocket技术推送更新后的数据,通知客户端对缓存进行更新。 最后,将本开发框架应用到实际的Web应用开发项目中,并对框架性能以及易用性进行实验验证。