¿Cuál es el significado de polyfills en HTML5? Vi esta palabra en muchos sitios sobre HTML5, por ejemplo, HTML5-Cross-Browser-Polyfills.
Así que aquí estamos recopilando todas las cuñas, fallbacks y polyfills para implantar la funcionalidad HTML5 en navegadores que no los admiten de forma nativa.
En realidad no entiendo cuál es el significado de los polyfills.
¿Es una nueva técnica HTML5 o una biblioteca de JavaScript? Nunca escuché esta palabra antes de HTML5.
¿Y cuál es la diferencia entre cuñas, retrocesos y polyfills?
Respuestas:
Un polyfill es una alternativa de navegador, hecha en JavaScript, que permite la funcionalidad que espera que funcione en los navegadores modernos para trabajar en navegadores más antiguos, por ejemplo, para admitir el lienzo (una función HTML5) en navegadores más antiguos.
Es una especie de técnica HTML5, ya que se usa junto con HTML5, pero no es parte de HTML5, y puede tener polyfills sin tener HTML5 (por ejemplo, para admitir las técnicas CSS3 que desee).
Aquí hay una buena publicación:
http://remysharp.com/2010/10/08/what-is-a-polyfill/
Aquí hay una lista completa de Polyfills y cuñas:
https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-browser-Polyfills
fuente
En primer lugar, aclaremos qué no es un polyfil: un polyfill no es parte del estándar HTML5. Tampoco se limita un polyfill a Javascript, aunque a menudo se hace referencia a polyfill en esos contextos.
El término polyfill en sí se refiere a un código que "le permite tener alguna funcionalidad específica que espera que los navegadores actuales o" modernos "también funcionen en otros navegadores que no tienen el soporte para esa funcionalidad incorporada".
Fuente y ejemplo de polyfill aquí:
http://www.programmerinterview.com/index.php/html5/html5-polyfill/
fuente
Un polyfill es un código (o complemento) que proporciona la tecnología que usted, el desarrollador, espera que el navegador proporcione de forma nativa.
fuente
Un polyfill es una cuña que reemplaza la llamada original con la llamada a una cuña.
Por ejemplo, supongamos que desea utilizar el objeto navigator.mediaDevices, pero no todos los navegadores lo admiten. Podrías imaginar una biblioteca que proporcionara una cuña que podrías usar así:
En este caso, está llamando explícitamente una cuña en lugar de utilizar el objeto o método original. El polyfill, por otro lado, reemplaza los objetos y métodos en los objetos originales.
Por ejemplo:
En su código, parece que está utilizando el objeto navigator.mediaDevices estándar. Pero en realidad, el polyfill (adapter.js en el ejemplo) ha reemplazado este objeto con el suyo.
El que lo ha reemplazado es una cuña. Esto detectará si la característica es compatible de forma nativa y la usará si lo es, o funcionará con otras API si no lo es.
Entonces, un polyfill es una especie de cuña "transparente". Y esto es lo que Remy Sharp (quien acuñó el término) quiso decir al decir " si elimina el script polyfill, su código continuará funcionando, sin ningún cambio requerido a pesar de que se eliminó el polyfill ".
fuente