Shim
Una capa fina de código que intercepta llamadas a una API y las convierte en algo que el entorno realmente entiende.
La palabra viene de la carpintería: una cuña que se desliza para que dos piezas que no encajan del todo queden firmes. En software, el shim se sitúa entre la aplicación y la plataforma subyacente, corrigiendo comportamiento — suavizando un bug del navegador, traduciendo una API antigua a una nueva, o simplemente registrando todo lo que pasa.
La diferencia con un polyfill es sutil y se ignora con frecuencia: un polyfill implementa una API estandarizada en un entorno que carece de ella, y desaparece sin dejar rastro en cuanto la plataforma se pone al día. Un shim puede cambiar la semántica, y bien podría quedarse para siempre. Remy Sharp, quien acuñó "polyfill" en 2009, trazó la línea justo ahí.