-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
Why is Etcher 139 MB large? #3658
Comments
See #2974 ? |
After pointing to a closed issue that points to another closed issue. The answer seems to be "framework". It's Electron. Let's face it, when you're developing a desktop app with web technology then you gotta think that there is a web-server and web-browser inside each application. I'm not sure why this became popular, it's a terrible idea. There are plenty of good ways to develop cross platform apps these days. Rust being first choice and even .NET6 would be a better choice than Electron! |
hey @A9G-Data-Droid,
found a comment that may explain why this project is still using Electron at this point in time:
so perhaps there's simply too much that would need to change? I haven't dug through the code myself (yet?), might do that at some point and see what comes of it. |
@ZaLiTHkA correct! hopefully Electron will be more performant in the future, as there's multiple reasons why it still is a choice even at this point in time other than just legacy :) one example being exactly using web technologies which are very widespread! |
@thundron I think the use case for Electron is when you want to make a web application and also offer a local version using the same code base. It then makes sense to reuse the code you already had. If an application is local only, like an image burning utility, then it doesn't really make sense to code it this way. Does it need to be hosted on the web? Does it need to be accessed remotely? Maybe you could make an image burning server but someone with physical access to the hardware is needed to connect and remove physical devices. It's a strange design decision. |
I think it's because Balena is (or at least was) pretty deeply embedded in the Javascript / NodeJS ecosystem, and so it made sense when Etcher was first being developed? 🤷 https://www.balena.io/blog/introducing-etcher/ |
Not even close. If you want to create a cross platform GUI electron is the way for now No good gui for rust - https://www.areweguiyet.com/ |
FWIW, NodeGUI does look like a really good alternative (on paper, at least), but unfortunately an issue with broken hot-reloading makes it really difficult to evaluate properly.. 🤔 |
I really hate the webapp trend; I do not want to live in a future where all my applications that should be 2mb applets are each their own web browser especially when here I can just fall back onto rufus. Don't get me wrong, etcher works well, but choices like that add to the bloated internet problem. |
I decided to give it a try after facing some issues with Rufus. 125 megabytes just to burn an image to a USB flash drive? Just no. |
@anzenchitai try USBImager instead. It says "less than 192 Kilobytes". |
not only that these monsters obviously also consume a lot more working resources, i.e. ram and CPU |
On my m1 mac mini the app is 365.9MB. Meanwhile, Audacity which uses wxWidgets is only 169MB. However the enormous binary size may be a non-issue for most consumers and require an investment in developer time that would not generate revenue? |
on Mac the issue is a lot worse than on other platforms as on Mac you have (once again) the Universal Binary which packages the application for 2 architectures in one package, while currently needed so the application can be more easily pushed to both Intel and Apple Silicon Macs, that thing was also used during the transition away from PowerPC to Intel, as well as for the transition from 32 to 64 bit on Intel. |
Unless I am missing something this is the Apple Silicon only binary not a Universal Binary according to the get info box. FYI Universal Binaries out of the box packages only 2 different platform binaries (YMMV) the brilliant emacsformacos packages more than 2 in their Universal Binary. For example x86_32, x86_64, arm64. |
Found this nice write up: |
When I downloaded Etcher, I was negatively surprised by the size of the download. For a tool that copies a file to a disk device, I would have expected 5 MB at most. On Unix-like operating systems, a simple
dd if=image out=device
is enough, so it shouldn't be necessary that the Windows equivalent is a million times larger.Do you have plans to reduce the file size of the distributed binaries?
The text was updated successfully, but these errors were encountered: