Currently, You need to build new snaps for every capability you want to add to your Metamask extension. Polysnap allows you to execute any WASM wrappers deployed on IPFS on the fly without needing to build a new snap. You can also write these wrappers in any language that supports WASM as a compilation target (Ex: Assemblyscript, Rust, TinyGo, etc) instead of just writing it in JS.
It was really hard for us to integrate PolywrapClient with the Metamask Snaps because while building snaps the error messages we were getting were a bit cryptic and hard to debug. Since the snaps project is at an early stage, the documentations were also hard to follow and lack real-life examples. Metamask snaps don't support some of the most popular js libraries like axios because it runs in SES which makes it difficult to integrate with the modules that uses those libraries.
Tracks Applied (2)
Protocol Labs
Infura
Discussion