Inspiration
DevPouch is a sample desktop app built on top of the Tauri framework.
What it does
The app itself is a very minimal implementation of a wallet on the IC network, based on the identity that dfx uses to deploy canisters.
How we built it
DevPouch is built with React on the "front-end", and it is a very simple one page app. It does not use the agent-js library for communicating with the IC ecosystem, all the calls are being routed through the rust "backend"
Challenges we ran into
While Tauri is an awesome project with a ton of strong points, it is still young compared to Electron. I've prototyped some functionality that ended up being dropped due to platform glitches (e.g. the file drag & drop is buggy on Linux). Another pain point was that the automated github build for Windows errored out due to some SSL configuration on the build VM, so I had to chose only Linux and MacOS for the moment.
What we learned
Rust rocks?!
One of the key advantages of using Tauri, and the reason why I wanted to explore the ecosystem, is that we can reuse code very easily. The JS code can be written with zero knowledge about IC, crypto, web3, etc. With a React custom hook for example, the front-end developers have a straightforward experience, similar to using the Fetch API.
What's next for Dev-Pouch
I think there are a lot of cool things that can be developed on top of Tauri. I initially envisioned DevPouch as a GUI companion to dfx, and some potential features include:
- Creating easy point & click experiences for creating new asset canisters, and drag&drop support for uploading files
- Tracking & controlling canisters deployed on the IC (via APIs like icscan) - I had some functionality prototyped for this, but I had to scrap it due to time constraints.
- Adding any open rust-based libraries that the community creates (like a easy-to-use backup library that allows you to get your canisters backed-up on your local machine)
Log in or sign up for Devpost to join the conversation.