5 ms·
Spoiler: > it is an Electron app Saved you a download.
by otabdeveloper4 3y ago
Spoiler:
> it is an Electron app
Saved you a download.
- sdumi 3y ago> Saved you a download. You did, thank you!
- postalrat 3y agoIt's an electron app because there isn't a better alternative.
- eddieroger 3y agoIn what sense? There isn't a better alternative to package a web app as native, or there isn't a better alternative to writing Electron apps? I think many would argue native dev is a better alternative.
- postalrat 3y agoA windows native app? Or an osx one? Linux? Playstation 5 maybe?
- theodric 3y agoYes, a native application for each major operating system, that respects the OS's UI guidelines, and runs efficiently.
- postalrat 3y agoThat would take 20x more work just to do a few OSs if were even possible, which it isn't.
- theodric 3y agoSomehow we did this for 30 years, but now that Electron exists, it's impossible? Fine. Pick a platform to support.
- postalrat 3y agoWhen did we do it 30 years ago? With java? There were many attempts and electron beats them all.
- theodric 3y agoWhat I meant is that somehow companies released native applications for a multitude of operating systems in years past. Internet Explorer on Solaris, Windows, MacOS. Photoshop and AutoCAD on IRIX, Windows, MacOS. Netscape Navigator on anything with a screen and a keyboard. That's just the stuff I used off the top of my head.
- mixmastamyk 3y agoSpoilers II and III: > There's telemetry (and) > a terms of service to agree to
- sawka 3y agoTelemetry is completely optional and anonymous (and we provide a switch to turn it off when you launch the app).
- Nextgrid 3y agoAnonymous really doesn't mean anything when you must (for technical reasons) send my IP address as part of making the HTTP request. IP addresses is unfortunately all it takes for malicious parties like Google or the various analytics providers to correlate events together with high enough certainty.
- LanzVonL 3y agoNo telemetry is anonymous, these days it's trivial to associate an IP with any number of personally identifying factors. All you need is partners.
- noergl 3y agoIts true, that a browser engine has a higher resource usage initially - it can easily hog 50-100MB without any content being loaded, but seriously, thats not much of a concern anymore these days. On the other hand it provides a great programming environment for web devs with many bells and whistles (which arguably might not even be needed for certain electron apps). What concerns me more is what web devs actually do within that environment - it's almost like many devs have lost a basic sense of resource management, like memory comes for free, gets garbage collected anyway, so why should I care. Many electron apps are overly shiny in appearance, backed by tons of graphics and animations, but in fact are lousy managed under the hood. I am not quite sure if this is a direct effect of using a GC language, or if Javascript+HTML in particular makes it too easy to get quite far without some comprehension of inner works of the browser and the machine underneath. This is also a pain with modern webpages - I really dont get it, why a browser with 8 tabs opened can easily grow to several GBs after a while. There are a few counter examples - electron apps that do heavy lifting while still being nice to your RAM and CPU. Sadly thats exceptional, not the common case. I tend to blame sloppy web devs here.
- sawka 3y agoWave uses electron for rendering, but a Golang backend for networking and heavy lifting. This gives Wave the ability to be cross platform and still efficient under the hood.
- noergl 3y agoI totally understand choosing a HTML engine for output rendering, given the type of additional content you want to provide on top of normal terminal stuff. This would be really painful and expensive to implement & maintain in native GUI libs across several platforms. And vscode kinda shows, that it is possible to maintain a reasonable resource footprint while delivering a productive app with electron. They also achieve that with a relatively small team, which prolly would not have worked out with platform native solutions. May I ask how you drive the terminal emulation? Is this done by xterm.js or a custom terminal emulator? I am asking, because xterm.js put quite some effort into optimizing things to be on par with other fast desktop terminal emulators, speed and memory-wise.