5 ms·
> Because until now making a beautiful, powerful and modern app with a portable GUI was something only a few people would be able to do. Except it's none of th
by aschampion 10y ago
> Because until now making a beautiful, powerful and modern app with a portable GUI was something only a few people would be able to do.
Except it's none of these things: electron apps suffer the same presentation-before-content problems as most of the web, they inherit all of the state bugs of web apps, and they're painfully slow despite usually just being menus of nested lists and text boxes. It's passing a burden from developers to users, which considering the huge asymmetry between these two groups that's typical (at least 3 orders of magnitude, and often 6 or more) is an enormous inefficiency.
I'm all for selecting tools and platforms to better optimize developer productivity, but it's not clear to me the web platform has actually accomplished that for all but a few types of applications, and pushing it to the desktop is resulting in cumbersome, unresponsive, needlessly fragmented interfaces.
Put simply: Amazon Music Desktop has untold development investment and a complete visual redesign every 6 months, but WinAmp circa 2001 is somehow a thoroughly better way of searching and playing music.
- sametmax 10y agoLet's be clear, I dislike slow apps, I think current behemoth web pages size is a monstrosity and every time I start an electron app (minus the excellent vscode), I scream in my head. Yet. Most electron app I tried have a ratio result/effort far better than any other solutions for the dev.
- zeta0134 10y agoThis cannot be understated. It really can't. The programmer in me will always be drawn to small, lightweight code that gets the job done while using minimal resources. But that programmer is an algorithmic designer, which doesn't often need to deal with the realities of UI, graphics card drivers, or cross-platform compatability. Electron is popular precisely because it enables developers of nearly any skill level to solve real world problems without investing the additional time to become a systems engineer. And the truth of the matter is that there are many more real world problems that need solving. Computers are cheap, humans are expensive. When performance matters, by all means, hire the expensive programmers and code it from scratch. Do it "right." But doing it at all is often the only thing that needs doing, and for those problems, Electron is often, begrudgingly, the best choice.
- sametmax 10y agoHonestly I will be able to accept the resource consumption in the long run. But the use of JS everywhere is the real hard part for me.
- dottedmag 10y agoWebAssembly and languages compiled to JS make it immaterial.
- millstone 10y agoI'm not sure how. WebAssembly is more limited than JavaScript (e.g. no access to DOM), and also more limited than native code (e.g. much more limited threading story).
- uryga 10y agoI thought they were working on adding DOM stuff too?
- stymaar 10y agoThey are. And they are also working on having full multi-threading (thanks to SharedArrayBuffer).
- cryptarch 10y agoI wonder how long after the WebAssembly DOM API becomes stable tbe first Rust-based "server and client written in one language" frameworks start popping up.
- sametmax 10y agoIt has the potential to do so, but I'm waiting to see it for real before calling it. Right now it's just not the case.
- flukus 10y ago
- panic 10y agoWhy do we care so much about the dev? There are way more people who use a typical program than there are people who develop it, and these people often use the program more frequently than the developers make changes to it. For example, if a feature is used every day for a year by 10,000 people, speeding it up by 200ms is worth over a month of developer time (200ms for 10,000 people over a year is 203 hours of time wasted, which is about 25 8-hour days, or five 40-hour weeks).
- BHSPitMonkey 10y agoWho is funding the developer? Why should they spend $5k (plus the opportunity cost of not using that dev's time on more fruitful pursuits) on 2 weeks of micro-optimization so that their 10,000 users will each experience a speedup so small they'll never even notice (and certainly never pay extra for)? How do you justify that expense?
- panic 10y agoI'm making a more abstract argument that doesn't have anything to do with money. The time people spend using a piece of software shouldn't be worth less than the time developers spend writing it.
- BHSPitMonkey 10y agoOkay, but under those conditions your argument can only be applied to a more abstract reality that isn't the one we actually live our lives in.
- nemothekid 10y agoThe time developers spend writing a piece of software is worth what people are willing to pay for it. It has everything to do with money - if the person using the software isn't willing to spend more for 200ms less in startup latency, it probably won't happen.
- flukus 10y ago> How do you justify that expense? It makes it harder for your competitors to offer a better product.
- flukus 10y ago> Most electron app I tried have a ratio result/effort far better than any other solutions for the dev. This is more about the experience of the developer. Anyone familiar with GTK or Qt (possibly others) should be able to bang out a UI pretty quickly, in many cases it will be much simpler than HTML+js+CSS. With Visual Studio you could slap together a win32 app pretty quickly. But for some reason we decided we had to coddle developers who only know javascript.
- reitanqild 10y agoCross-platform was mentioned upstream. Microsoft finally seems to be learning now but I think it will still be a few years before people start creating cross-platform desktop sw in visual studio, if ever.
- flukus 10y agoI think their intention is to make VS cross platform but not to provide a cross platform UI stack themselves. Even if they made any of their UI stacks cross platform, it wouldn't be particular compelling compared to something like qt (or GTK if you don't care about cross platform).
- megablast 10y agoJust like GUI apps then, Mac OS and Windows has many bugs, are painfully slow compared to no GUI, and create longer to write.