Web 开发平台的变革及Web 可用设备的惊人增长,使得Web 到达了前所未及的位置。在过去的十年间,我们已经从一个停滞的、只有很少浏览器和操作系统的平台变成了一个有活力的、服务着令人眼花缭乱的浏览器和设备的——开放式的Web 平台。
这真是一个很大的愿景。
问题在于,更多的时候,前线的工程师并没有机会看到这样一幅蓝图。你知道为什么吗——要跟上刚刚发布的新版本,通常都是一个极大的挑战。不论你是在为客户做一个网站,在开发你的JavaScript 框架的最新版本,还是简单地写一篇通俗易懂的博客,都没有很多时间仔细思考整个Web 的变化。相反,你专注于解决一个独立的问题,因为它们是你在工作时间应该做的事情。甚至那些被分配了跟进业界趋势的任务的人们也可能被某一个爆发的技术搞得失去整体判断。当你面对一个你正在关心的标准课题,仍会以一小时10 封(长)邮件的速度浏览时,是很难看到一个整体的愿景的。
看起来人们并没有真的意识到Web 发生了多么根本的变化。无论是寻找一个判断是鼠标用户还是触摸用户的完美的检测方案,或是为响应式站点设计一系列“完美”的媒体查询特性,总是有很多的开发者仍然在寻找一个绝对的法则或是硬生生的最佳实践。人们还是在按照一个清晰、确定的界限,想以此寻求建设一个站点和应用的最佳方案。
尽管这些想法会让我们觉得安心,并且曾经是可行的,但那些日子已经一去不复返了。是时候采用新的方式了。
-----------
面对狂野发展变化的Web世界,什么是Web开发的最佳实践方案呢?很简单,一个核心的设计原则:放弃过去多年来赖以为继的教条,拥抱Web的不确定性。