论文部分内容阅读
近些年随着互联网尤其是移动互联网的不断发展,Web应用的需求和复杂度不断增加,Web前端代码体积越来越庞大。为解决前端开发过程中出现的代码可重用性不高、扩展性差、维护管理困难、项目构建低效等问题,涌现出一批优秀的前端框架。然而,在移动网络中,网络环境相对较差,体积庞大的前端框架本身可能造成网络瓶颈,而频繁的DOM操作也使页面刷新效率成为前端性能主要制约因素之一,Web应用开发对能解决以上问题并合理缩减自身体积提高加载效率以适应低速网络环境的轻型前端框架的需求越来越迫切。本文采用MVVM架构,实现了以虚拟DOM为核心的轻型前端框架Luna。具体研究内容如下:首先,对该前端框架进行业务需求分析,确定框架的总体架构,确定该框架MVVM主要功能模块,并分别对Luna前端框架各模块进行了详细的功能分析以及对该框架的性能优化和框架代码构建需求进行了详细分析,确定了性能测试的相关指标。其次,基于MVVM架构对该前端框架进行了设计与实现。前端框架Luna由种子模块、模型数据模块、视图模块和视图模型模块四个基本模块组成,本文对各个模块分别进行了详细设计和代码实现。种子模块提供了框架必要的环境准备和通用功能函数,并针对JavaScript语言特性做了必要补充,实现了组件化设计和前端路由等前端框架必要功能,并为该框架提供了入口。模型数据模块以数据对象为核心,实现了前端数据的存储、读取、监听、更新和与服务端交互等相关功能。视图模块以虚拟DOM为核心,通过JavaScript对象模拟DOM树结构,并比较视图改动前后虚拟DOM差异来减少DOM操作,提高了页面的渲染性能和加载效率。视图模型模块将模型数据和视图模块进行自动关联和双向绑定,使开发者无需手动维护视图更新,实现了视图与数据的解耦,使数据更改可以同时更新所有关联的元素节点和组件。接着利用缓存机制减少HTTP请求次数,并通过对框架代码合理压缩与合并,减少了框架文件的网络负载,进而提高了页面的加载速度。最后,对本文实现的Luna前端框架各功能模块的主要功能做详细测试,通过构建Web应用和模拟移动网络环境测试其关键性能指标,并与业界流行的React和Angular框架进行性能测试对比,同时对测试结果进行分析。本文实现的前端框架Luna所采用的MVVM架构有效地解决了前端代码组织混乱、可维护性差等问题,采用优化的虚拟DOM技术提高了页面加载和刷新效率,利用压缩缓存技术缩减了代码体积,并使用合理的构建方式使提升了应用开发者的开发效率。该框架有效地提高了在特殊网络环境下的前端性能,基于该框架的Web应用页面加载速度在较差网络环境中相比于主流前端框架得到了较大提高,为前端框架的设计与研发提出了新的解决方案。