构建漂亮的应用
一个web app 的视觉设计不仅要看起来美,也要用起来让人觉得方便
你的应用的美学设计将直接影响人们使用应用时的易用性。一个有着丰富视觉感受的应用既能让人用起来愉快,又不会分散人的注意力。它注重美观,使用类似于native apps设计模式的同时又不失易用性。
美观的图片、颜色、字体和速度、易读性、易用性之间需要达到均衡。用户和文化背景也非常重要,因为在不同文化中,颜色、布局以及文字选择可能有不同含义。应用的视觉设计不仅要让用户感觉愉悦,也要让他们觉得使用方便。
使用开放web 特性来提供漂亮的设计
人们期待看到的web apps是与客户端或者mobile apps有着同样的视觉感受,而不是和平淡的web内容一样。
Figure 4.1 - 美不美由应用的使用者说了算!
开发者可以通过使用以下技术来创造丰富的沉浸体验:
1.具有交互性和用户相关性的实时绘图界面。
2.加强可读性的字体和排版特性。
3.增加美观的纹理、渐变和变形,又要保证不会让人分心。
4.提示应用当前进度的图像和动画。
5.高质量高分辨率的图片,无论用户如何调整浏览器窗口,这些图片都不失美观。
6.在应用中使用现实世界中也有的图像、图示和图标,增加熟悉感和现实感,让用户容易将现实生活中的经验转移到应用中去。
有用的资源:
文章
- 更有意义的字体 – 来自于 Tim Brown 所写的书的一掌
- 网页排版 – 来自于 Jason Santa Maria 所写的书的一章
- SAFARI CSS 视觉效果指南
手册
库& 框架
- GOOGLE WEB FONTS API -Google Web Fonts让每个人都能很快制作web fonts,包括专业设计人员和开发人员。我们相信在制作好网站的道路上不应该有任何障碍。
- TYPEKIT -简单、符合标准的、容易获取的、完全合法的web字体。
- CSS3 GRADIENT GENERATOR - 展现了CSS gradients的强大力量。
- ULTIMATE CSS GRADIENT GENERATOR -来自于 ColorZilla 的一个强有力的类似于Photoshop CSS gradient 编辑器。
样例
使用全屏
Web页面和web apps之间的一大区别就是它们如何使用可用的屏幕空间。好的web apps和客户端应用一样,会占满可用的屏幕空间。
要有一个好的视觉设计,设计者应该做到:
- 让你的app看起来像是一个应用,而不是一个有着左右边框的网站。
- 将可用的屏幕空间占满。因为你不能确定设备具体尺寸,那么让内容可以根据屏幕大小进行调整,支持屏幕窗口大小调整,并且在需要的时候使用滚动。
- 避免固定宽度的布局,因为这样的布局的左右边框会让用户联想起web页面。
- 使用Full Screen API在合适的时候提供一个全屏界面。
Figure 4.2 - 采用各种方式去引导你的用户!
使用全屏的web apps 包括:
Web apps 不应使用传统的导航元素
Web apps不应以来传统的浏览器导航元素,比如后退、前进、刷新按钮的等。它们也不应该使用传统的页面内导航元素,比如左侧或者顶端的向下链接。
尽管web apps不使用这些传统的导航元素,它们可能使用地址栏以保存或共享状态,使用向前或向后按钮在不同状态间切换。用户不再使用链接在不同页面间切换,而是使用按钮来改变当前内容的状态。。
让使用变得简单
人们在面对复杂冗长的注册过程时往往会望而却步。如果你的应用需要用户登录,那么,这个过程需要非常简单,只需要最少的信息就可以了。如果可能的话,让用户可以通过一个已有的OpenID来注册。在可以少管理一些账户和密码的时候,用户是非常开心的。
为了减少用户被吓走的几率,让注册登录过程更为简单,可以按如下方式去做:
1. 对于不想登录或注册的用户提供应用。
2. 对于选择注册登录的用户进行一些奖励,比如附加功能或是更为完整的服务。
3. 支持通过OpenID来注册,比如Google账户,以减少用户需要记忆的用户名和密码。
4. 如果你已经有了一个登录系统,考虑将其与OpenID建立关联。
在这些方面做的很好的WEB APPS :
Figure 4.3 – 让人们在初次尝试时就觉得简单!
有用的资源:
库 & 框架
- GOOGLE IDENTITY TOOLKIT (GITKIT) 是一个免费工具包,网站经营者可以使用它让用户通过邮件地址和密码登陆,并通过联合登陆替换密码。
- JANRAIN LOGIN HELPER 帮助网站实现基于电子邮件的注册,通过内联电子邮件验证帮助注册转换。
样例
- OPENID WIKI GALLERY – 一个使用用户已有账户的创新性的登陆注册应用。
提供离线功能,提升性能
开发者应该提供离线应用功能,并且通过在本地缓存应用数据来提升性能,在用户联网的时候只解析需要的数据。
要提升性能并提供离线功能,可以按如下方式去做:
- 使用应用缓存来确保浏览器将必须的应用代码进行了缓存,比如HTML、CSS和Javascript。
- 使用web存储来保存少量需要快速获取的信息,或者将这些信息保存在cookies中。
- 将组织好的数据存储一个web数据库,比如IndexedDB,它能让你存储大量数据,并且能进行高效查询和遍历。
在这方面做的很好的WEB APPS :
- AMAZON KINDLE CLOUD READER – 使用 AppCache, 本地存储以及WebSQL 可以在 iOS 上的以及桌面版的浏览器中工作。
- SPRINGPAD - 使用 AppCache, 本地存储以及WebSQL ,提供了一个不论是否在线都能使用的应用。
- THE NEW YORK TIMES WEB APP – 使用 AppCache 以及WebSQL ,提供了一个再iOS 以及桌面浏览器上都能工作的离线应用。
Figure 4.4 – 让数据保存在手边以提升性能!
有用的资源:
文章
库 & 框架
提供数据自动同步
Web apps让用户可以将数据保存在云中。用户应该能够确信他们的工作是安全的,他们不必去考虑他们是何时何地保存的数据,或者他们手上正在使用的是否是最新版本的数据。Web apps让用户可以集中于工作而不必担心工作是否安全。
为了提供好的体验,WEB APPS 需要:
- 在本地保存数据并经常和云端进行同步,这样人们就不必担心网络连接或者他们离开应用以后数据会发生什么
- 在用户第二次登陆时让用户处于他们上次离开时的状态,让他们能很快捡起上次遗留的工作,更有效率
有用的资源:
手册
Figure 4.5 – 使用AppCache 以及数据一致性技术来加强易用性,即使是在离线情况下!
通过提示让用户知道更充分的信息
客户端应用通过状态消息、进度条、对话框通知和其他方法来让用户知道更充分的信息,了解应用目前在做什么及其进度; web apps也应用做到这一点。
要让用户保持信息充分,了解应用在做什么及其进度,可以按如下方式去做:
- 显示加载提示,这样用户就能明白有一个任务正在进行中。
- 使用HTML提醒来提供一些用户可能想要实时知道的重要信息。
- 使用HTML5的进度元素来显示进度。
- 显示模态对话框(modal dialogs)来让用户提供更为具体的信息或者应用完成了需要进行的处理以后再让用户继续前进。
- 动画动作可以模拟现实世界中的一些动作,让用户更容易理解当前过程。
在这方面做的很好的WEB APPS:
有用的资源:
文章
手册
库 & 框架
- BOOTSTRAP MODAL – 根据传统的模态js 插件所作的简化
- JQUERY UI - jQuery UI 提供了一套综合性的核心交互插件、UI 插件以及视觉效果
允许使用拖放来上传或者下载文件
如果你的应用与处理文件相关,那么你应该让用户很容易完成相关操作。永远不应该让用户去猜测他们的文件是否已经下载下来了、文件下载到何处,也不应该让用户想要分享文件的时候感觉到困难。
在处理文件时:
- 在文件输入类型中使用多属性或目录属性让用户可以上传多个文件或者整个文件夹。
- 使用拖放,让用户可以从自己的计算机拖动文件到你的应用程序,反之亦然。
- 通过使用File System APIs来在用户机器本地来存储或处理文件。
在这方面做的很好的WEB APPS:
- GMAIL – 允许你将附件拖入邮件消息中。
- GOOGLE DOCS – 允许你通过将文件拖入浏览器来上传文件。
- BOX.NET – 通过将文件拖入上载部件让上传文件很容易。
- APPMATOR – 可以通将文件拖出浏览器来下载你刚刚创建的Chrome Web Store app package file ,让下载十分容易。
Figure 4.6 – 提供多文件上传。
有用的资源:
手册
将性能也看做是一个特性
没有什么比人们的时间更宝贵了。用户期待客户端应用加载快,响应快。Web apps同样需要达到这一指标。
要设计速度更快的应用,web apps 应该:
- 先加载应用,再加载用户数据。通过使用AppCache在本地保存你的应用代码,你可以减少启动应用时所需要的网络请求。因为应用通过缓存保存在设备上了,它就能立刻启动了。在应用需要解析任何数据的时候,都给出加载提示。
- 遵循网站及应用的快速响应的设计原则。你的web app仍然是基于web的,所以你仍然需要遵循网站设计时的一些快速响应的设计原则。
有用的资源:
文章
手册
书
原文链接:BUILDING GREAT WEB APPLICATIONS
相关文章:
Google Web App开发指南第一章:什么是Web Apps?
Google Web App开发指南第二章:设计Web Apps
Google Web App开发指南第三章:项目样例 (下)
发表评论
-
响应式Web设计资源整理
2012-03-02 22:50 843这篇文章是对以往发表在Smashing Magazine上关于 ... -
投身移动开发必须知道的20件事
2012-03-01 23:42 761移动开发需要具体的设计考虑。这个所指的范围非常广,可以从“ ... -
聘用NodeJS开发者的六个建议
2012-03-01 23:41 851假设你正想聘用一名Node ... -
[摘要]Vision Mobile发布2012跨平台开发工具报告 PhoneGap最受欢迎
2012-03-01 23:41 909国外知名调查分析机构V ... -
Facebook发力Mobile Web 推出支付和测试工具
2012-02-28 23:49 822Facebook入场了,在MWC大 ... -
【数据】《移动优先》作者:为什么移动如此重要?
2012-02-28 23:48 945三 年前,前雅虎用户体验总监Luke Wrobl ... -
重新审视Mobile Web
2012-02-28 23:48 703作者简介:Byron是一个 ... -
WebAppTrend周刊:Google Chrome工程师推出Web App开发指南
2012-02-26 00:52 1223从本周起,WebAppTrend将精选一周内(2月20日~2月 ... -
零基础学习Sencha Touch(资料和教程集合)
2012-02-23 00:41 1289译者注:本篇文章为开发者提供了零基础使用Sencha To ... -
Google Web Apps开发指南之项目样例(上)
2012-02-23 00:41 937如果缺少项目案例部 ... -
如何一步一步制作出高品质Infographic?
2012-02-20 21:23 981译者注:Infographic就 ... -
海豚浏览器CTO刘铁锋:Mobile Web App发展现状及展望
2012-02-18 00:10 881在计算机的发展过程中 ... -
海豚浏览器CTO刘铁锋:Mobile Web App发展现状及展望
2012-02-18 00:09 0在计算机的发展过程中 ... -
新手必读:PhoneGap入门六大问题
2012-02-18 00:08 1032很多PhoneGap新手总是需要一些基础问题的解答,Ado ... -
Google Web App开发指南第一章:什么是Web Apps?
2012-02-18 00:07 929很多人向我问起学习HTML5技术的权威入门资料,我总是毫不 ... -
Lanyrd是如何应用HTML5创建出优秀的移动Web应用的
2012-02-15 00:28 652当很多人都在等待观望 ... -
Appcelerator收购Cocoafish,旨在为Titanium平台提供即时移动云服务
2012-02-15 00:17 919译者注:Appcelerator是 ... -
Android官方文档之Web Apps最佳实践
2012-02-15 00:14 689为移动设备开发web页面或者web应用与为桌面浏览器开发web ... -
Android官方文档之Web Apps调试
2012-02-15 00:13 913概览 你可以使用控制台的Javascript方法调试你的w ... -
Android官方文档在WebView中构建Web Apps
2012-02-15 00:13 804概览 在你的Android应用布局中使用 WebView ...
相关推荐
Appweb开Appweb开发指南发指南Appweb开发指南Appweb开发指南Appweb开发指南
### 云应用开发 ——Google App Engine & Google Web Toolkit入门指南 #### 第1章 应该了解下 ##### 1.1 云基本知识 云计算是一种通过互联网提供按需计算资源和服务的方式,包括网络、服务器、存储、应用程序和...
5. **源码开放**:AppWeb是一个开源项目,这意味着开发人员可以查看其源代码,进行定制和优化,同时也可以利用社区的贡献来改进和扩展功能。 6. **嵌入式友好**:AppWeb能够与应用程序紧密集成,可以作为应用的一...
### Django+Web开发指南 #### 一、简介与概述 《Django+Web开发指南》是一本关于Python Web框架Django的详细介绍书籍。本书由Jeff Forcier、Paul Bissex和Wesley Chun三位作者共同编写,他们都是Python社区的重要...
本指南详细讲述了appweb开发的详细过程,包括与matrixssl的编译,以及通过SSL安全链接访问网页;还讲述了ejs的开发指南和使用,如ajsweb命令的使用;而且解决了通过SSL不能访问ejs页面。
标题与描述概述的知识点主要围绕百度Web App开发技术,尤其是移动Web App的开发框架、平台以及与Native App的对比。接下来将对这些知识点进行详细展开。 ### 移动Web App介绍 移动Web App是一种利用HTML5、CSS3和...
综上所述,基于Android的Web APP开发技术结合了Web技术的灵活性和Android平台的强大功能,为开发者提供了构建移动应用的新途径。随着技术的发展,Web APP的性能和用户体验持续提升,越来越多的企业和个人选择这种...
uni-app 是一个使用 Vue.js 开发跨平台应用的框架,它允许开发者编写一次代码,然后发布到不同的平台,包括 Web、iOS、Android、以及各种小程序平台(如微信/支付宝/百度等小程序)。uni-app 由 DCloud 公司开发和...
HTML5是互联网核心技术之一,它自20世纪90年代诞生以来,经过多次迭代,目前的HTML5版本已经成为Web应用程序开发的重要工具,特别是在移动Web App开发领域。HTML5的主要特征包括语义化的结构化标签、离线存储功能、...
Matlab 开发 Web App 服务器 Matlab 提供了 Web Apps 功能,可以将电脑设为服务器,把 App 程序发布到局域网,可以通过浏览器访问。这项功能从 2018a 版本开始提供。使用步骤包括:使用 App Designer 创建交互式的...
微软推出的Progressive Web Apps(PWA)是一种现代网页应用架构,旨在为用户提供类似原生应用的体验,同时具有跨平台、离线工作能力和无需应用商店分发等特点。PWAs 结合了网页的灵活性和原生应用的性能,使得用户...
### Django Web 开发指南 #### 一、简介 《Django Web 开发指南》是一本专为希望使用Python进行Web应用开发的技术人员所撰写的书籍。本书由Jeff Forcier、Paul Bissex与Wesley Chun共同编写,三位作者都是在Python...
标题中的"appengine-java-sdk-1.3.1"指的是Google App Engine的Java版本SDK,这是一个用于在Google云平台上开发和部署Java应用程序的工具包。这个SDK包含了运行和测试Google App Engine应用所需的所有组件,包括开发...
Vue.js Up and Running_ Building Accessible and Performant Web Apps (2018, Media)
1. **跨平台兼容性**:由于基于浏览器,移动Web App可以在多种操作系统(如iOS、Android、Windows Phone等)上运行,无需为每个平台单独开发。 2. **更新便捷**:Web App的更新可以直接通过服务器推送,用户无需...
### 构建你的数字世界:MATLAB Web App的创建与部署深入解析 #### 一、MATLAB概述 MATLAB是一款由MathWorks公司开发的强大软件工具,主要用于数值计算、算法开发、数据分析、可视化以及数学和科学领域的其他应用。...
最后,通过《云端代码Google App Engine编程指南》的指导,开发者可以更加系统地掌握GAE开发的核心知识,学会如何高效地使用这一平台来构建和维护各种Web应用和服务。通过学习这些知识,开发者能够利用GAE提供的各种...