`
wenqiang06ky
  • 浏览: 71739 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Web GUI设计

 
阅读更多
Web GUI设计
1  概述      
    web应用程序是一种在Internet浏览器上使用的分布式C/S系统。Web应用程序中的用户事件是通过菜单项、动作按钮和活动链接(超链接)实现的。链接到其它网页的方式有:
    A、网页标题下的菜单栏(About the Book、Readers Area和Instructors Area)。
    B、菜单栏下面的面包屑区域(这个页面上只有一个面包屑项Main)。
    C、左边和右边的菜单面板(使用向下导航和侧面导航+可以到达其它菜单列表)。
1.1 Web应用系统的使能技术  
大多数Web应用系统的核心使能技术是Web服务器,它给浏览器提供网页。应用服务器维护应用系统的状态,以跟踪在线用户的动作。
    脚本和小程序(applet)用于创建动态的客户端页面。脚本(例如JS编写的脚本)是一个由浏览器解释执行的程序。
   网页的脚本也可以在服务器执行,这样的网页称为服务器页。服务器页可以访问数据库服务器的所有资源。服务器页管理客户端的会话、放置cookie到浏览器、创建客户端页(从服务器的业务对象创建页面文档并发送给客户端)。
   服务器页中的脚本使用标准数据访问库来访问数据库。典型的使能技术包括开放数据库连接(ODBC)、Java数据库连接(JDBC)、远程数据对象(RDO)和ActiveX数据对象(ADO)。
    Web服务器的使能技术一般有超文本标记语言(HTML)页、动态服务器页(ASP)或Java服务器页(JSP)。网页的使能技术有客户端脚本(JS或VBStcript)、可扩展标记语言(XML)文档、Java applet、JavaBean或ActiveX控件。
    客户端通过超文本传输协议(HTTP)从服务器获得网页。
    cookie是保持客户端和服务器之间连接的原始机制,称为无连接互联网系统。保持客户端和服务器连接的更先进技术使Internet成为了分布式对象系统。在这个系统中,对象使用OID唯一标识,通过获得彼此的OID进行通信。主要机制有CORBA、DCOM和EJB。通过这些技术,对象之间的通信可以不使用HTTP或Web服务器。
    部署体系结构支持更先进的Web应用系统,包括4个层次的计算节点:
       1)浏览器客户端。
       2)Web服务器。
       3)应用服务器。
       4)数据库服务器。
    客户端节点的浏览器可以用于显示静态或动态网页。可以下载脚本和小程序,并在浏览器上运行。通过使用对象,如ActiveX或JavaBeans,可以在客户端浏览器上执行附加的功能,可以在客户端运行浏览器外的应用代码,以满足其它GUI需求。
    Web服务器处理来自浏览器的页面请求,并动态生成页面和要在客户端执行和显示的代码。Web服务器也处理与用户会话的客户化和参数化。
    当系统实现涉及分布式对象时,应用服务器是不可或缺的,它处理业务逻辑。业务构建通过构件接口(如CORBA、DCOM和EJB)向其它节点提供接口。
       业务构件封装存储在数据库中的持久数据。它们通过数据库连接协议(如JDBC,ODBC)与数据库服务器通信。数据库节点提供可扩展的数据存储,并支持多用户访问。

1.2 内容设计         
    桌面设计和Web内容设计的区别似乎是设计师不一定认识网站或Web应用系统的观众。因此,设计必须更具有适应性,并考虑到不同用户的需要、兴趣、技能和偏好。
    内容必须与网站或应用系统的性质和宗旨相匹配。SKlar(2006)区分定义了从网站到Web应用的不同内容的目标:
    1)广告牌——为组织建立Web展现。
    2)出版——出版报纸和期刊。
    3)门户网站——发布自己的信息内容。作为一个门户,包括Web服务和资源,如购物、搜索、电子邮件(广告内容是其主要的收入来源)。
    4)特殊利益、公共利益和非盈利组织——根据目的,它包含新闻、联系信息、链接、下载文件等。
    5)博客——网络博客的简称,它包含私人或有限范围内的页面,反映博客作者的独特兴趣或努力,并邀请其他“博客作者”的参与。
    6)虚拟画廊——包括作家、艺术家、摄影师、音乐家等的文字、视觉和视听作品的例子(通常是有加数字水印版权的材料)。
    7)电子商务、产品目录和网上购物——(无疑是一个应用系统,不仅仅是一个网站)使得通过互联网开展业务称为可能。
    8)产品支持——传播信息、操作说明、升级、咨询、文档、指南和其他对产品用户和消费者的支持。
    9)企业内联网和外联网——允许员工通过私有局域网访问组织的软件应用系统,包括文件、政策、电子邮件等(所有这一切也能以外联网的形式)。

1.2.1 网站到Web应用系统的统一
    Web应用系统是一个包含部分或全部未确定页面内容的网站。只有当访问者从Web服务器请求网页后,其内容才最后确定。因为最后的网页内容根据访问者的行动请求变化,这种网页称为动态网页。
    顺便提一下,静态和动态网页之间的区别还源于Web服务器和应用服务器之间的区别。Web服务器管理静态网页。它找到浏览器请求的页面并将它们发送到浏览器。应用服务器管理动态网页。它从Web服务器接收不完整的页面,扫描网页代码,与数据库通信并请求需要的信息,在网页上插入新的信息,并把网页传给Web服务器。

1.2.2  表单
    Web应用系统在浏览器的总体框架内执行,框架包括标题栏、菜单栏、按钮栏和URL地址栏。应用系统的内容又构成其自身的框架,包括导航框架、动作按钮和表单。
    表单在页面中显示信息给用户,允许输入数据或发送信息组合给服务器处理并显示结果。
    Web表单域的设计指南与桌面应用系统的设计指南类似。Fowler和Stanwick(2004)列出并讨论了以下指南:
    1)决定域类型。(是否允许使用任意文本?是否只限于预定义的值?是否为必填值?)
    2)确定域的适当大小——通常情况下,域框架或盒子的大小与域的长度相同,但请记住,域可以横向滚动,因此对于大的域,其大小可以小于域的长度。
    3)尽可能指定域值的应用格式——文本居左,数字居右。
    4)在区域内提供键盘和鼠标导航(但,数据录入者宁愿通过键盘输入数据,讨厌被迫切换到鼠标,所以不要那么做)。
    5)如果应用程序逻辑允许,保留浏览器上对域值的剪切、复制和黏贴功能。
    6)对域进行标记,并且要么左对齐,要么右对齐(左对齐适合域长度不同和/或用户很可能会从一个域跳到另一个域输入数据)。
    7)将长表单改成多个分割的表单或(如单个交易表单的例子)确保没有“假底部”——也就是说,在域之间没有任何可视的指示,这种指示会使我们以为已经达到了表单底部。
    8)用视觉上有吸引力的方式对域分组(不一定用盒子或框架)。
    9)确保对任何有限制值和所需要的域有明确的视觉提示,包括为视障人事提供的文本。
    10)尽可能使用下拉列表,但当列表项中的内容太多,以至于在下拉列表中无法显示时,用带有滚动条的弹出列表来代替下拉列表。
    11)如果可能,请使用复选框和单选框。

1.3 导航设计    
    GUI屏幕(窗口、网页)之间的导航涉及用户的动作,又涉及应用程序的代码。在桌面应用系统中,有菜单项、工具栏按钮、命令按钮和键盘支持用户在窗体之间的导航。Web应用系统中存在类似的功能,虽然看上去有所不同,特别是菜单项和工具栏按钮。事实上,在Web应用系统中,不存在桌面上的菜单栏和工具栏的感觉。另一方面,桌面上不存在Web应用系统中为用户导航的活动链接(超链接)。
    如果有什么区别的话,Web应用系统中的导航往往比桌面中的用户界面更友好。它没有主窗口和辅窗口的区别——每个网页都可以表现出混合的导航能力;各种各样的菜单可以与按钮、链接和导航(导航面板)共存。
    应用程序网页之间的导航要精心策划。无论是直观的还是页面上的导航面板,导航必须有明确的用户可以理解的逻辑,使用户不会在网页的“超空间”中迷失。
    基于交易的商业应用倾向于加强页面中工作流程的活动顺序。在初始阶段,当用户查找产品或服务时,允许用户进行探索,但在后期则引导用户付款。数据输入的应用倾向于尽量少的导航,由少量的较长的页面组成,以方便快速的输入,而不需要在页面之间切换。

1.3.1 菜单和链接菜单和链接是网页之间导航的两个主要工具。菜单和链接有相同的功效。链接的功效是进入另一个页面。菜单的功效也是移动到另一个页面,但偶尔菜单项可以在呈现另一个页面时做一些附加的处理。此外菜单可以分层,因此一些菜单项事实上并不进入一个新的页面,而是展现一个子菜单项的下拉列表。
    我们可以区分:
    1)顶部菜单。
    2)左手菜单。
    3)右手菜单。
    顶部菜单通常用于整个网站的导航。左手菜单和右手菜单的设计原则更灵活。左手菜单用于导航到达网站控制之外的网页,而右手菜单显示网站范围内的网页。当然,也可以把二者颠倒过来,至少有两种理由支持这样做:
    1)许多应用程序(与网站相反)仅有一个退出设施,且不允许向后或向前移动到网站或应用程序之外。
    2)对人们浏览页面的方式进行研究,发现通常用户查看页面的左边,然后看上边,最后从中间到右边。因此,把网站或应用系统的关键要素集中放在用户首先看到的左手边更为明智。

1.3.2 面包屑和导航面板
    有些特殊的菜单,主要功能是报告信息,而不是方便页面间的移动。它们是面包屑和其他导航面板——它们提供了当前页所在位置的可视化,应用于导航到此页。
     面包屑(breadcrumb)区域通常放在页面的顶部,刚好在顶部页面下面。该区域由一组链接标签组成,用于告诉用户它们的当前位置(他们当前工作的页面)。因此,导航项随用户在页面之间的导航而改变。通常情况下,它们还允许用户后退到以前访问过的页面。

    导航面板与面包屑类似,但是它们更有可能应用于交易应用系统,显示一个交易工作流程的所有步骤,且除非取消交易的进行,否则不允许移动到以前的步骤。通常,由前面页面的动作按钮导致工作流程中页面的向前移动,而不是点击导航面板。此外,导航面板在页面上的位置取决于设计师的判断,有可能不在页面的顶部。

1.3.3 按钮
    在桌面应用系统中,计算动作的调用有些时候可以在菜单项和按钮之间互换。在Web应用系统中,按钮是调用动作的主要工具,而菜单项只用于导航目的。按钮的功效是按下之后做一些事情。
    按钮的设计原则如下:
    1)如果按钮被放置在一个相关的按钮组中,且它们的文字数量没有明显不同,则它们的大小相同。
    2)把它们一起放在页面的按钮区域上,与输入数据的区域分开。
    3)如果网页比窗口长,则在顶部和底部重复放置相同的按钮。
    4)谨慎放到框架标签上,区分应用于个别标签的动作和应用于整个框架标签的动作。
    5)编程时忽略不耐心用户的多次点击。
    6)准确命名以显示将触发的动作(特别要表明,某些动作会保存到数据库,而某些只是暂时保存,用户可以撤销)。



























































      













    


分享到:
评论

相关推荐

    WEB交互&GUI设计趋势分析

    WEB交互&GUI设计趋势分析,UI交互易用性、稳定性、功能易用性

    CSS web GUI

    7. **GUI设计原则**:在CSS Web GUI设计中,应遵循易用性、一致性、反馈、简约性和效率等原则,确保用户界面直观、高效且易于理解。 8. **CSS预处理器**:Sass、Less和Stylus等预处理器允许使用变量、嵌套规则、...

    WebGUI

    安装上该组件就可以像设计windows应用...Visual WebGui使得开发者可以使用完全的WinForms服务器端的API,并且有设计时支持。通过借用WinForms的对象控件和开发方式的概念,Visual WebGui使得开发web应用变得非常简单。

    人机交互-任务4:图形交互界面的设计(web) 完整项目+成品

    本项目"人机交互-任务4:图形交互界面的设计(web) 完整项目+成品"聚焦于Web环境下的GUI设计,这通常涉及到网页设计、用户体验(UX)、用户界面(UI)设计等多个方面。下面我们将深入探讨这些关键知识点。 首先,GUI...

    WebGui:Web上的IMGUI(即时模式GUI)示例演示。 仅使用WebGL,GLFW和ImGui。 适用于编译为Web Assembly(WASM)

    WebGui WebGui是一个示例,显示了如何在Web浏览器中使用IMGUI用户界面。 在此处查看。 截屏: 本示例使用Emscripted将c ++编译为Web Assembly(WASM)二进制文件,可以将其作为应用程序在浏览器中运行。 来源取...

    Gizmox.WebGUI.SDK.Community.5.81.3.74.5_NET20

    总之,Gizmox.WebGUI.SDK.Community是.NET 2.0开发者的得力助手,它通过强大的控件集、直观的设计工具和优化的性能,为Web GUI开发带来了全新的维度。无论是初学者还是经验丰富的开发者,都能从中受益,轻松实现复杂...

    Gizmox.WebGUI.SDK.Silverlight.6.1.4.zip

    Gizmox WebGUI SDK Silverlight 6.1.4 是一个专为开发基于Silverlight技术的桌面和Web应用程序的软件开发工具包。这个压缩包包含的主要组件是 Gizmox.WebGUI.SDK.Silverlight.msi,这是一个安装程序,用于在开发环境...

    the essential guide to user interface design:an introduction to gui design principles and techniques

    9. **Web GUI设计**:针对Web应用程序,讨论HTML、CSS和JavaScript在构建响应式和跨平台用户界面中的应用,以及如何利用Bootstrap、Angular等前端框架。 10. **无障碍设计**:强调设计包容性,确保不同能力和需求的...

    webGui 文档

    ### 关于webGui的知识点详解 #### 一、概述与定义 **VisualWebGui**是一种用于构建企业级Web应用程序的技术框架。它通过提供一套类似Windows Forms的开发环境,使得开发者可以像开发桌面应用一样轻松地开发出功能...

    GUI设计软件GUI Design Studio Pro

    GUI Design Studio Pro是一款Windows下强大的gui设计软件,用户可以在不用编程和书写脚本的情况下快速创建原型。软件集成了拖放式的用户界面设计及原型设计工具,可以使产品构思文档化,创建各种原型,为开发者定义...

    Web GUI开发助手颜色吸取工具

    在IT行业中,Web GUI(图形用户界面)开发是一项至关重要的工作,它涉及到网站或应用程序的视觉设计和用户体验。为了帮助开发者高效地创建美观且一致的界面,颜色选取和管理工具扮演了关键角色。"Web GUI开发助手...

    Gizmox.WebGUI.SDK.Community.5.81.3.74.5_NET11

    Gizmox WebGUI是一款用于构建Web应用程序的开发工具,它允许开发者使用类似WinForms的界面来设计和编写代码,从而创建出具有桌面应用般用户体验的Web应用。 描述指出,这个SDK是为了扩展.NET 1.0的开发能力,特别是...

    VISIO WEB页面设计布局

    压缩包内的文件“Sketch-GUI-shapes-2k7.vss”很可能是一个包含GUI(图形用户界面)设计形状的Visio库,适合于创建网页元素如按钮、菜单、表单等;“GUUUI Web Prototyping Stencil 3.vss”可能是一个Web原型设计的...

    Gizmox.WebGUI.Forms.Catalog.5.81.3.74.5_NET20

    【标题】"Gizmox.WebGUI.Forms.Catalog.5.81.3.74.5_NET20" 指的是一个特定版本的 Gizmox WebGUI Forms 库,专为 .NET Framework 2.0 平台设计。Gizmox WebGUI 是一个用于构建富客户端Web应用的框架,它允许开发者...

    JAVA -- GUI设计报告.docx

    在本报告中,学生曹晓桂使用Java编程语言和集成开发环境...通过这个项目,学生不仅提升了Java编程技能,还加深了对面向对象编程的理解,掌握了GUI设计和文件操作的基本技巧,为未来更复杂的系统开发打下了坚实的基础。

    web 风格GUI实现

    在IT领域,GUI(图形用户界面)是软件与用户交互的主要方式,而“web风格GUI实现”是指将网页设计的元素和交互模式应用于桌面应用程序,为用户提供更熟悉、直观的操作体验。VC++(Visual C++)是Microsoft开发的一款...

    用于Gardener基于Web的GUI

    标题 "用于Gardener基于Web的GUI" 指向的是一个专为Gardener项目设计的Web图形用户界面。Gardener是一个开源项目,它主要用于自动化Kubernetes集群的生命周期管理,包括创建、扩展和维护云环境中的Kubernetes集群。...

    webgui:pilight 的官方 webGUI

    【标题】"webgui:pilight 的官方 webGUI" 指的是一个专为 pilight 设计的基于Web的图形用户界面。pilight 是一个开源项目,它允许用户通过无线信号控制家庭自动化设备,如灯光、电器等。这个官方 webGUI 使得用户...

    GUI测试用例(设计手册)

    GUI测试用例设计手册是软件测试领域中一个重要的参考资料,主要针对的是图形用户界面(GUI)的测试。GUI测试是确保软件产品外观、交互性和功能性的关键环节,尤其是在开发大型Web网站或应用程序时,其重要性不言而喻...

Global site tag (gtag.js) - Google Analytics