Shim (computação)

Em programação de computadores, um shim é uma biblioteca que intercepta chamadas de API de forma transparente e altera os argumentos passados, manipula a operação em si ou redireciona a operação para outro lugar. Os Shims podem ser usados ​​para suportar uma API antiga em um ambiente mais novo, ou uma API nova em um ambiente mais antigo. Shims também podem ser usados ​​para executar programas em plataformas de software diferentes daquelas para as quais foram desenvolvidos.[1][2]

Shims para APIs mais antigas geralmente ocorrem quando o comportamento de uma API muda, causando problemas de compatibilidade para aplicativos mais antigos que ainda dependem da funcionalidade mais antiga; nesses casos, a API mais antiga ainda pode ser suportada por uma fina camada de compatibilidade sobre o código mais novo. Shims para APIs mais recentes são definidos como: "uma biblioteca que traz uma nova API para um ambiente mais antigo, usando apenas os recursos desse ambiente".[3]

Referências