不显眼的JavaScript过时了吗?

Kon*_*che 17 javascript paradigms accessibility web

当我第一次阅读Web标准课程中不引人注目的JavaScript原理时,我认为这是一件非常棒的事情.

不引人注目的JavaScript更像是一种编程哲学,而不是一种技术.到目前为止,它最重要的组件是清楚地了解哪个功能属于哪个层.所有绝对关键的网站功能都应该用纯HTML编码,但是一旦你创建了这个基础,就可以在基础之上添加一个JavaScript层,以便为支持它的浏览器提供更好,更清晰,更快速的界面.

此外,不引人注目的JavaScript:

  1. 分离结构和行为,以使您的代码更清晰,脚本维护更容易

  2. 抢占浏览器不兼容性

  3. 使用干净的语义HTML层

对于我目前的项目,我使用这种方法.当我把JavaScript关闭以进行其他一些我必须做的工作时,我很惊讶有多少网站在没有JavaScript的情况下完全被破坏:缺少功能,以及缺少很多重要信息,这些信息根本不存在DOM.

这些特别是社交网站.这种情况应该不足为奇,所需的开发时间和用户体验可能比可访问性更重要.

我仍在问自己,不引人注目的JavaScript是不是已经过时了.我的意思是哪个浏览器本身不支持JavaScript?它仍然是适合2012年的方法吗?我开始怀疑它.

Jos*_*eph 17

有两种方法可以接近网站和使用JS:

  1. JS作为增强功能

    从某种意义上说,这些类型的网站就像"文件",它们类似于报纸,书籍和信件.您不需要花哨的效果来阅读和使用内容.随之而来的是渐进式增强: 构建基本功能并在不牺牲目的的情况下增加复杂性.

    即使使用无能力的浏览器,大多数(大型)网站也使用此方案来保持其有用性.一个例子是StackOverflow,它甚至可以在lynx命令行浏览器上运行!

     ______
    | JS   | - JavaScript for (optional) enhancements
    |------|
    | CSS  | - CSS for (optional) style
    |------|
    | HTML | - (mandatory) HTML with base content
    '------'
    
    Run Code Online (Sandbox Code Playgroud)
  2. JS作为一个平台

    对于Web应用程序,它们构建在JS上用于实时,动态内容和功能,而HTML和CSS用作视图是合理的(更像是强制性的).它是其他编程语言的同义词,在这些语言中,您可以使用类似库和插件的程序(无UI)"无头".

    这种方法带来了优雅的退化:"向后支持只在一定程度上,否则你根本就得不到"

     ____________
    | HTML | CSS | - (optional) HTML and CSS view
    |------------|
    |     JS     | - (mandatory) JS platform
    '------------'
    
    Run Code Online (Sandbox Code Playgroud)

它通常归结为"它是文档还是应用程序?"的问题.