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

Create Electron App #64

Open
marshalmiller opened this issue Aug 23, 2022 · 4 comments
Open

Create Electron App #64

marshalmiller opened this issue Aug 23, 2022 · 4 comments
Assignees
Labels

Comments

@marshalmiller
Copy link
Collaborator

I was looking at several Electron Wrappers and thought it would be cool to generate an Electron app for this project. It would work the same as the web version but would provide packages for Linux, Windows, and Mac.

I thought we could implement something like this project: https://github.com/samuelmeuli/action-electron-builder

Or if we could convert this project to a GitHub action for deployment: https://github.com/nativefier/nativefier

@marshalmiller marshalmiller added enhancement New feature or request help wanted Extra attention is needed feature-request Deployment labels Aug 23, 2022
@M-Faheem-Khan
Copy link
Contributor

Questions

  • How does this improve / help the product?
  • Why would one want to use this over the website?
    • Would this have additional features?
  • Are we supporting all Operating Systems (Windows, Linux, Mac)?

Possible solution

In order to support this we would need to re-write or make some changes to the underlying code because right now we are using python with Flask to serve as our backend and do Server-Side Rendering(jinja2 template injections) and electron is a NodeJS based application. This can be done if we separate Frontend(FE) and Backend we can make use of a FE framework like react,vue or angular for client side rendering and switch to a REST API model which can support this.

@marshalmiller
Copy link
Collaborator Author

@M-Faheem-Khan These are great questions.

  1. I don't think it does. If anything, it leans more towards question 2.

  2. There are very few advantages to using it this way. The only real use case is to keep fewer tabs open in your browser as we work to add things like multi-file upload. It may be nice to have the icon in your dock or something. I think the question can be posed to many Electron Apps, though. Why use the app versions of Discord, Microsoft Teams, or even Slack? I believe it just comes down to user preference. There would be no additional features, though.

  3. From the workflow I've found, there is no real difference. If the OS can support chromium, it works the same across all platforms.

I will say, perhaps I should be more specific. I am not looking to rewrite the code or anything. There are many Electron apps out there that are just a containerized version of a website. It just loads the website. I think I've created a way to do this with GitHub actions. So I can assign this to myself. But I'd much rather have any real dev work go towards adding features like multi-file upload or some other ideas. But, as I said in Answer 1. There is nothing this brings other than a change in workflow. Perhaps it is just for me.

But given that it won't take anything more than adding something to the GitHub pipeline, I think it might be worth a try. But no. Let's not change everything just because. Not yet, at least.

Thoughts?

@marshalmiller marshalmiller self-assigned this Aug 24, 2022
@marshalmiller marshalmiller removed the help wanted Extra attention is needed label Aug 24, 2022
@M-Faheem-Khan
Copy link
Contributor

I see, we can easily add this to our pipeline and shouldn't take up much work and or change to the underlying code. I'll take up #38.

@marshalmiller
Copy link
Collaborator Author

@M-Faheem-Khan can you comment on that issue so I can assign it to you? Thanks.

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

No branches or pull requests

2 participants