1.产品体验

  • 1.1 易懂(能用)
    • 场景化
    • 结构化
    • 易理解
  • 1.2 易操作(易用)
    • 简约
    • 不干扰
    • 一致性
    • 常规化
  • 1.3 超预期(好用)
    • 美感
    • 潮流

2.常见问题

  • 2.1 企业应用复杂,功能重要,页面要怎么取舍
    • 场景化设计:面向场景,才能取舍
    • 沉浸于场景,才能感同身受
    • 对待用户,少即是多:不堆砌功能,功能服务于场景和整体体验
    • 好的解决方案都是优雅的,如果解决方案非常复杂,一定是问题错了
  • 2.2 复杂功能和信息相似,又不同,怎么重用
    • 先做产品结构化,之后才是功能细节
    • 信息结构化:
    • 抽象概念模型,定义核心实体和关系,形成稳定信息架构;
      信息要有条理的呈现给用户:要区分类型、重点、主次,分类的信息易接受;
    • 功能要结构化

    进行功能架构设计,定义功能间的关系,形成稳定的功能

  • 2.3 企业用的东西专业性过强,文案可以说的明白吗
    • 注意产品中的提示文字,“产品中的文字是你和用户在说话”- 文字反应气质
    • 清晰易懂,表明你是一个逻辑清晰的人
    • 不要假定用户了解背景知识
    • 避免登录/登陆、帐号/账号不分
  • 2.4 业务逻辑过于复杂怎么解决
    • 简化、简化、再简化,然后相信用户
    • 隐藏式设计:“ 让功能存在于无形之中”
    • 操作路径的简化:去掉非关键的确认,去掉不必要的过渡
    • 信息输入的简化:去掉需要用户思考/计算的信息录入项,或者自动化
  • 2.5 让多设置的页面用户能一看就懂,该怎么做
    • 相同/相似功能避免不一致
    • 不同功能尽量一致性
    • 产品不是堆砌,一定是要经过精心雕琢的,把体验作为产品的生命线
  • 2.6 怎么样才能让用户知道要做啥
    • 照顾用户日常已形成的行为习惯,不要盲目地试图改变用户
    • 避免画虎不成反类犬,避免生搬硬套
    • 关键信息置于用户视野焦点之内:别让我找,我视力不好
    • 操作、按钮保持相对固定位置:别让我思考,每个对话框都有一个明显的默认按钮
  • 2.7 表单当真要明确哪些是必要信息,哪些是非必要信息
    • 尽量不要让哪些非必要选项干扰用户的填写,不要给用户看不完的东西

3.手机端常用优化

  • 3.1 静态资源缓存 — 200 from cache
  • 3.2 静态资源 localStorage 化
  • 3.3 列表数据缓存
  • 3.4 BEM 模块化命名 class
  • 3.5 less模块化css

4.加载性能优化

  • 4.1 压缩合并脚本文件
  • 4.2 CDN部署
  • 4.3 减少HTTP请求
  • 4.4 正确配置资源缓存
  • 4.5 尽可能避免302(因为访问问题而被重定向到另一个页面)
  • 4.6 资源文件LocalStorage存储,节约304的时间(304对客户端有缓存的一种相应,不算是一种错误)
  • 4.7 按需加载,不浪费资源
  • 4.8 复杂的页面SPA化

SPA是一种 网络应用程序(WebApp)模型。在传统的网站中,不同的页面之间的切换都是直接从服务器加载一整个新的页面,而在SPA这个模型中,是通过动态地重写页面的部分与用户交互,而避免了过多的数据交换,响应速度自然相对更高。

  • 4.9 尽量使用JS-SDK
  • 4.10 主框架CSS代码内联
  • 4.11 异步加载非马上需要的其他CSS文件和JS文件
  • 4.12 复杂页面需要给出loading效果
  • 4.13 首屏尽量简单,node直出
  • 4.14 尽量减少CSS冗余代码,不要有太复杂的选择器
  • 4.15 加载资源存储到localStorage中

5.前端基础库的选择

  • 5.1 相比JQuery和Zepto,选择Zepto,两则基本相似,但是Zepto体积小很多,基本只有JQuery的三分之一
  • 5.2 使用touch事件来代替click
    • 速度更快,click有300ms的延迟
    • 可以使用Zepto自带的tap事件
    • 可以使用第三方库,比如fastclick