前言
本文旨在思考我们在保证代码的质量同时,在开发过程中可以为更好的体验做哪些方面的优化🍿
UI展示
用户选中
避免不必要的选中行为,例如在实现click或dblclick事件时,不应该发生选中的动作,这不是用户期待的行为,只是浏览器的默认行为。
点击区域
提供更广阔的点击区域,可以利用after/before伪元素或者padding扩展区域,帮助用户更容易交互界面,为了别人的血压考虑,不要把点击行为变成找茬游戏。
tip提示
过长的文字,或者省略的信息都应该提供tip提示
适当的回退UI
如果页面出现了错误或者崩溃,与其赤裸裸地展示一个不知所云的界面,还是给错误界面一块略带歉意的遮羞布好些,如果能在上面告诉用户解决方法或者有用的错误信息就更好了
让错误信息说人话
还记得刚开始接触电脑时发生蓝屏,看着密密麻麻的代码的感受吗?对,焦虑,与其让我看一堆无用信息(至少当时我不知道要看错误代码),还不告诉我按下重启键,同样的场景,你报一个后端error,是要用户帮你修还是怎么样?其实只需要告知用户该怎么做,记得说的明白点,没人关心你是不是又整出来了空指针还是数据库挂了。
交互的部分
loading状态
当状态切换或者加载数据时,提供loading的提示可以用户明确地知道目前所处的状态,避免焦虑情绪的发生。
讨喜的动画
当界面发生大片区域的变化时,如果能提供一个缓冲动画,那么用户就不觉得那么突兀,以及视觉焦点的快速变化。
交互的流畅性
1.cpu资源的使用,记住js的单线程特性,避免出现执行时间过长的代码片段,否则全速执行代码,会造成丢帧和卡顿。
2.慎用正则,小心回溯,正则虽然强大,但是如果使用不当,是一个隐藏的吃资源大户,有兴趣的话可以看看小心别落入正则回溯陷阱
3.节流与消抖是好帮手,对于频繁执行的场景,最好根据场景去使用throttle或者debounce,可以节省大量不必要的运算,让操作更流畅