● 摘要
Web可视化深入人心的今天,越来越多的项目需要一个Web前端页面来展示项目成果,提供用户交互。但是Web前端页面的组件样式基于晦涩的标记语言CSS和脚本语言Javascript,书写繁琐且难以维护。
为了帮助开发者更高效的开发Web前端页面,腾讯公司决定构建一个Web前端组件库,为开发者提供Web前端常用组件样式的封装。本文以Web前端组件库为对象,结合工作中遇到的问题,详细的对组件库的架构设计及具体实现进行了介绍。
本文通过对比国内外已有的Web前端组件库,总结了现有组件库的优缺点,并以此为依据进行了系统的需求分析与设计,构建一个基于CSS尚未定稿的新版本CSS3的组件库。
组件库基于SASS框架主要使用CSS3语言进行开发。为了保证易用性,组件库仅以CSS类为接口,无需额外的Javascript代码来初始化。为了保证性能,组件库使用CSS3进行动画设计,避免了Javascript动画的低效;使用特殊符号和CSS hack技巧模拟图片,避免了引入图片造成的额外请求和空间占用;使用CSS代码压缩技术对组件库进行压缩,保证组件库只占用很小的体积;并且基于CSS3的GPU开启原理设计了CSS3专属的动画加速器,进一步提升组件库性能。为了保证可扩展性,组件库基于面向对象的思想编写,提供四层功能模型,方便复用和继承。
组件库详细设计和实现了导航、面包屑、翻页、折叠组件、轮播广告、下拉菜单、图像控件、进度条、工具提示、弹出对话框、按钮、按钮组等的十余个组件的多种样式封装。通过功能测试和性能测试保证了稳定性。目前组件库已经供腾讯公司内部使用,为开发人员节省了大量时间,并且页面样式时尚,交互优雅,达到了组件库预期的目标。
相关内容
相关标签