loading...
Cover image for Did Electron just suffer a major setback at WWDC?

Did Electron just suffer a major setback at WWDC?

steveblue profile image Steve Belovarich Updated on ใƒป2 min read

With the beta of Xcode 11, Apple made it easy for developers to migrate iPad apps to MacOS. Now I don't think this spells DOOM for hybrid web apps made with Electron in MacOS, but it certainly would make me pause at a company where separate teams develop the same product for iPad, but have a different web based implementation for Desktop Mac and Windows. It makes a lot more sense to go native for performance or at the very least develop a PWA.

As a developer I'm torn. I like the idea of hybrid web apps built with Electron because it's the platform in which I develop, but having so many node processes running on my machine simultaneously can be a burden on performance. This is an unintended consequence of the hybrid web application boom we've had over the past 5 years.

If you run

ps aux | grep node

in your Terminal on MacOS you can see all the active node processes running currently.

If you've got Adobe CC, Slack, or VS Code open there will be a long list of processes running, alongside any node processes you may require for developing a project.

I dunno about you, but I want a speedy machine for developing. I don't need all these other processes running. Except VSCode, which is currently my IDE of choice. There are times extensions can run wild in VSCode, usually after a monthly update and the extension authors have failed to update as well.

There is nothing wrong with Node.js. The V8 engine is so performant it runs on a Raspberry Pi, quite well in my experience. It's only when several processes start running that performance can suffer.

It's not like we can use the simplicity argument anymore when the same team could potentially develop an app for the entire Apple ecosystem and in turn get the performance of a native application. Might as well throw out that card.

It may be too early to tell the ramifications of this move by Apple to allow developers to migrate iPad apps over to MacOS, but wondering what you think? Maybe it's finally time to dive in and learn Swift.

Posted on Jun 3 '19 by:

steveblue profile

Steve Belovarich

@steveblue

full stack web engineer, creative coder, teacher, cultural critic and indie music fan.

Discussion

markdown guide
 

I don't see how it's going to make much difference to anyone who is making a multi-platform desktop app. That iPad app isn't going to run on Windows (or Linux/Chromebooks), so you're still looking at coding a second app anyway.

 

I don't understand what PWAs have to do with Node.js. Node.js is not a PWA requirement. The only requirement is a manifest.json and a service worker.

 

Some hybrid web apps run node processes and too many node processes running at once takes too many resources.

Building a native application will most likely be more performant than hybrid app.

If engineers can port iPad app to MacOS this is a better option than building a hybrid app for MacOS (when developer resources are available to do so) IMHO.

 

It is not possible for a PWA to start a node process. Maybe you are confusing them with electron apps?

Iโ€™m using the term kinda loosely. Edited above article for clarity.

 

Maybe he talk about development process, maybe he create PWA with node.js framework, so it create multiple node process... I

However I still don't get it, what are this article about?

 

This article is about Apple making the move to allow iPad apps to be ported to MacOS and why thatโ€™s important for developers. Developers rely on apps built with Electron for work, namely Slack and VS Code. All these apps running node processes kinda ruins the development process.

 

PWA arenโ€™t going away and I totally agree they make perfect sense in some situations.