全栈设计师技术Wiki之Polyfills
Polyfills
一项主要用于 web 前端开发的技术。 Polyfills 允许 Web 开发人员使用 HTML5 的 API ,而不管它是否受用户的浏览器支持。通常, Polyfills 首先检查浏览器是否支持 API ,如果可用则使用它,否则使用 Polyfills 自己的实现。
此项技术常常为了让各种浏览器都可以使用 HTML5 的新标准,HTML5 有哪些新标准,可以查看以下链接:
https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills
最早是 Remy Sharp 于2010年10月8日的博客中介绍了这个新词的来源:
What is a Polyfill?
https://remysharp.com/2010/10/08/what-is-a-polyfill
这个词源自英国的一种墙面填料,品牌为 Polyfilla ,这种填料在美国叫Spackling Paste( Spackle 是美国抹墙粉的一个品牌),当然在我们中国一般叫“腻子”或“填泥”(对应的英文单词是 putty 和 filler )。
在文中,Remy 解释说:“ With that in mind: think of the browsers as a wall with cracks in it. These polyfillers help smooth out the cracks and give us a nice smooth wall of browsers to work with. ”
大体意思是:‘ 把浏览器想象成有裂缝的墙面,而用腻子可以把这些裂缝填平,最后得到的是光滑的浏览器“墙面”。’
他给出的定义是:
A polyfill, or polyfiller, is a piece of code (or plugin) that provides the technology that you, the developer, expect the browser to provide natively. Flattening the API landscape if you will.
即:一段代码或插件,可以让开发人员使用应有的技术,就像浏览器原生提供该功能一样。换句话说,它能帮你抹平 API 之墙。
此为第 4 期的技术 Wiki ,这个时代保持自学的热情很重要。