
To Revive the Mac, Apple Wants to Kill Electron - starbugs
https://onezero.medium.com/to-revive-the-mac-apple-wants-to-kill-electron-154873336e78
======
saagarjha
The author is just plain wrong multiple times:

> Electron represents something of an existential crisis for Apple. If
> developers can build with web-based frameworks, they’re less likely to use
> Apple’s tools, services, and ultimately, its App Store.

Most Mac apps are distributed outside of the Mac App Store.

> To demo such an exciting framework, you’d expect big names like Netflix or
> Amazon Prime Video, which could theoretically bring off-line video playback
> to the Mac for the first time

Nobody seems to have really been clamoring for native apps for these…

> developers like Netflix, which need to build for other platforms anyway,
> will keep using Electron for other apps

Yeah, no. Netflix makes “native” apps for a mind-boggling number of platforms,
including set-top boxes and game consoles.

> A better example of this idea can be found in Chromebooks, where Google
> allows almost any Android app to be used without modification. Want to run
> Instagram or stream with Spotify’s mobile app? It works as you’d expect,
> with all of the benefits from the mobile app in tow.

No, it doesn’t: have you tried to scroll in one of those apps? That’s right,
most of the time you have to drag your cursor across the screen.

> If you’re a company like Slack, it’s cheaper and easier for you to target
> every desktop platform with Electron

No, because Slack already has an iPad app.

~~~
armitron
He's not plain wrong. Your replies are totally off the mark.

> Most Mac apps are distributed outside of the Mac App Store.

How does that make the author's statement wrong?

> Nobody seems to have really been clamoring for native apps for these…

"Nobody seems". Subjective. Also sounds wrong to me since it goes against my
personal experience.

> Yeah, no. Netflix makes “native” apps for a mind-boggling number of
> platforms, including set-top boxes and game consoles.

How does that make the author's statement wrong?

> No, it doesn’t: have you tried to scroll in one of those apps? That’s right,
> most of the time you have to drag your cursor across the screen.

Not my experience.

> No, because Slack already has an iPad app.

Irrelevant. How does that make the author's statement wrong?

~~~
saagarjha
> How does that make the author's statement wrong?

The author's point is not relevant: the App Store is not the preferred
distribution method for most Mac apps.

> "Nobody seems". Subjective. Also sounds wrong to me since it goes against my
> personal experience.

Subjective…except you replied with your own subjective opinion? Video
streaming apps don't really need a native UI: they don't run constantly, and
they don't really need access to platform features. Sure, it's nice to
sometimes have them be so, but the _real_ focus tends to be on social media
apps and productivity tools.

> How does that make the author's statement wrong?

Because the author claims that Netflix will "keep using Electron", but they
won't.

> Not my experience.

I mean, this depends on the apps you're using, but I don't think a lot of them
will work well without work put into them to make them adapt to Chrome OS.

> Irrelevant. How does that make the author's statement wrong?

Because they can check a box in Xcode to make a Catalyst app out of their iPad
app? It's not as hard as the article is trying to make it seem.

------
chrisbolt
[https://imgur.com/a/gaNGqMQ](https://imgur.com/a/gaNGqMQ)

49% of the page is non-scrollable on an iPad (811 of 1668 vertical pixels).
Unreadable.

~~~
trishmapow2
Isn't there a reading mode? Even Chrome is rolling one out (desktop with
reader mode flag set).

~~~
saagarjha
Safari has had Reader Mode for years.

------
flukus
> Building them is also an expensive, slow job that requires a team of
> developers and designers — particularly if they’re building for multiple
> platforms, like Windows, macOS, and Linux, at the same time.

That is just blatantly wrong. There's cross platform toolkits like
Gtk/Qt/Swing/others that I'd say are still easier to build apps with than
electron. There's RAD tools like WinForms and VB that let you drag'n'drop most
of the UI if you're happy targeting a single platform.

Electron is still not as good as these options were 20 years ago, the only
thing it has going for it are a legion of web developers that are seemingly
incapable of learning something different.

~~~
ex3ndr
You have to support web too. Are you going to build app in Qt for web too?

~~~
langitbiru
Maybe the answer is Flutter.

------
sameer_hacker
A mac only framework doesn't sound like an election killer at all considering
windows still has a huge user base.

~~~
kkarakk
further ignoring mac in favor of an ipad framework that ALSO works on mac
along with mac hardware refresh essentially ignoring heat issues(and keyboard
issues) leads me to think apple is going to evolve past the mac completely.
They just don't want users to use web apps on macs and lose their stranglehold
on the app store.

Things like flutter/react are completely going to devour the platform specific
space for everything except usecases that require specific hardware(which
apple is also losing because they're ignoring scientific/gaming marketshare by
cold-shouldering nvidia,ML and AAA game devs in general).

i think apple is trying to "hunker down" until internet speeds improve enough
that everyone is using a streaming service for all the hardware intensive
stuff and they can continue selling pretty thin clients like
ipads/iphones/iARGlasses

------
jablan
> Its goal is to make building a native app as easy as building with Electron.

1\. Building with Electron is not easy 2\. Building native apps is easy (at
least was the last time I checked on Windows some decades ago, I guess it's
not harder now)

~~~
imedadel
Where do I start if I want to build a native app for Windows, in terms of
language, frameworks and UI kits?

~~~
kkarakk
Download the Universal app SDK package in Visual Studio 2019(on windows 10
post anniversary update only afaik) and you're off. Language can be c# or
js,framework is .net framework and UI is modernized XAML or html/cordova

however the js/html/cordova support is a second class citizen and you'll have
an easier time just using c#/XAML

------
CJefferson
Either I, or apple, don't get the benefit of electron.

If I only want to target one OS, I already know better options they electron.
What electron gets you is Linux, Windows and mac support with less work than
any other platform (in my experience)

~~~
thefounder
Electron is easier to use/develop on, is cross-platform, uses the most popular
APIs/technologies(DOM, CSS, HTML). What not to like?

~~~
lispm
the bloat, the UI look & feel, ...?

~~~
arethuza
I have MS Teams and VS Code, both Electron apps, open and they seem perfectly
OK to me - in fact I am surprised by how _little_ memory they use.

~~~
coldtea
That's because Electron has conditioned you to enormous waste of memory, and
cpu, bigger latencies, and so on.

The "[surprising] little memory they use" is huge for what they do.

~~~
arethuza
Well, Teams is using less memory than Skype for Business that I also have
running and compared to Visual Studio and multiple browsers windows I have
open they are hardly using anything.

Edit: Yes, I think Electron/nodejs are "bloated" too if I look in node_modules
- but once I stopped worrying about that I got over the whole "bloated"
perception.

~~~
basch
Ive never had the experience of teams feeling like it was performing well or
felt fast. It's probably the laggiest apps in the Office suite.

~~~
hadrien01
You've never experienced Skype for Business, it's awfully slow when doing
simple things (resizing the window, opening a new conversation, sending a
message, etc.)

~~~
basch
oh i have. im not saying skype was better, but parts of its UI were absolutely
more responsive.

it wasnt slow scrolling up the conversation to see what someone said 10
minutes ago. try scrolling up a teams conversation to find a recent message.

------
Teknoman117
Maybe I wouldn’t hate electron as much as I do if they’d get around to fixing
[https://github.com/electron/electron/issues/9413](https://github.com/electron/electron/issues/9413).

Run dual 4K monitors on a Linux box on both nvidia and AMD GPU and all my
electron apps turn into a flickery, randomly not rendering mess. Currently
running what I can in Firefox, but VS Code still needs to me on my desktop and
is still a mess unless I disable GPU acceleration.

Two years guys, please...

------
dmos62
Anyone with experience developing cross-platform native code, what's your take
on the state of native cross-platform? Comment on GTK, qt?

~~~
lmm
People forget that most apps start off as a dozen lines to solve someone's
individual problem.

Qt is nice. GTK is... ok. But to get a cross-platform build with either of
them requires a couple of hours' fiddling around. The later you wait to go
cross-platform, the more platform-specific assumptions creep into your code
and the longer it'll take. But no-one wants to spend that couple of hours
fiddling around right at the start of their project, when it's just a dozen
lines to fix their own problem.

With electron you write that dozen line helper utility and you're
automatically cross-platform from day 1. And not just in the kind of
theoretical way you get with say PyQt where your application could be made to
build on another platform if you spent a couple of hours fiddling with the
build; the alternate-platform binaries are just there. That's powerful.

~~~
dmos62
I'm not a big fan of the Web stack, but I think if for whatever reason I had
to write an offline app with a web-ish frontend, I'd write a cross-platform
HTTP local-server and use the regular browser. I'm biased towards Electron,
because I use underpowered systems and just one modern browser is a big
resource hog, but one per application is nuts on a low-power system.

~~~
lmm
> I'd write a cross-platform HTTP local-server and use the regular browser.

That doesn't actually solve the biggest problem. How do you package up that
server? Can you make it something people can run like a regular executable on
that platform? How do you distribute it?

~~~
dmos62
Right, it doesn't address that at all. Browser's have minimal support for
local cross-browser apps.

The fact that you can't easily piggyback on the local browser irks me
somewhat. If it's inherently a behemoth, maybe have it be reusable, i.e.
piggyback friendly. You wouldn't want a per-app installation of Qt, for
example, but even that would be less stressful on the system.

I have a lot of fantasies about how the web stack could be different. I guess
that's reflective of some kind of frustration.

~~~
lmm
For many apps I'd ask if it really needs to be local. I've had some success
with compiling my application to a pile of javascript and then it's possible
to go from there to "works offline" functionality, at which point you have a
de facto local application that just happens to be opened by putting a
particular URL in the browser.

~~~
dmos62
I wasn't aware that that kind of offline web app was possible. I'm surprised
there aren't more of them.

My impression was that with an offline capable web app you need CDNs et al to
be reachable to load the web app, and then if connection was lost the app
could handle it, but if you were to close and reopen the app, it would again
need an internet connection to load.

------
rapsey
This is a very weak argument. If it was the case catalyst would be windows as
well. Then it would actually be very interesting.

Solving the “apple” side of the equasion is no solution at all.

------
nahtnam
I don't think this is the right solution. Something like React Native where
the core logic is shared but the UI/Views can be tailored to each environment
is ideal.

I believe Microsoft released some React Native stuff for desktop and
hopefully, there is some work going on for MacOS.

~~~
xenorplxx
Yea, Microsoft seems to maintain react-native windows and they've officially
announced their support.

------
xenorplxx
Doesn't project Catalyst mean that we'd be able to build react-native iOS apps
on macOS? :D That would be great, cause with MS support you can build react-
native apps on Windows and even Xbox already, just Linux is still out of
reach.

~~~
jonbeebe
This is a very good point that I hadn't thought of, that is, is react-native
adds support for it. I imagine Catalyst would make things easier though.

~~~
xenorplxx
From what I understand (although I didn't do much research) all you have to do
is to use a new enough version of Xcode and that's it, so React Native doesn't
really have to add any support. Ultimately, you build native apps anyway, all
JS things are hidden inside.

~~~
xenorplxx
I did more research and it seems that they indeed have to add some kind of
support.

------
ex3ndr
Comment about Jira is awful. Jira is perfect example. Because it sucks on web,
but perfect on mobile. They almost convinced to come back to Jira instead of
notion.

------
stunt
But how Apple building Catalyst is going to killing Electron? Electron is
cross-platform. So, for many companies, it will be still the first choice
unless they are only building for Apple only ecosystem.

You can't expect Apple to not invest on the tooling for its own platform even
if cross-platform solutions are great.

------
ex3ndr
I have recently tried to launch our iOS app via catalyst runtime and compare
it to an electron app. Memory and CPU usage was only %10% less.

I am not convinced that v8 itself have something wrong with memory usage. Same
app without electron will take same amount of memory.

~~~
LeoNatan25
If your iOS software uses as much memory as Electron apps on PC, there is
something really wrong with your software, and you should profile it to see
where that memory goes.

------
bluesign
Project Catalyst has no competition with Electron. It is a smart move from
Apple to fill the void in Mac App Store with minimum cost to developers.

~~~
thefounder
I doubt any Electron user will jump the Catalyst wagon. Catalyst is not
portable/is Mac only. Electron is easier to use/uses well known APIs/tech
stack

~~~
ymolodtsov
It might make sense for any company that already has an iPad app. They can
still use Electron for Windows/Linux.

------
panpanna
People use electron because it's (1) platform Independent and (2) based on web
technologies.

If i want to write apple only code, I code in swift.

------
rado
Do. It. It's embarrassing when the industry sacrifices speed and quality for
the sake of dev convenience.

------
acqq
Even if it appears as a technical article, it's actually _fake news_ one.
Technically, the facts contradict the claims from the title and the article.

I flag seldom, but this one really deserves it.

------
fopen64
The problem is, Macs are too expensive and underpowered these days. More
important than developers are users. Right now the Mac is sort of a tax levied
on iOS developers

------
coldtea
Such a hack of an article...

------
octabyte
Is electron currently still the bloated beast it was a few years ago? Has it
gotten cleaner and slicker ? How are libraries shared now, if any?

~~~
lagadu
Yes it is. Whenever you open a common app whose interface is janky, uses a ton
of memory, doesn't load all views as instantly as you expect a desktop app to
and needs to frequently refresh itself you know you're using electron. Think
slack and spotify, the article doesn't mention it but I'm sure Tidal is too
because it behaves in exactly the same way.

~~~
octabyte
I don’t understand how billion dollar companies can’t pony up for a few native
app devs lol

~~~
ymolodtsov
Because it’s much faster and easier to deploy new features when you have one
app for three platforms. They’d be crazy to spend resources on native apps for
those.

------
justaaron
medium. paywalled.

~~~
bryanrasmussen
I was just thinking to revive HN I want to kill Medium.

~~~
octabyte
I’m out of the loop - why is medium suddenly out of favor these days

~~~
panpanna
Too many full and half screen dialogs to get you accept this and that and
login here and there.

~~~
octabyte
Oh... that annoying top bar that wants me to install their app? Oh that shit
is annoying af lol

