Extism: Make all software programmable with WebAssembly
Authors are here to answer questions! To add a little bit of detail:<p>Extism is an open-source universal plug-in system with the goal of making all software programmable. Easily embed Extism into 13 popular programming languages (server or browser) and safely run high-performance WebAssembly plug-ins inside your code.<p>What does it mean to "make software programmable"? Simply put, you can give end-users the ability to extend your software with their code.<p>Plug-in systems are usually implemented in 3 ways:
1. execute a binary that is external to your process (like protoc)
2. re-compile a program with an implementation of some interface 
3. dynamically link to native code / dlls<p>All 3 have major trade-offs on the performance-to-security ratio. Extism provides a way to "have your cake and eat it too" in a sense, that it doesn't compromise security for performance. True, executing WebAssembly as we do here is not running at fully native speed, but it's darn close. And its sandboxed architecture offers the security you want if you're considering an alternative to dll/dlopen.<p>We're only getting started here, and welcome feedback good and bad. Please join our Discord[0] if you want to chat, or open issues on GitHub[1].<p>[0]: <a href="https://discord.gg/cx3usBCWnc" rel="nofollow">https://discord.gg/cx3usBCWnc</a>
[1]: <a href="https://github.com/extism/extism/issues" rel="nofollow">https://github.com/extism/extism/issues</a>