走进小作坊(十一)----移动web实现指南
四、五年前智能手机行业刚刚兴起,差别于之前功能机阉割版的web开发方式,一些学者就開始探索移动web的UI方向了。从PC迁移到移动端的web设计现成可用的原则有,很多其它的则是依据移动端独有特点进行探索、总结经验、原则。这本《移动web实现指南》乐帝本意是提升响应式设计网页的水平,读后发现很多其它的宝藏,揭开了对整个移动端web设计的兴趣之门。
移动设备不断抢占PC端的领地,对移动端web的需求自然也是水涨船高,越来越多的站点须要考虑到移动端用户的需求。前几年的文章处理这样的趋势还能够採取四种策略:有所不为、改动现有的设计(用CSS)、设计一个独立的移动Web站点、设计一个负责任的站点。现在上述策略的路越走越汇聚到一点,进而出现了“移动优先”的论调,即设计站点先考虑移动的界面,在此基础上再去考虑PC界面。本书作者正是在这样的环境下,对已有PC站点设计进行移动化改动,进而讨论移动端站点特点以及开发须要关注的问题,呈现给我们一个完整的移动端开发现状。
“移动”二字,有非常多应用场景如开车、走路、跑步、放松状态等等,即感觉器官处于忙碌的状态,在设计移动页面设计时,能把自己沉浸在这些体验中,注意到繁忙的程度影响着訪问信息或进行操作的方式:注意力被分散时,就要让设计选项非常easy定位;处于放松心态时,运行动作变得困难。移动页面设计布局的终极目的就是:尽可能地让用户高速地找到所寻找的东西,降低这一过程的用户负担。
闭门造车想象应用场景是远远不够的,假设开发一个站点,关注用户的需求永远都是对的,动员用户是第一位要做的,书中提出一些可行性的途径。比如组织用户訪谈、请用户喝咖啡或者吃饭或者高速面谈,或者电话或电子邮件等等与用户互动。
有了与用户的互动,掌握了原始资料,就能够进行接下来的一步了,撰写用户故事。用户故事是概要似的设计规范,但它是使用叙述手法,并关注用户行为和情景。用户故事的撰写意在找出很多其它的、潜在的设计解决方式,这样做能引出很多其它之前没关注但须要解决的问题。用户故事书写的方式仅限于描写叙述用户的动作,以及他们使用站点或者应用程序中的行为和反应。
这几步是循序渐进的,得到原始资料,对原始资料整理、模拟出用户故事,然后提取出用户的需求。需求出来了,但有时会发现需求非常多或者没側重点,这就须要将用户故事排列优先级了。
排列优先级能够从三种需求层次考虑:基本型、性能型、兴奋型。基本型顾名思义,是产品的底线,假设这些需求都打不到,就不用上线了。性能型则是在基本型需求之上,能够促进用户更高的惬意度。兴奋型则是超出用户预期,会给用户带来惊喜与兴奋。这样的需求属于稀缺需求,须要很优秀的创造力。这样我们也就能理解,做项目时,产品经理的B计划了即减少性能型或者兴奋型需求,保留产品基本型需求,完毕上线任务。这篇文章解说了产品经理从需求提出到细化的过程。
书中讨论了关于重构的载入多余代码的问题,作者欲扬先抑,先说劣势,可是又懂得变通,认同载入多余代码。这样的抓大放小的风格,在移动web设计中尤其重要。书中给出了几个移动设备的样例:手表、汽车仪表盘以及iPhone计算器的设计,以生动的样例解说移动设备所要注意特定的应用场景以及用户需求,来设置设备的比例和内容设计。并由此引出移动端web设计宽度适应性、图片排列、文字行高和每行字体个数、苹果依据表单类型变换键盘类型的样例。对此书核心内容进行了解说。知识性的不是非常强,很多其它的体如今可用性的权衡上。这里是一篇构思站点内容架构的原则的文章。
可用性之后,书中给了一些切实的移动化web原则:较短的标题;较短的描写叙述、插图编号;较小的图片或者能够动态缩放;较少的图片。当然还有更加具体的原则请戳这里。
这本书面向的对象更像是给一肩挑的站长写的。掌握一些移动化可用性原则后,就能够撰写简单的web应用了,这里给出了一个简单web应用,从构思到完毕的小项目过程。
走进小作坊(十一)----移动web实现指南的更多相关文章
- Spring 4 官方文档学习(十一)Web MVC 框架之配置Spring MVC
内容列表: 启用MVC Java config 或 MVC XML namespace 修改已提供的配置 类型转换和格式化 校验 拦截器 内容协商 View Controllers View Reso ...
- Django web 开发指南 no such table:
在学习django web开发指南时,发布新博客点击save后会有error提示:no such table balabalabala... 百度了一下说重新运行manage.py syncdb 就可 ...
- 10招搞定web设计风格指南
From:http://www.ui.cn/detail/27579.html 今时今日,网站的创建正变得越来越复杂,而且一般都不是一个人就能干的了的.在创建网站过程中,我们需要保证设计前后一致,并符 ...
- [转帖]2019 简易Web开发指南
2019 简易Web开发指南 2019年即将到来,各位同学2018年辛苦了. 不管大家2018年过的怎么样,2019年还是要继续加油的! 在此我整理了个人认为在2019仍是或者将成为主流的技术 ...
- Spring 4 官方文档学习(十一)Web MVC 框架之resolving views 解析视图
接前面的Spring 4 官方文档学习(十一)Web MVC 框架,那篇太长,故另起一篇. 针对web应用的所有的MVC框架,都会提供一种呈现views的方式.Spring提供了view resolv ...
- Spring 4 官方文档学习(十一)Web MVC 框架
介绍Spring Web MVC 框架 Spring Web MVC的特性 其他MVC实现的可插拔性 DispatcherServlet 在WebApplicationContext中的特殊的bean ...
- 微信小程序将带来web程序员的春天!
微信之父张小龙在年初那次演讲中曾表示:“我自己是很多年的程序员,我觉得我们应该为开发的团体做一些事情.”几个月后,微信正式推出微信应用号(即微信小程序)在互联网中掀起又一波热潮. 过去,对于很多开发者 ...
- Django Web开发指南笔记
Django Web开发指南笔记 语句VS表达式 python代码由表达式和语句组成,由解释器负责执行. 主要区别:表达式是一个值,它的结果一定是一个python对象:如:12,1+2,int('12 ...
- WEB安全指南
说明:本文是Mozilla Web应用部署文档,对运维或者后端开发团队的部署行为进行指导.该部署安全规范内容充实,对于部署有很大意义.同时也涉及到了许多web前端应用安全的基本知识,如CSP, TOK ...
随机推荐
- overfitting
当模型复杂度上升时,可控制参数变多,VC dimension变大, 当VC dimension过大时,虽然Ein很小,但是Eout很大,产生overfitting 比喻:开车 开太快 ...
- POJ 1135 Domino Effect (spfa + 枚举)- from lanshui_Yang
Description Did you know that you can use domino bones for other things besides playing Dominoes? Ta ...
- php 获取汉字拼音首字母的函数
function getFirstChar($string){ if($string{0}>="A" and $string{0}<="z" )re ...
- iOS提交AppStore后申请加急审核(转)
是的,由于最近知名的Xcode后门事件,我们的应用也被感染了.o(╯□╰)o 上周四从看到喵神的微博得知第三方Xcode可能被感染后马上查了下,自己用的却是被感染了,于是马上到MAS下载了最新的Xco ...
- dog-fooding-our-api-authentication
Dog-fooding our API - Authentication http://blog.mirajavora.com/authenticate-web-api-using-access-to ...
- 在sql数据库变量中保存单引号的办法
set @strWhere=' AccountName like '+'''%'+@Condition+'%''' 先用'+''''+要在单引号里的内容+''''. 就这样就行了. 主要就是用三个单引 ...
- ASP.Net连接SQLServer 连接字符串
引用命名空间 using System.Data; using System.Data.SqlClient; 连接字符串 // windows 验证方式数据库中存在单一实例 string connec ...
- JavaWeb Filter--过滤器 简介
本文转载自:http://blog.csdn.net/wanghuan203/article/details/7325651 过滤器就是在源数据和目的数据之间起过滤作用的中间件. Web应用中,在处理 ...
- Python核心编程读笔 11:模块
第12章 模块 1.基本概念 模块的文件名就是模块名字.py 每个模块都定义了自己唯一的名称空间 模块的搜索路径:会被保存在 sys 模块的 sys.path 变量里 >>>sys. ...
- [C++基础]在构造函数内部调用构造函数
看下面的面试题: #include <iostream> using namespace std; struct CLS { int m_i; CLS( int i ) : m_i(i){ ...