酷炫的前端工程师热衷于超越各种极限,他们总喜欢追逐最新、最优秀、最耀眼的用户界面框架和前端编程库。我们经常发现,他们一直在试图缩小 Web 程序与原生程序之间的差距,而且,正是由于这个原因,他们已将用户界面的外观和行为变得越来越像一款原生程序。你可能会问,是哪一类应用程序?iPhone?Android?哪个版本?这些问题都很不错,可惜与我们讨论的主题无关。然而,还有一类前端工程师,我们姑且称其为无聊前端工程师。以下就是一首赞美他们的颂歌,如果你愿意的话,请简称他们 BFED(boring front-end developer 的缩写)。
浏览器支持
BFED 认为,用户体验不可能完全相同。一个网站会被各种各样的浏览器访问,不管是微软最新研发的 gasp(微软为 Windows 10 设计的最新浏览器的早期别名),还是陈旧过时的 IE6,都有可能。应该有计划地持续改进和提升应用程序的浏览器兼容性。BFED 觉得,放弃对一个或一类浏览器的支持,不是什么伟大的英雄壮举。相反,BFED 知道,忘记这些用户的存在,不仅会伤害他们的感情,而且会影响他们对公司或产品的认知。
预处理器
当我们考虑是否需要给现有的技术堆栈增加一个预处理器(如:LESS、SASS、CoffeeScript 等)的时候,BFED 认为,这是一个影响深远的选择,不只是“少写一点代码”的小事。对于一名刚加入团队的新手来说,这样做是否增加了额外的难度?代码调试是否变得更加困难?如果这些问题的答案是 “Yes” 的话,通常情况下,BFED 就会对预处理器说 “No”。
可访问性
BFED 认为,用户的能力存在着不同程度的差异,即使是同样一台设备,无论是鼠标,还是键盘,或者其他任何东西,不同用户的使用习惯可能完全迥异。一个网站也是一样,它应该能够适应不同的访问者,这与他们设备屏幕的大小或者浏览器的功能无关。
用户界面设计
BFED 愿意接受浏览器的各种限制和约束。他们认为,在一定程度上,适应性设计与用户环境探测的意义不大,因为这个世界本来就是可怕、荒唐且代价高昂的。
为了避免浪费时间,最好在设计用户体验过程的早期就让 BFED 加入团队。因为有些看似重要的复杂用户界面设计,实际上占用了大量时间,但是最终你将发现,简单的设计方案可能更为有效。
BFED 建议采用原生的表单控件,只有这样,才能得到浏览器的最大支持。这一点在移动端尤为关键,过度控制这些控件的外观,实际上对你的品牌和形象并没有太多好处。
BFED 还会建议,超链接应该看起来就像超链接,下划线必须保留,这样更方便用户识别。
第三方 CSS & JavaScript 类库与框架
BFED 在选择第三方代码时,决策依据是代码质量,而不是流行度。他们认为,代码质量比流行度更重要。
用户界面架构
BFED 始终信奉以下格言:
作为一名优秀的 JavaScript 工程师,我和我的团队将尽最大努力尽量少写 JavaScript 代码。 - James Norton
更有甚之,BFED 认为,单页应用程序容易引发一些严重问题,应该极力避免这样的架构。为了给用户提供更好的体验和呵护,如有可能,尽量使用服务器端技术。
履历
BFED 开发一个程序时,会根据问题的所在环境和实际情况,选择适宜的解决方案。他们不会为了方便他们找寻下一个工作岗位,而采用时髦的热门技术来提升自己的履历,从而达到最终提高自己的薪资待遇的目的。
结论
你想要成为一名优秀的前端工程师吗?那就先让自己变得无聊吧!
本文灵感来自 Cap Watkins 的文章《无聊设计师》,谢谢。
作者: Adam Silver,前端工程师,生活在英国伦敦。
原文:The boring front-end developer
感谢:Qingniu 帮助审阅并完成校对。