前端开发:用户友好、开发者友好、机器友好
忘了从哪看到的一句话,印象挺深:Frontend engineering rocks right now. 没错,随着用户体验等课题的不断发展,如何能够把需求更完美在前端中实现的重担,已经由过去兼职的后端工程师转向了专职的前端工程师。作为一名前端工程师,除了在开发上,必须比后端工程师更关注用户体验,因为用户最终使用中,第一接触 UI 界面,然后操作,进行交互。能否保证用户友好的界面和交互,除了产品相关人员的功能策划,还有前端工程师对功能在前端中的具体表现的深刻理解,对技术壁垒的一一攻破。前端开发到了 rocks 的时代了。
但是或许我们会在用户友好中迷失自己。一件产品的诞生,凝聚的是整个团队的努力,所以,前端开发必须注意到自己代码应该是清晰紧凑的,这样,无论是市场的广告投放,后端的数据输送等开发,都可以最佳的方式来配合前端,即需做到开发者友好;我们的代码,不管是由浏览器来处理,还是搜索引擎的检索,都必须尽量做到符合语义,使用当代的开发思想(如 web 标准)来要求前端的代码,即做到机器友好。
前端开发的任务就是做到:用户友好,开发者友好和机器友好。
用户友好毋须多言,这是我们的首要任务。如果可能,我建议所有的前端工程师都能够把自己定位为用户体验设计师的一员,而且是不可或缺的重要一员。只要是用户体验设计师,无论是谁,都想最佳的体验呈现在用户面前,这个愿望是好的,但是,在这个不是那么美好的时代,我们会受到许多客观条件的制约,如浏览器的支持不足,或者某个重要特性的缺乏,让我们本来预计的美好愿望编程肥皂泡。如果前端工程师在产品设计初期未参与进去,原有的完美设计,在进行到开发的阶段才发现某个不可实现的功能变得四不像。我们可以利用我们的专业技能明确判断哪些可以实现哪些不能实现,那么就能避免很多问题。
开发者友好是前端开发的第二个任务。在讲究流水作业的今天,保证开发者友好的代码、接口等是提高产品开发速度和质量的一个有效途径。开发者友好,意味着降低沟通的成本,意味着合作的顺利进行。不要认为世界上的人都像您这么厉害,即使是最简单的 HTML,写上最详尽的注释,这样其他开发者在接手的时候就不必满天查找开始与闭合的 div
。就算您是多面手,您也必须注意您的前端开发必须开发者友好,否则可能过个个把月您连自己的代码都不认识。
至于机器友好,其实也是保证用户友好的一个前提。如何能保障我们中的特殊群体——残障人士的友好性,机器友好是最重要的一条途径。他们使用的设备,受限于他们的生理条件,同时就受限于处理信息的灵活度。如果不能保证机器友好,那么这些设备就不能保证能正确处理我们提供的信息。即使是普通用户,机器友好的代码也能降低他客户端的资源消耗,提升使用的速度,从而提升用户友好度。我们的用户中也有机器,比如搜索引擎,它们往往是用户找到我们提供的服务的关键。机器友好的一大意义还在于,搜索引擎能更好得处理信息。
用比较商业的术语说,前端开发的客户是:用户,开发者以及机器。我们的价值观的第一条:客户第一。既然如此,我们前端开发的任务,非用户友好、开发者友好、机器友好莫属。