Shim (computing) 1 Shim (computing)

In computer programming, a shim (from shim) or shiv is a small library that transparently intercepts an API and changes the parameters passed, handles the operation itself, or redirects the operation elsewhere. Shims typically come about when the behavior of an API changes, thereby causing compatibility issues for older applications which still rely on the older functionality. In such cases, the older API can still be supported by a thin on top of the newer code. Web polyfills are a related concept. Shims can also be used for running programs on different software platforms than they were developed for.

Examples One example was the support of AppleTalk on computers during the brief period in which Apple Computer supported the Open Transport networking system. Thousands of Mac programs were based on the AppleTalk protocol; in order to support these programs, AppleTalk was re-implemented as an OpenTransport "stack", and then re-implemented as an API shim on top of this new library. The Windows Application Compatibility Toolkit (ACT) uses the term to mean backward compatible libraries. Shims simulate the behavior of older versions of Windows for legacy applications that rely on incorrect or deprecated functionality, or correct the way in which poorly-written applications call unchanged , for example to fix LUA bugs.[1] Wine is a shim that allows running many applications on , BSD, Solaris, and Mac OS X based operating systems.

References Article Sources and Contributors 2 Article Sources and Contributors

Shim (computing) Source: http://en.wikipedia.org/w/index.php?oldid=543735769 Contributors: Behnam, Bomazi, Cherkash, Choster, Danhash, Delirium, Fiftyquid, Frap, Ike, Jimhoward72, John Nevard, LittleBenW, Marudubshinki, Maury Markowitz, RedWolf, Rogerborg, Sdfisher, Socrates2008, Syp, The Anome, Thumperward, Tzadikv, Wilddrizzle, 11 anonymous edits License

Creative Commons Attribution-Share Alike 3.0 Unported //creativecommons.org/licenses/by-sa/3.0/