V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
autoxbc
V2EX  ›  前端开发

知乎这种纯前端渲染真的没问题么?

  •  
  •   autoxbc · 2017-07-03 14:34:30 +08:00 · 17535 次点击
    这是一个创建于 2701 天前的主题,其中的信息可能已经有所发展或是发生改变。
    类似专栏页面这种,body 里就是空标签和 json
    https://zhuanlan.zhihu.com/p/26644788

    我就不说禁用 js 会怎样了
    就是那大几万行的脚本,随便抛出个错误就会导致页面白板
    Web 设计第一课,老师说要 "平稳退化,渐进增强"
    是不是知乎的高逼格导致他们的前端也很吊?
    第 1 条附言  ·  2017-07-05 16:04:06 +08:00
    看来短标题是不行的,因为真的有人只看标题就开始回复

    这里想说的是平稳退化问题,不是过度兼容,和 IE6 没关系
    平稳退化是说,行为层的非预期错误,不应妨碍内容层的展现
    至少是基本内容的展现
    行为层的非预期状况是普遍的,退化问题不会过时

    纯前端渲染暴露出退化问题,纯前端渲染不是退化的敌人
    103 条回复    2017-07-06 15:35:54 +08:00
    1  2  
    autoxbc
        101
    autoxbc  
    OP
       2017-07-06 05:58:16 +08:00
    @DOLLOR #99
    我真的没有禁用 js,我是说不相信 8 万行这个量级的代码,在多样化的解释器,多样化的用户环境中(注意主流浏览器都支持扩展,一些扩展可用的 api 足够强大,扩展代码质量良莠不齐),可以实现零错误。这种非预期状况不是特例,时刻都在发生。

    「知乎为什么与很多 chrome 插件不兼容?」
    https://www.zhihu.com/question/21243152

    顺带,我仔细看了 WebAssembly 的介绍,这个技术不会颠覆 Web 的基石 html css js,最多把 js 扩展为 jvm。

    @AntiGameZ #100
    这确实不算 bug,我也只当是个例子,当作课后的练习题。
    DOLLOR
        102
    DOLLOR  
       2017-07-06 10:00:57 +08:00
    @autoxbc

    好吧,我们的价值观不太一样。
    我认为代码质量是靠测试来保证的,而不是行数。
    我遇到这样的问题,会吐槽知乎代码测试不充分,导致问题代码上线(比如你给的链接就是浏览器第三方插件导致的名空间冲突,实际上还不算知乎的锅),而非吐槽 xx 万行代码量太多。

    都说 web 发展如此野蛮,不能把自己学过的旧观念当成一成不变的真理。就像十年前倡导不要在 html 中写 js,如今又有在 js 中写 html 的技术;十年前如日中天的 flash 技术,如今成了过街老鼠;十年前的 web 还鼓吹 XHTML 圣旨,如今连影子都没。各种 web 开发教程里的倡导和规范,我都是当作“再过几年就可能会变成废话”对待的。
    autoxbc
        103
    autoxbc  
    OP
       2017-07-06 15:35:54 +08:00 via iPhone
    @DOLLOR

    我的观点是"代码即 bug"。针对 github 上的众多开源项目的研究显示,无论大小项目,每千行代码 bug 率是接近的。如果说有什么差别的话,前端代码会更糟一些,有更少的测试流程,更低(或者没有)的崩溃日志收集。

    当我们抱怨是用户的锅,或者第三方代码的锅,是否想过,这正是平稳退化所说的非预期错误。

    前端的高速发展,是检视旧设计的好机会,那些超出狭义设计方法的通用工程思想,可以留存下来。
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   953 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 19:30 · PVG 03:30 · LAX 11:30 · JFK 14:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.