Inspired by Metamask Snaps, I want to bring into attention Syrius Plugins. Web apps directly integrated into Syrius that can request signatures, initiate transactions and more via the Javascript bridge.
Since for mobile is trivial to integrate a webview, we needed a viable solution for desktop. Now we have a good candidate:
I’ve tested this solution and the good part is that it opens a separate window where it can load web content from the Internet.
We can leverage the JSbridge to facilitate the communication between the Dart code and the Javascript code.
Extending the capabilities of Syrius with web applications.
It will reduce complexity and compatibility issues because all the web app logic will be contained in the webview instance.
Instead of writing Dart code directly into the Syrius codebase (that will be compiled and shipped alltogether), plugin developers will be able to interact with Syrius from a familiar web app. We can create a Plugin Store as a web app and list only pre-approved plugins.
Also plugins can list what features they need to run (sign transactions, get wallet balance, etc.).
Think of it like Syrius ↔ WalletConnect ↔ Browser except the webview aka browser is built into Syrius: