4 ms·
If there's some better environment to be found in non-JS-land, why is Electron and its ilk so popular?
by edflsafoiewq 8y ago
If there's some better environment to be found in non-JS-land, why is Electron and its ilk so popular?
- discreteevent 8y ago"better environment" - worse is better. Its explained in the comment above you about entrenched interests. Whether js and html are worse in the browser is one thing but I think you could argue strongly that they are worse on the desktop. As a user, the experience for me is pretty bad.
- eksemplar 8y agoIs electron really worse though? I use VS and VSC professionally and VSC is the best ide I’ve ever used. VS is great too, but it’s performance is really, really, terrible when your documents and settings directory is on one network drive and your codebase is on another. Not exactly VS’s fault, but it’s an ide for enterprise that can’t function with the most basic enterprise drive setup? VSC, the electron app on the other hand doesn’t give two shits. People usually tell me VSC is the one off unicorn. But isn’t discord better than team speak and ventrilo? Isn’t slack excellent? I don’t think sunk cost is a negative when people are building better tools with it.
- pjmlp 8y agoBecause many don't know any better.
- wild_preference 8y agoMeh, the issue with Electron is performance. The actual dev environment is decent, like how trivial it is to bring your own abstractions like React. Being able to inspect element and use Chrome's debugger. Being able to use whatever text editor you want. Using a compile-to-JS language. etc. I'm certainly not using Xcode + Cocoa + the MVC abstraction for iOS/macOS apps because it's the superior way to build software. It has its own warts, like the effort it takes to swap out MVC with some other pattern, or how it comes with no async abstractions -- you'll just be writing callback code like JS developers had to before the Promise. It's tempting to unmask "ugh, JS developers" as a bunch of idiots, but I think you'd only be kidding yourself if you think your pet environment is some global optimum.
- thrower123 8y agoEvery time I start doing anything moderately complicated in JS, I rage at how much more difficult it is compared to slamming together a UI in .NET.
- voltagex_ 8y agoWinForms or WPF? I can throw together a (terrible) HTML page faster than I can remember how MVVM is meant to work.
- pjmlp 8y agoMVVM is meant to work the same way as Angular bindings work. In any case you aren't obliged to use MVVM in WPF, it is just a best practice for easier unit testing and composability. Then again Web Components are only now starting to be a thing.
- thrower123 8y agoI'm a lover of WinForms, since I cut my teeth on VB6 and MFC... it's surprising how decent you can make things look with a little polishing. It's nuts that visual layout editors for the web have, if anything, regressed from the WebForms editor in Visual Studio 2008.
- eksemplar 8y agoReally because WPF, web forms or razor all seem very inferior to me than VUE or react. Hell when we were still building interfaces in .Net we paid a subscription to use Telerik on the frontend because the standard .net stuff is absolutely terrible.
- pjmlp 8y agoWhere is Blend for Vue or React? I never used Telerik, and we only bought ComponentOne once for a Windows Forms project, started before WPF even existed.
- pjmlp 8y ago
- int_19h 8y agoBecause all the better environments are not sufficiently portable. That said, even then, I'll take Qt over Electron any day of the week.
- edflsafoiewq 8y agoIf they're not even portable between established systems, how are we going to port them to a comparatively exotic wasm+DOM target?
- pjmlp 8y agoBecause it is actually WASM + Canvas, DOM doesn't matter. http://example.qt.io/qt-webassembly/quickcontrols2/gallery/gallery.html http://example.qt.io/qt-webassembly/quickcontrols2/gallery/g... https://playground.platform.uno/ https://playground.platform.uno/
- edflsafoiewq 8y agoWasm+canvas is an easier target but even if it gets us to the same difficulty as normal desktop targets, portability between normal targets is already a problem. My reaction to using the canvas instead of the DOM is very, very, very negative by the way. Webpages with fake text that is actually pixels rendered to a canvas are currently mostly restricted to dystopian notions of either the end result of the ad-blocker arms race or else extreme anti-copying measures.
- pjmlp 8y agoBasically it is Flash all over again, just now it is built-in in the browser.
- mcl7cdm 8y agoI think the world MUST start to make/tell the difference between (web)apps and web pages. Slack does not need to be written in js/html. Skype does not need to be written in js/html. They do those in electron just to avoid having to maintain X different code bases.
- pseudalopex 8y agoElectron is popular among developers who mainly know JavaScript. It's popular when someone already has a web app or has to build one anyway. It's popular among people who think it's better for their app to look the same on every platform than to integrate well. It seems to be pretty unpopular among people who have experience writing native apps.
- marcosdumay 8y agoBecause JS runs on the browser, so anything else is less portable.