虽说俺是个前端工程师,写写代码生成网页就行了,然而这几年工作下来养成的严谨精神和对美学的追求,反而对用户体验的要求越来越高。很多人觉得用户体验是交互和设计负责的领域,前端只要负责生成代码就行。其实作为一个有经验的前端工程师,很有必要弄清楚自己在整个网站开发过程中的地位,以及明白在用户体验这块所具有的影响力。
前端是UI部分最后的也是最全的质量控制员。因为页面的静态代码包括动态交互都是由前端来实现的,这样就会涉及到方方面面的细节。在重构的过程中,我常常以一个普通用户角度去揣摩这样的设计是否符合用户的使用习惯。一般情况下发现一些细节上的不足我首先会去找设计,在设计认可的情况下去跟产品经理和交互设计师知会一下。PC端的设计跟移动端的设计有着很大的区别,比如“回到顶部”这个按钮。移动端一般要设计成正方形,大小跟一个应用的icon尺寸类似。这样既不过分遮盖界面内容展示(一般来说“回到顶部”的按钮是个随着页面滚动而滚动的按钮即fixed按钮,并且被设计成半透明),也不会造成用户点击失败;而PC端可以是竖着的长方形可以是一个文字链接。在最近的一个移动项目中,设计师把“回到顶部”的功能按钮做成了一个文字链接,跟产品经理提建议之后,对方认为客户已经认可了这个设计方案,我们就不再做设计上的更改(外包公司的弊病,只要客户没意见,我们只要按时完成作业就行了)。。。
用户体验的另一大部分是产品的性能。作为一个前端,能在性能上做的事无非是减少或者延迟HTTP请求、减少代码量和提高代码效率。减少请求的方式也就是合并js、css代码,图片合成图片精灵,有些小图片可以用base64代替,或者直接用css3来实现;把一些不在页面渲染时候需要的js代码(如googleAnalytics.js)放在body的最下面,这样不会影响页面的加载,用户不会因为js加载的未完成而影响阅读。减少代码量就是在压缩代码上下点功夫,有工具实现,很简单。其实对于一个程序员来讲,最能体现他能力的还是在编程技巧方面。至于怎样提高编程技巧以提高代码性能我这就不在多说,个人有个人的经验。
总的来说,前端对于用户体验的知觉大部分是在UI上,一边做一边想,多思考,让自己的产品越做越有成就感。
前端和用户体验