While Go is famous for building APIs and CLI tools, but it's potential for building desktop apps is less commonly discussedš. Popular languages such as JavaScript/Rust already provide packages to built desktop apps such as Electron.js for JS and Tauri for Rust.
However Electron.js is criticized consuming lot of memory leading many companies to switch to alternatives like Tauri. Hoppscotch recently released their desktop app with Tauri, highlighting the growing trend toward more resource-efficient solutions.
Go is also leading the way in building Desktop apps with wails, and with wails and Vue.js I built a File Organizer which sort the files to their respective folders based on the File Type, Year/Month of creation.
Serpico: File Organizing Appš
Simplify your digital life with Serpico, the ultimate app for organizing your files with precision and ease. Designed to help you manage and declutter your digital space, Serpico organizes your files by month, year, and file type.
Key Features
- Automatic File Organization: Serpico intelligently categorizes your files by month, year, and file type, making it easy to navigate through your digital archive.
- User-Friendly Interface: Enjoy a clean and intuitive interface that makes organizing and accessing your files a breezeš±āš».
- Secure and Reliable: Trust Serpico to handle your files securely, with robust encryption and backup options to keep your data safe.
- With Serpico, managing your digital files has never been easier. Whether you're a professional, a student, or just looking to declutter your personal files, Serpico is your go-to solution for a more organized digital life.
Screenshots
Development
To run in live development mode, run wails dev
in the project directory. This will run a *Vite * development server that will provide very fast hot reload of your frontend changes. If you want to develop in a browser and have access to your Go methods, there is also a dev server that runs on http://localhost:34115
. Connect to this in your browser, and you can call your Go code from devtools.
To build a redistributable, production mode package, use wails build
.
Conclusion
I encourage you all to try out wails, It's easy to use and they a good documentation if you want that, wails.
Email: leoantony102@gmail.com
GitHub: https://github.com/leoantony72
Repo: https://github.com/leoantony72/serpico
Download Link: https://github.com/leoantony72/serpico/releases/tag/v1.0
Top comments (3)
This is a really interesting project! Do you think Go has the potential to challenge more established languages in the desktop app space, or does it have specific limitations that make it better suited for certain types of applications?
Go is an awesome language and has great potential in certain areas, but the build sizes and limited GUI libraries make it more suited for specific types of desktop applications.
Fortunately, you can reduce them using build flags and compactors, making your final application smaller and more efficient.
Wails is comparatively young compared to others library but with the support of the community it has the potential to be on par with the others