Standalone Tauri app proof of concept #94
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I've been looking into developing a desktop music player app for my own personal use, and since my main expertise is in JavaScript development I got an interest in Tauri as a desktop app development solution. Along the way, I stumbled upon the impressive work here and thought I would try my hand at adding a Tauri standalone client based on this application.
It turned out to be surprisingly simple - a testament to your modular implementation and technology choices here.
This PR adds a proof of concept Tauri client implementation. It currently runs only in dev mode and may or may not work OOTB on your system (tested on MacOS only). It wraps the web UI in a desktop shell and runs its own backend independently of the server, though it's not fully independent since it won't initialize the database or scan the music directory, as that would require extra UX considerations.
Ultimately I think the goal here would be to make the client fully independent so a user could install the packaged app on their system without also installing the server/CLI application. In all likelihood that's contrary to your vision for the project, in which case I'm happy to continue to poke around in my fork.
Regardless, I thought you would be interested in what it looks like.
Overview of changes:
REACT_APP_NATIVE_WRAPPERenv variable in the client to identify if the app is running in the Tauri shellmain.rsfilesEt voila! Desktop app.