4 ms·
Since this is inevitably going to generate some discussion over native apps vs. Electron (ah there's already a fellow comment about it), I'd like to point out a
by Razengan 7y ago
Since this is inevitably going to generate some discussion over native apps vs. Electron (ah there's already a fellow comment about it), I'd like to point out an example that is important to me of why Electron is an inferior experience for users:
In the GitHub Desktop client, which is an Electron app, I can't spell check my commit messages, something that every text field in every native macOS app gets for free.
- _bxg1 7y agoWeb text fields should also support that functionality, so it may be a question of GitHub breaking/disabling it in some way.
- judge2020 7y agoKind of odd, is doesn't look like there's a built-in spell checker available in Chromium since you need a spell check provider[0]. I imagine Google injects it into their Chrome when deploying. 0: https://github.com/electron/electron/blob/master/docs/api/web-frame.md#webframesetspellcheckproviderlanguage-provider https://github.com/electron/electron/blob/master/docs/api/we...
- _bxg1 7y agoThat is interesting; I assumed it hooked into the OS-level functionality but it doesn't appear to. Hmm.
- bitwize 7y agoIt's probably a question of the 2010s equivalent of Windows custom control masturbation ("look mom, I can create my own buttons!"): replacing perfectly good HTML elements with ground-up reimplementations written in DIV soup with JavaScript event handlers.
- Razengan 7y agoYou're right; I just tested it in Discord, which does have a spell checker, and it seems to use the system dictionary (but it seems one way when teaching it new words), but it's still missing other global text field functionality: https://i.imgur.com/qpOU9dz.png https://i.imgur.com/qpOU9dz.png The point remains: Electron apps generally lose many of the features that the host OS gives native apps for free.
- _bxg1 7y agoBut the native web, used properly, includes many of them itself. Things like accessibility, metadata, etc. You only really lose features if you're circumventing native web functionality.
- johnisgood 7y agoThe problem is that the developers of Electron apps explicitly disable those features. Why?
- _bxg1 7y agoSometimes web developers will circumvent core HTML features because they don't do everything they want and aren't extensible enough, although this is generally considered bad practice if it's at all avoidable. Sometimes they just don't bother to write semantic HTML even when they could. But the platform itself has the infrastructure; it's possible to write bad software on any platform.
- brylie 7y agoTangentially related, our customer care department can't spell check support responses in context, because the Zendesk platform seems to use a non-native widget. It is frustrating when web developers and frameworks break standard functionality that is built into browsers, like the back button.
- Hendrikto 7y agoI am curious: Does the Github Desktop client work with other git hosting platforms? From a quick look at its website, this appears to be left open.
- grumpy8 7y agoI don't know why that is, but in the end, aren't web browsers using the native os widgets for input text, etc.?
- frutiger 7y agoNo. They are typically all custom rendered using e.g. Cairo. In a native Win32 app every entry would be its own HWND. In a web page every input element is not an HWND; then entire web page is a single HWND.