HTML 5 是近十年来 Web 开发标准最巨大的飞跃 , 其设计宗旨在于减少网络应用对于浏览器插件的需求, 给站点带来更多的过媒体元素[1]. 与 HTML 4、 HTML 3 等版本不同 ,HTML 5 并非仅仅用来表示 Web 内容 , 它更具有将 Web 带入一个成熟的应用平台[2].
1 HTML5 特性分析
HTML5 大大简化了编程工作, 使 Web 程序更容易地访问各类设备和应用程序, 并且提供了很多重要的新特性[3-4].
(1) 新的标记语言标准HTML5 比之前的 HTML 版本更新了标记语言及其附属的标准, 包括访问和操作 HTML 文档结构 (DOM) 的标准; 全新的级联样式表 (CSS) 标准, 用于定义 HTML 文档的外观和呈现方式以及 JavaScript 脚本语言。
(2) 实现基于标准的富 WebHTML 5 实现了富应用的新 API, 诸如图形 、 动画 、 多媒体, 在此之前需要通过 Flash 等各类插件实现这些功能, 使用上述插件技术不仅带来安全隐患, 而且限制了受众的范围。
HTML 5 提供的 audio 和 ideo 等标签为 Web 开发者们提供了嵌入媒体方面的极大便利, 尤其是采用中立的编码标准解放了浏览器厂商的开发自主性。
(3) 革新的结构HTML5 标准中引入了一整套新的元素 , 使建构网页更变得更容易。 使用这些元素具有明显的优点: 当与标题元素联同使用时, 产生了一种使用标题级别标记嵌套章节的方法,这将超过以前版本 HTML 的标题级别。
2 Web 富客户端网页设计方案
2.1 单页面开发模式
目前, Web 程序的界面开发模式有单页面和多页面两种,基于 HTML5 的 Web 富客户端实现 Web 单页面应用, 与 2.0版本的多页面应用相比, 单页面应用具有以下优点:
(1) 用户操作简单、 友好度高。
在单页面应用上, 添加、 修改等一些操作采用弹出层的方式实现, 而在多页面应用上, 甚至每一个具体的功能, 都需要跳转到一个新的页面完成, 当用户完成该操作时, 再返回到原始页面, 用户操作复杂, 友好度低。
(2) 易于开发、 维护本系统采用单页面的应用开发模式。 主页面布局如图 1所示。以下对各区域的功能进行解释。
1) 客户和登录用户信息区此区域的上部份由文字或图片展示系统当前部署到的客户的信息, 下部份展示系统当前的登录用户的欢迎信息。 此区域的信息不应该是静态的, 而应是根据系统的实际环境实时更新的。
2) 系统标题栏区此区域显示系统的标题, 如本系统的标题舜阳电压质量分析管理系统, 因为系统的标题是不会轻易更改的, 因此本区域可设计成静态区域。
3) 报警信息显示区此区域显示监测点的报警信息, 报警信息是由左自右滚动显示的, 并可自由配置文字颜色、 滚动速度、 显示条数,此区域的设计需要一定的伸缩性。
4) 常用功能区此区域是系统的常用功能集合, 包含 4 项功能: 系统设置、 密码修改、 用户注销、 切换主题。
5) 组织机构树形菜单区此区域是系统部署到的单位部门的树形菜单展示, 是可以收起和展开的, 其顶级部门是当前登录用户所属的部门, 即当前登录用户只能看到他所属部门以及下级部门的树形菜单展示, 无法看到上级部门和他的其他同级部门的树形菜单节点。
考虑到树形菜单可能会存在数千个节点, 此区域的设计应该要及其注意其性能, 并且应该提供一个供用户模糊搜索菜单节点的搜索框。
6) 主菜单和二级菜单区本系统的主菜单采用 Tab 菜单模式, 系统的每一个模块设置一个 Tab 菜单项, 每个 Tab 项包含一个二级菜单, 二级菜单可以是一个工具栏, 上面集成了该模块的一系列子模块,每个子模块是一个单独的页面, 点击某个二级菜单项时, 在应用区打开该项所代表的子模块页面。
7) 应用区应用区即是系统具体子模块的功能展示操作区域, 此区域以一个浮动框架的形式将一个单独的 HTML 页面包含进来,每单打开一个新的子模块时, 应该移除代表上一个子模块的浮动框架, 以避免主页面挂靠过多子页面, 造成浏览器假死。
根据以上功能以及区域位置的划分, 可以将主页面按功能区域划分为 3 个模块:
1) 顶部面板此模块是若干个小模块的集合, 其主要部分是常用功能区和报警信息显示区。
2) 左部部门树面板此模块的主要作用是实现部门节点的选择反选, 上下级部门节点的联动, 部门节点的模糊搜索, 向后台传递部门节点选择模型。
3) Tab 菜单面板Tab 菜单面板包含主菜单栏、 副菜单栏以及客户区。 其主要作用就是实现子页面的载入及移除, 实现系统权限控制的前台部分。
2.2 页面视图
此模块的作用主要是完成对以上各个模块的整合, 将一系列的功能模块组合成系统的主页面并负责显示。页面的设计图, 如图 2 所示。
2.3 后台架构
基于 HTML5 的 Web 富客户端系统采用 SSH2 架构, 针对网页处理数据量异常巨大, 导致对系统的资源要求非常苛刻,在非分布式的系统处理中, 采用 SSH2 架构容易出现性能瓶颈, 从而影响系统处理其他业务逻辑, 对系统的整体性能造成影响。 因此, 本系统采用两套架构方案, 基本架构和辅助架构。
系统的主要部分采用 SSH2 架构, 即 struts2+spring+hiber-nate, 系统在纵向上按业务流程划分为 3 个层 , Action 层 、Service 层和 Dao 层, 由 struts2 在 Action 层处理客户端请求并实现 MVC, hibernate 作为 Dao 层的 ORM 框架处理数据持久化方面的逻辑, spring 作为一个中间层的容器, 统一管理系统的业务逻辑。
系统遵循接口编程的原则, 所有的 Action、 Service 和 Dao都应该定义接口。 在纵向上划分为 Action、 Service 和 Dao 3 个层, 横向按功能模块划分, 每一个具体的子模块应该拥有其对应的 Action、 Service 和 Dao 层。 据此思想, 在子模块的子一级功能中, 应当对其进行封装, 以使各个不同的子功能之间不相耦合。 系统在 Service 层上应该使用 spring 的 AOP 机制实现系统的事务管理、 日志记录功能, 可以编写一个通用的Dao, 所有其他 Dao 都继承自此 Dao, 以减少 Dao 层的开发量。 系统后台的基本架构如图 3 所示。系统的辅助系统处理数据查询量大问题, 在非分布式的系统中, 使用上述架构容易导致资源枯竭造成系统崩溃, 故而数据查询模块不采用上述架构, 而采用传统的 servlet+jav-abean+jdbc 的架构模式。
采用传统的架构模式并不意味着就是最简单、 最基本的模式, 为了减少 jdbc 层的开发, 首先, 该辅助架构应该将 jd-bc 操作封装成 jdbc 模板 , 提供 ResultSet 到 Java 集合的映射 ,以提供一个统一的数据集接口。 该数据集除了由 jdbc 操作从数据库中获取数据外, 还应提供一个外部接口, 用以构造该数据集。
由此可知对于该辅助架构, 它的底层是一个数据集的提供者, 该数据集提供者有两种方法获取数据集, 一是通过 jd-bc 接口从数据库中获取数据并将其转化为 Java 集合 , 二是通过外部接口设置其数据集。 数据集总是和模型一并存在的,有数据集就意味着有构成该数据集的模型, 辅助架构的数据集提供者必须是统一的、 通用的, 而数据模型肯定不是唯一的, 对于每一个不同的业务, 可能都会有一种不同的模型,因此, 对于该数据集提供者, 可以采用 Java 泛型设计模式。
比如 DataQuery 类有 3 个属性, list 属性表示该类所封装的数据集, 它可以是由 jdbc 操作从数据库中获取的, 也可以是由外部设置进来的; sql 属性表示当该 DataQuery 是由 jdbc方式构造时, 用以从数据库提取数据的 sql 语句; totalCount 属性表示数据集的大小。 DataQuery 类有 5 个方法, 其中两个构造方法, DataQuery (in sql: String) 构造方法表示该构造方法接收一条 sql 语句, 由 JDBC 方式构造该数据集, 当由此方式构造数据集时, 对数据的提取以及到 Java 集合的映射操作被封装在了 excute() 方法中, 这是一个私有方法。 getData 和getAllData 方法顾名思义, 前者是返回原始数据集中指定位置、指定长度的新的数据集, 后者是返回整个原始数据集。
3 分层开发模式
基于 HTML5 的 Web 富客户端网页设计采用软件体系架构设计中常用的分层的设计方法, 分层的设计方法是软件体系结构设计中最为常见也最重要的一种方法, 从上到下分别是:表示层 (UI)、 业务逻辑层 (BLL)、 数据访问层 (DAL) 和数据层 (DL)。 4 层之间相互作用的关系图如图 4 所示。
采用分层的软件结构使开发人员可以只关注其中的某一层进行设计与开发, 可以降低层与层之间的依赖关系, 在需求变化时可以方便地用新的实现替换原有的层次实现, 更有利于软件结构的标准化和各层逻辑的复用, 也在很大程度上降低了后期软件维护的成本。
4 基于 HTML5 技术的表示层开发
表示层位于整个软件体系的最上层, 也是和用户关系最紧密的一层, 主要用于接收用户的输入数据、 页面操作等请求, 并把后台程序返回的数据和结果以适当的形式反馈给用户, 其主要作用是为用户提供一个友好的交互式操作界面。
由于 Web 监控软件采用 B/S 的设计模式, 所以系统中的表现层的主要形式是 Web 页面, 而在程序中的表现形式是ASPX 文件 . 在 Web 监控系统中需要通过大量的图表和曲线对生产运行数据进行显示, 因此采用最新的超文本语言版本HTML5 和 SVG 可缩放矢量图形 (Scalable Vector Graphics) 实现了更加良好的曲线与图表的显示效果, 同时为进一步地增加交互界面的可操作性, 可以选用第三方控件 Highcharts 和jqGrid 来实现软件平台中实时动态曲线和各种图表的显示。
5 结语
HTML 5 能够减少网络应用对于浏览器插件的需求, 给站点带来更多的过媒体元素, 基于 HTML5 新特性研究了 Web 富客户端网页设计方法。 对 HTML5 新特性进行了分析, 在此基础上给出了 Web 富客户端网页设计方案。 给出了单页面表现应用开发模式、 系统前台页面设计视图以及后台数据与服务处理架构设计, 并研究了基于 HTML5 技术的表示层开发技术, 为 Web 富客户端网页设计提供了方案与可借鉴思路。
参考文献
[1] 刘华星, 杨庚。 HTML5-下一代 Web 开发标准研究 [J] .计算机技术与发展, 2011, (08)。
[2] 邢晓鹏。 HTML5 核心技术的研究与价值分析 [J] . 价值工程, 2011, (22)。
[3] 刘斌。 HTML5-未来网络应用的核心技术研究 [J] . 自动化与仪器仪表, 2010, (04)。
[4] 马新强, 孙兆, 袁哲, 迟凤利。 Web 标准与 HTML5 的核心 技 术 研 究 [J] . 重 庆 文 理 学 院 学 报 (自 然 科 学 版 ),2010, (06)。
远看色,近看花,七分颜色三分花。色彩为网页提供了最有效的表述语言,同时也是最重要的表现方式,色彩是网页之魂。20世纪90年代,互联网兴起,网页设计随之发展起来。早期网络的带宽很有限,因而网页上多为对纯文本的编辑,图片很少,彩图更少。在色彩搭配...
21世纪我国科学技术水平大幅提高,计算机网络技术成为了推动各行各业事业发展的助推器,可以利用计算机网络快速发布和获取信息,同样在人们的政治生活、经济生活等多个方面发挥着无可比拟的作用。网页设计与计算机网络技术同步发展,也是应用计算机上网的主...
在Web标准出现之前,绝大多数的网页开发都采用表格布局法,Web标准技术的出现是一种技术的进步和更替,以CSS布局为代表的Web标准技术逐步为大家所接受。直到今天,Web标准已经成为网页设计行业的共识,成为Web开发通用的技术标准,传统技术方式受到挑战并逐...
图像处理技术的发展为网页设计带来了很多便利,且计算机在图像处理方面的技术还在不断创新过程。因此,图像处理在计算机网页设计中普遍被人们使用。随着我国经济的不断发展,对技术的要求越来越高,计算机已融入人们的生活,很难分离。...
随着互联网的普及, 网页设计成为一项重要的工作内容。与静态网页相比, 动态网页由于其内在优势, 能实现更多功能。JSP和ASP是当下网页制作中的两项重要技术, 本文就该技术进行探讨, 并对比了两项技术的异同。...
多媒体技术下的网页设计具有媒体综合性,在网页设计过程中,会涉及到很多的多媒体元素,比如音视频、图形图像、文字等,文件格式的增加、网络芯片处理速度的提升等,使得网页设计时需要使用多种多媒体元素进行网页制作,以便更好的满足用户的浏览需求。...
第4章视觉传达设计中的视觉疲劳现象分析4.1web端网页视觉疲劳分析数字化时代的来临,生活节奏的加快,科技的进步,新媒体媒介已然步入我们的生活。电脑终端媒介的视觉传达表象也值得我们分析思考。4.1.1网页中的阅读疲劳视觉疲劳的产生,在电脑终...
随着信息技术及互联网的不断发展,网站不仅成为人们了解时事,获取信息的主要途径,也成为各大企业自我宣传,扩大名气的主要方式,网站之间的激烈竞争在一定程度上推动了我国网页设计的持续发展。当下,网页设计正逐步由过去单调乏味的静态网页向着新颖有趣...
一、DIV+CSS技术基础传统的html标签中,既有结构标签,也有表现标签。用DIV+CSS技术设计网页,是一次设计思维方式的转变,其能使页面的结构与表现相分离,这样,同样的内容与结构,就可以使用不同的CSS样式实现不同的表现形式。通过定义CSS样式的方法...
随着国民经济的发展、人民生活水平质量的提高。自中国加入WTO以来,中国的贸易也逐渐走向全球,各行各业的贸易也走向国际。很多公司、企业、学校甚至政府部门都逐渐开始注重自己网页的制作,一时间网页成为各行各业必须具备的一个对外沟通和宣传的工具。 ...