跳到主要内容

渐进式增强是进步的障碍

近年来,HTML5的承诺已经推动JavaScript的兴起。浏览器供应商已经升级他们的军备竞赛,以创建最快的运行时环境。因此,JavaScript变得非常有用,无法被视为可选增强功能。它是当今网络堆栈中的重要组成部分。

如果Web应用程序依赖canvas元素来渲染图形,该怎么办?怎么样呢需要websockets来提供实时消息传递?对于大多数网页,这些功能可能被认为是可选的,但对于某些Web应用程序,它们就是可选的Raison D'etre。就像一个三脚架,现代网站高三尺:HTML,CSS和JavaScript。拿走任何一个,一切都平坦。

你必须至少这么高才能骑

在本机应用程序,特别是游戏中,列出系统要求是很常见的:运行一个软件所需的操作系统和硬件的最低规格。为什么Web应用程序有什么不同?

诸如canvas和websockets之类的HTML5技术使得在浏览器中构建以前难以想象的应用程序成为可能。在这种情况下,说明JavaScript是一个合理的说法是合理的系统要求。以编程方式生成图形时,可以对其进行动画处理。他们可以动态响应用户触发的事件。如果我们将websockets投射到混合中,图形可以响应其他用户在互联网上的其他地方触发的事件。潜力令人目不暇接。

要提供这样的动态体验,需要使用JavaScript。静态页面无法提供令人满意的回退。

不要担心并学会爱上

现代JavaScript引擎现在能够满足我们的需求。我们可以将HTML模板渲染从服务器移动到客户端。我们可以将模板绑定到,而不是使用JavaScript来处理从DOM的一部分到另一部分的数据客户端数据存储。对数据的任何更改都将立即反映在DOM中。许多MVC库使用这种方法,可以构建可维护的大规模JavaScript应用程序。

将客户端模板渲染方法发挥到极致,我们最终得到了一个Html的包含一个JavaScript,一个样式表和一个自动关闭的文档标签(事实上,甚至标签是可选的!)。对于那些在经典渐进增强中受过教育的人来说,这似乎是野蛮的,但对于具有本机应用程序开发背景的人来说,它会更加熟悉。让我们明确一点:Web应用程序与本机应用程序直接竞争。

谷歌地图的情况

谷歌在推出GMaps的“滑动地图”界面时,彻底改变了在线地图。今天,我们可以使用渐进增强来嵌入GMap在我们自己的网页上,但并不总是那么容易。考虑这个时间表:

在谷歌发布静态地图API之前,网络开发人员已经在网页上嵌入了滑稽的地图近三年。直到2008年,如果您想使用渐进增强功能嵌入GMap,您必须在其他地方寻找静态地图图像。

我可以从那些没有打扰的开发者那里得到一些展示吗?我没有羞愧。

谷歌将静态和滑动的GMap API作为两种截然不同的产品,但我认为它们是同一服务的两个面孔。静态地图API是一个特征GMaps。该功能允许我们在没有JavaScript的情况下为用户提供可访问的GMaps。

辅助功能是一项功能

网络由文档组成,主要是文字。可访问性实际上是免费的,但仅仅是因为文本的内在本质,以及辅助功能我们使用它的软件。由于文本文档很容易获取,我们开始认为其他一切都应该是。

应用程序和文档是不同的。无障碍是不对的;这是一个功能。要实现的第一个功能是定义应用程序并确定其成功的功能。

如果谷歌专注于可访问性而不是活力,谷歌今天是否会在在线地图领域享有这样的统治地位?其他人本来会首先推出一个有趣的地图界面,今天我们会用另一个名字来了解它。 GMaps成功了,因为谷歌专注于解决问题,而不是两次解决问题。

神圣的牛

你不会发现许多人吹嘘他们已经放弃了渐进增强。毕竟,没有人想要被亵渎神圣的牛。但人们今天正在这样做。

考虑Trello.com来自Fog Creek。Joel Spolsky说

“Trello的业务目标是最终吸引1亿用户。这意味着我们的首要任务是消除采用任何障碍。任何人们可能会使用任何不使用Trello的理由都必须被发现并消除。”

Trello希望消除采用的所有障碍。这很有趣,因为如果您尝试在禁用JavaScript的情况下使用Trello,您将获得一个空白页面。据推测,Spolsky先生并不认为这会阻止Trello吸引1亿用户。这是一个勇敢的新网站。

JavaScript正在推动变革

HTML5扩展了Web应用程序的潜力,为企业创造了新的机会。先动者将具有优势。我相信那些坚持将JavaScript放在乘客座位上的人会落后。在这个变革的时代,JavaScript就是驱动力。那是进步。

德鲁拍摄的照片莉娜甘斯曼

设计师兼开发人员Jim Newbery对Drew不太满意。阅读他的回复,渐进式增强比以往更加重要,让我们知道在下面的评论中,请注意。



翻译字数超限