-
Notifications
You must be signed in to change notification settings - Fork 8
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
Suggestion: Organize root folder / optimization of release size? #30
Comments
Thanks for filing this issue!
That's something that bothers me too for a while -- especially since the Electron framework gets bigger with each release. I look from time to time for solutions and even alternatives but didn't found anything satisfactory yet. An alternative framework has to offer these features to be considered by me:
IMO a non issue😉 Most Windows applications, I'm aware of, don't have a file structure in their installation directory that one would consider as clean. I think, Markdown Viewer's file structure is very typical for Electron applications. Below a screenshot of the files of Markdown Viewer and some other applications: |
I did a quick web search. I actually did not spend too much effort, which is the best alternative (there are really many!), maybe there is still some room for optimization with Electron? Maybe you can remove some unnecessary dependencies and stuff. Some links:
|
Thanks for the suggestions! My comments on the links:
This is about the JavaScript dependencies (i.e. React in this article). The file First, I wondered, why I was not aware of this, but then I remembered (emphasis mine):
So, this runtime depends on the Browser that is built into the OS.
See also the issue Idea of runtime mode There is really not much to do about except performing tree shaking on the dependencies. But in this case, it wouldn't help very much -- see above. Same problem as electrino:
Same problem as electrino and DeskGap:
Again:
Actually, my first idea was to implement this application via Python and tkinter and implementing the whole Markdown parsing myself. I discarded this idea very fast, because embedding HTML had to be also possible and parsing HTML is anything but trivial. And before I use a browser component for some framework, I rather use a framework that is basically a browser itself. Also, as far as I understand, Qt can only be used with GPL licensed applications, which would force me to change the license of Markdown Viewer. If one wants to use another license, one has to pay a very high yearly fee.
Most of these alternatives aren't really alternatives for Markdown Viewer. But Sciter.JS looks pretty interesting. I'll have a deeper look in the future. If the runtime is really only around 5 MB, then other size optimizations may also be worthwhile. |
I looked a little deeper into Sciter.JS and unfortunately, there are reasons against it:
So either, I'd decide to make Markdown Viewer dependent on the operating system's browser (apparently and in contrast to my earlier statement, this is also practical with Linux) or just continue to use Electron for now. |
Hello,
not really an issue, but it might give the application a more clean / professional appearance if all the files would be organized into subfolders with only exe and license file residing in root?
A more practical thing: Is it possible to shrink the release container a bit? 100 MB for a viewer seems to be a bit much. My guess is that most of it comes from Electron? I am not familiar with how much is realistic, but maybe there is a bit room for improvement.
Best regards and thanks for the effort!
The text was updated successfully, but these errors were encountered: