只读型网页应用
对渐进增强最卡通化的误解是,它意味着在没有 JavaScript 的情况下让一切正常工作。
不。渐进式增强意味着确保您的核心功能在没有 JavaScript 的情况下正常工作。
在《弹性网络设计》一书中,作者引用了威尔托的话:
当JS崩溃时,《波士顿环球报》上许多很酷的功能都无法工作;“阅读新闻”不是其中之一。
这是一个核心功能很容易识别的例子。这是一份报纸。核心功能是阅读新闻。
但这并不总是那么简单。许多自我识别为“应用程序”的服务会声称,即使是它们的核心功能也需要 JavaScript。
我当然不希望 Gmail 或谷歌文档在没有JavaScript的情况下提供核心功能?
在那些特殊的情况下,我确实这样做了。我相信表单中的文本区域会很好地完成任务。但我明白了。这可能需要大量的重新设计。
那么,这个折衷方案如何…
你的应用程序应该在没有JavaScript的只读模式下工作。
如果没有JavaScript,我仍然可以在 Gmail 中阅读我的电子邮件,即使你不让我撰写、回复或组织我的消息。
如果没有 JavaScript,我仍然可以在谷歌文档中查看文档,即使你不允许我评论或编辑文档。
即使有像 Figma 或 Photoshop 这样的交互式软件,我想我仍然可以在没有 JavaScript 的情况下查看设计文件。
区分只读模式和读/写模式可能非常有用,尤其是在项目开始时。
首先创建不需要 JavaScript 的只读模式。仅凭这一点,就可以奠定坚实的基础。现在,您已经为任何意外故障建立了一个后备方案。
现在开始添加读/写功能。你正在增强已经存在的东西。循序渐进。
见鬼,你甚至可以找到一些机会来提供一些不需要 JavaScript 的读/写功能。但如果需要 JavaScript,那绝对没问题。
因此,如果你即将构建一个网络应用程序,并且你很确定它需要 JavaScript,为什么不暂停一下,考虑一下你是否可以提供只读版本。