
Electron 3.0.0 - rmason
https://electronjs.org/blog/electron-3-0
======
seanalltogether
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

~~~
Razengan
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 machines.

~~~
mikhailt
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 when you need to support Windows 7 and above? Win32 controls are
grossly outdated but the best accessible/consistent experience across multiple
versions, UWP controls is limited to Windows 10 and best under MS Store, WPF
has been neglected but so far it is the fastest way to develop a GUI.
Microsoft has decided to split UWP out of Microsoft Store to bring it to
everyone with UWP XAML Islands etc.

The reason Slack prefers Electron is because you can just write the same
HTML/CSS front-end, deploy it, and all Slack apps can simply be refreshed to
show the newest UI. You cannot do that with native apps at all. You could get
around with a few webviews embedded in the native apps but might as well go
full Electron.

~~~
scarface74
_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.

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

~~~
kitsunesoba
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.

~~~
orange8
> from a giant pool of cheap, generic, interchangeable, fully replaceable
> developers

A giant pool? Sorry, not really. JS skills are highly sought after, and
finding good, experienced front end developers is very hard. Inexperienced
developers are easy to find in any language, including your favorite one,
whatever that is.

The "cheap, generic, interchangeable, fully replaceable" part just sounds
bitter and vindictive, no need to respond to that.

~~~
kitsunesoba
When compared to the hiring pools for iOS and Android devs, the size of the
web front end pool is certainly larger, because that’s what’s currently hot
and has the lowest barrier to entry. You’re right that quality is just as hard
to find, but given the performance issues that continually plague most modern
web apps (with apps like VS Code serving as evidence that it need not be that
way), I’m not convinced that quality is the highest priority with these hires.

I will concede that I am a bit bitter. It’s frustrating to watch the industry
push ever harder to render specialized developers unnecessary.

~~~
orange8
If you compare the demand for websites vs mobile apps, we have about a total
of 5 million downloadable apps and about 644 million active websites according
to netcraft, which can be interpreted as 131 web devs for every 1 app dev. The
pool for webdevs should therefore be much larger.

As for quality, correctly accessing a devs level of competence can be very
tricky, regardless of the required skill-set. With web devs, its even more
tricky because an "over-qualified" desktop/app devs can do just as much damage
in terms of technical debt as a poor quality web dev. A webdev is also a
specialized developer, but due to the low entry barrier, many don't realize
this.

------
giancarlostoro
It looks like a short list of new things, so maybe it makes sense to look at
the first beta for v3:

[https://electronjs.org/releases#3.0.0-beta.1](https://electronjs.org/releases#3.0.0-beta.1)

~~~
jonny_eh
Thanks, this is the "real" changelog. I wish projects didn't waste these great
PR opportunities. There should be a blog post written by a human for human
consumption that explains why we should be excited.

~~~
MBCook
As someone who doesn’t follow Electron even that is worthless to me.

Is there a significant speed/memory usage change? Is the install smaller? Some
new features that people want?

I don’t know. And I’m not going to read the names of dozens of tickets to try
to find out.

~~~
orange8
As someone who doesn't follow or even like electron from the sounds of it, why
do you expect anything about their release log to be worth anything to you?

~~~
MBCook
I like knowing what’s going on. I’m know I’m using a few electron apps that
would benefit from performance enhancements.

But some open source projects (like this apparently) announcennew releases in
such a way that only Biden intimately familiar with the project can tell what
changed.

And it makes it very hard to _start_ following the project.

------
burtonator
I'm working on shipping a new release of my document annotation platform on
Electron 3.0

[https://github.com/burtonator/polar-
bookshelf](https://github.com/burtonator/polar-bookshelf)

We've been releasing with the 3.0 betas for about a month now and haven't had
any issues. It's been pretty stable.

Actually more stable than the 2.x series as it has a number of bug fixes that
weren't in the 2.0.0 ... really glad this platform is still moving forward
aggressively.

There are also 4.0 beta builds up which I haven't played with yet.

------
M4v3R
I have eagerly waited for this release, as it uses Chrome 66. Previous stable
version used Chrome 61, which lacked some nice additions to JS, most notably
for me - the complete Intl API support.

~~~
LeoNatan25
Oh look, finally you are getting some API that has existed on proper
frameworks for more than a decade.

~~~
hnbroseph
yes, it's pretty nice to get new stuff :D

~~~
LeoNatan25
Would you also like a lollipop? You can get one at the kids JS "dev" table.

~~~
dang
Posting uncivilly will get you banned here, so please don't do this again.

[https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

------
cordite
Will electron apps finally stop canceling OS X shutdown / restart (before
quitting themselves)? Atom, Slack, and others each prevent shutdown one at a
time.

~~~
johnthedebs
They should, yes. That bug was actually fixed in one of the 2.0.0 betas
([https://electronjs.org/releases#2.0.0-beta.1](https://electronjs.org/releases#2.0.0-beta.1))
– those apps may just be slow to catch up.

~~~
cordite
From February? That is quite old as far as web apps go

------
Forge36
I'm excited, I need to dig though to see if any of the chrome updates fixed
accessibility issues. The press release doesn't link the the PDF support issue
which is a little worrying.

I think the fix is:
[https://github.com/electron/electron/pull/13760](https://github.com/electron/electron/pull/13760)

------
nevi-me
Out of curiosity, assuming that Node 10.8 (or the latest version we're on)
doesn't break anything from 10.2, and also assuming that the Node abstraction
layer protects developers from underlying V8 ABI changes; why would Electron
release a new version with dated versions of Node and V8?

Is it because of a release cycle?

------
derfnugget
Currently 'npm i -D electron@latest' is still installing electron@2.0.10 but
3.0 can be installed with 'npm i -D electron@3.0'.

