HeadlinesBriefing HeadlinesBriefing.com

为什么开发者抵制‘使用平台’的建议

Hacker News •
×

多年来,主张网页标准、性能和可访问性的倡导者一直在劝说网页开发人员“使用平台”。其论点很简单:为什么要自己用 JavaScript 去构建某样东西,而浏览器可以直接提供?你自己构建的东西很可能比浏览器自带的功能性能更差,可用性也更差。我认为,即使只是为了了解“平台怀疑论”开发者的来龙去脉,也值得站在另一面。如果“使用平台”显而易见,那么为什么那么多人需要说服?

最明显的原因是历史原因:在很长一段时间里,浏览器都在跟在生态系统的顶层。像 jQuery 这样的库在浏览器实现等效 API 之前填补了关键的缺口——即便如此,你可能还得等到 IE6 等滞后者老去,才能真正使用它们。如今,大多数浏览器都是常绿浏览器(Safari 有争议,虽然 ~7 次/年也不错),但在 2020 年之前,网页开发人员不得不面对一块块不平整的网络。在那种环境下,自己动手是一个明智的选择。

另一个原因是熟悉度:当你习惯在 npm 上寻找 React 组件时,无论问题是什么,你倾向于使用它。如果你在 npm 上搜索“粘性定位”,就没有一个包会说“直接使用 CSS position: sticky,你这个笨蛋”。而且经常情况下,即使有强大的标准,npm 上的库也会在框架的人体工程学和其下面的平台之间填补有用的缺口。许多 npm 包都有精心编写的 README 或带有示例、教程和截图的网站。而直到 MDN 成为首选的网页文档之地之前,网页平台的文档分散在博客、Stack Overflow 以及像 CSS Tricks 这样的网站上。

那些只想要现成解决方案、不在乎该解决方案是来自 npm、浏览器,还是从某个人的随机 GitHub Gist 复制的开发人员可能不会在意。他们想解决问题然后继续前进。但有一种不同的‘不使用平台’反对来源,我想去探索。对于某些类型的开发者来说,自己构建东西只是更有趣。而且通常生成的代码更容易推理,尤其是如果你不具备关于网页平台的百科全书式知识。作为一个例子,想象一下你正在尝试构建一个模态对话框。

关键实体:人物:Tim Cook, Elon Musk

常见问题:为什么开发者抵制使用原生浏览器平台特性?

开发者抵制‘使用平台’建议的原因:历史浏览器不一致、熟悉npm库、第三方工具更好的文档以及对自定义解决方案的个人偏好。常见问题:为什么开发者抵制使用原生浏览器平台特性?

常见答案:开发者抵制‘使用平台’建议的原因:历史浏览器不一致、熟悉npm库、第三方工具更好的文档以及对自定义解决方案的个人偏好。

来源: Hacker News · 由HeadlinesBriefing整理摘要