Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider Electron for GUI #131

Open
hello-adam opened this issue Oct 17, 2021 · 6 comments
Open

Consider Electron for GUI #131

hello-adam opened this issue Oct 17, 2021 · 6 comments
Milestone

Comments

@hello-adam
Copy link
Member

I'm not sure about this, but Qt 5 is becoming a pain to deal with for builds (doesn't work with GCC 11) and Qt has been pretty routinely complained about by both professionals and students that have worked with this project. Even though I'm very familiar with Qt, I really like the idea of programming the UI with web technologies and I think that will make UI development easier for students/interns as well.

I guess this would require the core library to be free of Qt stuff and to have a JS package. A nice bonus would be that pure JS plugins would then be pretty straightforward.

@hello-adam hello-adam added this to the 1.0 milestone Oct 17, 2021
@eden-desta
Copy link

Electron actually works beautifully with React, and creates executable for the relevant OS distributions (macOS, Windows, Ubuntu). And React is grand because it allows you to develop on a component level which can reduce your overhead especially because you all separated out your Qt development into widgets (which was marvelous). That way development can be more component/widget level at a time instead of having to transition the entire project over at once.

This is if you are considering React. Obviously there are a ton of other frameworks (Angular being right up there with React, or Vue). And you can still maintain your general back-end efforts using something like Flask to bridge your UI to you API! In short i definitely agree with you in potentially transitioning the UI to a web framework of some sort.

@hello-adam
Copy link
Member Author

thanks for the feedback on this! and yes, I was thinking React would make sense.

I experimented with Node-API, cmake.js, and electron a couple weeks ago and I'm now slightly more convinced that this will be pretty straightforward and interesting.

@classabbyamp
Copy link
Contributor

(from a linux distro perspective) electron is a massive pain to deal with. It's most optimal to be able to use the system electron instead of a bundled version, and many electron-based packages make it very painful to un-bundle electron.

@hello-adam
Copy link
Member Author

that's a good thing to keep in mind - I am not very familiar with distros and OS package managers. Would using something like electron-builder not be as straightforward as it sounds? Is the issue with the tight bundling a matter of size?

@classabbyamp
Copy link
Contributor

Would using something like electron-builder not be as straightforward as it sounds?

it may help for some distros, but I can't speak for all of them

Is the issue with the tight bundling a matter of size?

I think mostly size, not having duplicate things across the system, allowing for security updates to be handled, and allowing for compatibility patches to be added as needed. There's probably other reasons too

@hello-adam
Copy link
Member Author

Ok, thanks for putting this on the radar

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants