I just don't get these kind of comments. This person's javascript knowledge enabled him to develop this multi-platform app, it looks and feels great and does its job. Yes, it uses a lot of memory (140mb by just opening it) but how long does this stay actually open? You download some videos and close it in a few minutes. It's not a persistent use case like a chat client.
youtube-dl is a 10 year old project. Where are all the great qt gui-s for it?
And I don't get how you can be so defensive about Electron. It's technically inferior to literally any native solution such as wxwidgets or Qt. RAM usage, CPU cycles, Hard drive space... it's such a disrespectful stance on computing resources.
> it's such a disrespectful stance on computing resources
If it lets somebody accomplish something productive they wouldn't have had the time/expertise to do otherwise, then it's the best possible use of computing resources there could be.
Computing resources are a means to an end. Not an end.
Qt and wxWidgets are hardly native. Come on now. Electron isn’t perfect but if you are trying to build a good-looking/functioning UI for platforms that aren’t Linux (and thus have no UX consistency anyway, Elementary being an exception), it is a very viable option for lots and lots of devs. Especially web devs.
I get the hate at bad Electron apps but it’s also an unfair punching bag, IMHO. I would rather an app like this exist than not. And as a Mac user, I’d rather a good Electron app than some wxWidgets mess that still struggles with HiDPI in the year 2021, when every Mac I’ve owned since 2012 has had a high resolution display.
How is wxwidgets not native? They literally wrap native controls. Short of writing directly to a device frame buffer, you aren't getting any more native.
Qt is does indeed not use platform controls, but it is still a huge distance away of the insanity that is Electron.
Highdpi is also a solved problem on a lot of platforms already, and only really a problem in the first place if you use absolute pixel offsets or coordinates instead of extents, spacers and other automatic geometry tools.
Because talking about it here completely misses the point. Yes, Electron has a number of problems, so what? This is an app that you open and close within 3 minutes. Open Video Downloader is a very usable software that doesn't have any direct alternatives right now to my knowledge. It's actually a good example of how a great, easily accessible UI framework can enable the creation of cross-platform apps that nobody did in those other "leaner" frameworks until now.
Keep missing the point. Any tool used IS the best tool for the job until it runs and someone doesn't make a better app with a better tool. The guy is probably a JS dev and he made this as a low-impact side project. It's a really hard sell to dive into C++ or picking up some obscure framework with fraction of the community just for the sake of this (see "sad state of cross-platform gui frameworks").
It's like someone posts a phone video of a new rare animal species and you comment "A DSLR camera makes infinitely better video, it's much better suited for the job, we keep normalising bad mobile phone videos, people should use the right tool and carry a DSLR around".
This is really a valid question (not just for youtube-dl but for chat apps as well)... I guess the answer is : Qt being LGPL and the abundance of front-end webdevs
I think it's matter of usability and taste. As a programmer who uses CLI applications daily I still find GUI applications far superior to those tasks for which I don't have the CLI commands imprinted in my tactile memory. And I forget any CLI functions I don't use daily reaaallly fast.
Now tell me where the swipe-from-the-left and swipe-from-the-right and pull-down-from-the-top and long-press and double-tap and trippple-tap and pinch vertically and pinch horizontally and triple-finger tap for "modern" apps are documented?
For example - re-encoding a movie file. I'm 100% sure it's much faster for me to type "<windows> hand <enter>" to start Handbrake, click open, paste the path to the file to the file dialog, and click convert, than figure out how to use ffmpeg command line.
OK, you got me at ffmpeg! By bash history and search history are littered with fighting that gem.
But youtube-dl, the subject of this post, is another matter. Using it is a simple matter of `$ youtube-dl <url-to-video>`, the former which is bash-completed after two characters and the latter which is a paste. Surely that's quicker than any GUI.
A lot of people prefer 1-2 mouse clicks instead of typing in dozens of characters, needing to memorize arguments and options. Try to download a specific resolution as a novice user. Especially if you are disabled and can't type easily.
To download them, not to watch. You still are going to watch in a native player like VLC, MPV, MPC or whatever, and also have the video backed up (which is important as YouTube videos get deleted often).
Why not use FreeTube (https://github.com/FreeTubeApp/FreeTube) then if it is based on Electron anyway? Freetube also has support for watching videos directly alongwith downloading and can also route the video through Invidious servers if you prefer not giving your IP address to Youtube.
It's a wholly different use case. FreeTube is meant as a full replacement for the YouTube site. This app is a frontend for youtube-dl and concentrates on quick downloads noly.