Live data from Hacker News

Electron 3.0.0

electronjs.org

71–80 of 141 posts

Re: Electron 3.0.0

#71
post #11

Earlier quoted context omitted.

do you really though

If it makes for easier programming, yes. Writing Slack as a native app would be a massive pain. Especially due to all the web-like features it has, the fact that it's one codebase (mainly) for desktop and web. They also have to support Windows, Linux, Mac and mobile. Not an easy task

The Mac cocoa version of Telegram achieves most of the same features as slack without resorting to webviews and shares 99% of its code with the iOS app (meaning the Mac build adds practically no overhead).

Windows and Linux are another beast, and Telegram’s solution is to use Qt for those platforms. Again, slack like capabilities with no webviews.

The difficulty of native dev is not as high as it’s often represented.

Re: Electron 3.0.0

#72

I really hope whatever the NativeWindow changes are allow Slack to finally stop rendering when the app goes to the background. My battery has been killed a couple times by the Slack renderer using ~30% cpu playing gifs while the app isn't visible, and their support says its because they don't have a notification hook for minimizing

Is writing native apps honestly still so hard these days? I can appreciate the concerns about maintaining multiple codebases and dealing with different delivery mechanisms and their rules, but modern iOS/macOS and Windows APIs (at least; I cannot speak for Android and Linux) seem just as easy, let you work in arguably better languages, evolve at a faster rate, and provide a better experience for users and their machi…

> provide a better experience for users and their machines

Ah, but you see, the modern developer does not care about the user experience. "Developer time is worth more than user time", "move fast and break things", etc. Users are the cattle we feed ads to and farm for salable data.

Re: Electron 3.0.0

#73
post #58

Earlier quoted context omitted.

Is writing native apps honestly still so hard these days? I can appreciate the concerns about maintaining multiple codebases and dealing with different delivery mechanisms and their rules, but modern iOS/macOS and Windows APIs (at least; I cannot speak for Android and Linux) seem just as easy, let you work in arguably better languages, evolve at a faster rate, and provide a better experience for users and their machi…

Yes. At least N times the work for N platforms. Fewer developers, harder to recruit. Cross-platform options like Qt are not modern/pretty enough and sometimes aren't that much thinner than Electron (depending on how well written the app is). Java/Swing/SWT is also quite bloated and looks terrible. Development is much slower in languages like C++. Other languages are not cross-platform or have immature/buggy cross pla…

> Go back and use the VB.NET GUI builder from 2004 and be in awe at the incredible productivity you could achieve.

That almost nothing like this exists today is evidence that personal computing is dying, IMO. Companies don't want to empower users, they want them to be good little content consumers who do what the ads tell them. Developers (OSS developers included) don't respect them and assume they're too stupid to be permitted to use anything but the safety scissors. After all, if they were worthy of creating things they'd be C greybeards.

Re: Electron 3.0.0

#74

Earlier quoted context omitted.

Affinity Designer, Photo, and Publisher to name a few, from the same company. [0] Then there are many games, which by their nature require native performance, and of course have to present the same frontend. :) [0] https://affinity.serif.com

Games feel like a separate edge case. One of the most common complaints about cross-platform apps is they don't "feel native" or adhere to platform UX expectations. With games, there's an expectation they'll provide their own wholly own UI that doesn't match an existing commercial OS.

Also, video games aren't generally expected to be accessible to blind people via screen readers. If you develop a cross-platform app with a custom UI, it's going to have zero accessibility unless you implement each platform's accessibility API.

Re: Electron 3.0.0

#75
post #47

I really hope whatever the NativeWindow changes are allow Slack to finally stop rendering when the app goes to the background. My battery has been killed a couple times by the Slack renderer using ~30% cpu playing gifs while the app isn't visible, and their support says its because they don't have a notification hook for minimizing

> their support says its because they don't have a notification hook for minimizing That doesn't even seem correct - the BrowserWindow emits "hide" and "show" events [1] that Slack could use to do exactly what you're describing. I'm guessing they just don't want to implement it for some reason? [1] https://electronjs.org/docs/api/browser-window#event-show

I’m guessing they meant visibility (which minimizing can effect) but it depends on what they mean by “background”. Sounds like that’s only reliably available on macOS:

“Additionally, on macOS, the visibility state also tracks the window occlusion state. If the window is occluded (i.e. fully covered) by another window, the visibility state will be hidden. On other platforms, the visibility state will be hidden only when the window is minimized or explicitly hidden with win.hide().”

Re: Electron 3.0.0

#76

Earlier quoted context omitted.

It's not writing the native code that's the problem, it's designing the same GUI experience across platforms that's nearly impossible to do. If it was so easy as you said, a lot of macOS apps would've been portable to Windows years ago given the market share. I work for a cross-platform company, Windows is a much more difficult to develop for compared to macOS. You can write a Cocoa UI but what do you do on Windows w…

It's not writing the native code that's the problem, it's designing the same GUI experience across platforms that's nearly impossible to do. I don’t want the same “GUI experience” across platforms, I want a GUI experience that is consistent with the platform I am running. When I was a heavy Mac user, I hated iTunes on Windows because it felt like being on a Mac instead of Windows.

This is one of those things that very much matters to hacker types but very little to everyone else. The most important thing about cross platform development is having the exact same application feature for feature pixel for pixel if you can. Someone who knows how to use Spotify on any one platform should be able to navigate any other with 0 cognitive load.

People learn applications, they don't learn systems -- apps have never been consistent enough for that.

Re: Electron 3.0.0

#77

Earlier quoted context omitted.

Is writing native apps honestly still so hard these days? I can appreciate the concerns about maintaining multiple codebases and dealing with different delivery mechanisms and their rules, but modern iOS/macOS and Windows APIs (at least; I cannot speak for Android and Linux) seem just as easy, let you work in arguably better languages, evolve at a faster rate, and provide a better experience for users and their machi…

> provide a better experience for users and their machines Ah, but you see, the modern developer does not care about the user experience. "Developer time is worth more than user time", "move fast and break things", etc. Users are the cattle we feed ads to and farm for salable data.

The modern developer very much cares about user experience which is why the gold standard right now is pixel perfect feature perfect cross platform apps for web mobile and desktop.

Re: Electron 3.0.0

#78

Earlier quoted context omitted.

With so many platforms that's unrealistically expensive. It's not just Windows and OS X anymore.

Is having 1-3 Mac guys and 1-3 Windows guys (which is realistically all the vast majority of apps would need) really that much more expensive? To me it seems the real attraction is being able to hire from a giant pool of cheap, generic, interchangeable, fully replaceable developers.

And Android, and iOS.

Re: Electron 3.0.0

#79

Earlier quoted context omitted.

Is writing native apps honestly still so hard these days? I can appreciate the concerns about maintaining multiple codebases and dealing with different delivery mechanisms and their rules, but modern iOS/macOS and Windows APIs (at least; I cannot speak for Android and Linux) seem just as easy, let you work in arguably better languages, evolve at a faster rate, and provide a better experience for users and their machi…

It's not writing the native code that's the problem, it's designing the same GUI experience across platforms that's nearly impossible to do. If it was so easy as you said, a lot of macOS apps would've been portable to Windows years ago given the market share. I work for a cross-platform company, Windows is a much more difficult to develop for compared to macOS. You can write a Cocoa UI but what do you do on Windows w…

You shouldn’t push for the same human interface on different platforms, they all have their own conventions that applications need to fit.

At least back in the 1980s and 1990s, cross-platform toolkits tried to look native everywhere, and that’s why.

Re: Electron 3.0.0

#80

Earlier quoted context omitted.

Such as?

qTorrent, VLC, CMAKE, Obs, AbiWord and Touch Designer. That's off the top of my head. To say a company that has 200 MILLION in revenue can't re-write their client in Qt is indefensible nonsense.

You're probably right about cant, but why would they want to? A native version of their app would either embed a web browser or end up half-implementing one poorly. Why not just start with one?
Post reply on HN