I came back, after RTFA, to say that I'm pleasantly surprised that it runs completely in the web browser.
I came back, after RTFA, to say that I'm pleasantly surprised that it runs completely in the web browser.
It would be quite interesting when Browser Apps could also run as native apps without relying on electron (ie, being able to pull up their own UI when not provided one)
What do you see as the advantage of native at that point - having its own window?
If WASM apps simply use their own rendering, ie the Qt Toolkit they get a much more native feel on top of having a rendering engine that is more optimized for out of browser use (due to not having a DOM, etc.)
It would also slim down the applications a lot, notably when you dynamically link against the toolkit (which also means you share the lib with other apps instead of every app having it's own copy of electron)
Then there is the efficiency. My suspicion is that electron has a completely misconfigured caching system. Usually only one browser is running on a system and therefore many applications share the caching system. This means each electron application has an oversized cache that wastes memory and disk without meaningfully increasing performance.
Also, web now has desktop notifications - right?
That's the big benefit of Electron packing its own browser: you know exactly what engine it's running in and which version of said engine. It's not dependent on what the user wants to use, the last time they updated it, etc.
Are there downsides? Sure, but the upsides vastly outweigh them for most users.
Why do I keep seeing this style of comment on HN lately? Someone expresses an opinion about software architecture and someone begins their response “obviously you have zero experience working in this domain...”
It’s such an insulting way to start a conversation. And quite often a false assertion.
Baseless assertions about someone’s experience are just bullying rhetorical flourishes.
Sure I do, all the way back to when CGIs were still a thing, that is what Web development is all about.
It is no different than using any other programming language, graphical APIs, network API, or OS stacks backed up by standards.
Anything else is just being lazy at user's expenses.
Just imagine game developers shipping a GPU with their game just to be sure it is the same OpenGL version.
Electron apps aren't shipping you hardware. I think the more apt analogy would be installing a specific version of DirectX with your game... which a lot do.
Ultimately, I'd rather a company/developer spend more time actually building a better interface/product rather than perpetually fixing browser compatibility bugs.
> that is what Web development is all about.
While fixing bugs and dealing with compatibility issues are part of building any software, I'd hardly say that's what they are all about. That still holds with web development.
Do you think <successful web company> is successful due to their ability to squash compatibility bugs? Hardly. It's a means to an end.
> It is no different than using any other programming language, graphical APIs, network API, or OS stacks backed up by standards.
I would love for everything to be standardized across browsers, but I don't expect that to ever happen (fully).
That isn't to say Electron is bad, quite the contrary, but it isn't a silver bullet either.
To your "do you think..." question, I think it is an aspect in their success. Gone are the days where someone could say "this site requires IE 6/IE 7/Firefox/Chrome/etc." and be successful. Going onto Facebook, I don't think the site looks great, but it functionally works in any browser I've come across in an expected manner. But if they'd require a native electron or otherwise app? Wouldn't use it (don't have Facebook or Messenger installed on my phone or tablet, I only check messages where allowed which is desktop and tablet web sites, everything else I use it for works fine in mobile/tablet/desktop).
Please be as polite in a forum as you would be during a face to face conversation. You'd never start an office/remote work conversation with that line, would you?
I can see how it can sound harsher than intended in text-only.
I like these new in-browser IDEs.
They often bring a full-fledged build system with them.
Just open the URL, write your code, hit compile and download your build.
There are a number of C/C++ based node libraries... I think sass, sqlite are probably the two most popular. Any dependents of nan[0], node-gyp and node-pre-gyp are others.