Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

senttoschool

macrumors 68030
Nov 2, 2017
2,626
5,482
The Fitness and Health apps mobile only because they make use of the sensors and apps that are only on iOS and watchOS devices. They would be easy to port to macOS but it's not a priority for Apple when they can get customers to use their mobile devices.

Same reason why calculator isn't on iPadOS. Apple would rather you use an iPhone. There's a certain amount of app segregation on Apple devices for business reasons and for usability reasons.

I would like the Health app to be available on macOS so that I can check my stats on the desktop.
The app is on iPad right? What sensors does Fitness+ make use of on the iPad?

I have an Apple Watch and can't use Fitness+ because my iPhone screen is way too small and I don't have an iPad or Apple TV. It's a joke that it isn't on macOS.

It is now very easy to build an app that runs on iPhone, iPad and MacOS.
Yes, but the macOS app is usually not the same as the iPhone/iPad app. It's usually more similar to Windows, web, and Linux versions of the app. Hence, Electron is usually used for cross-platforms between macOS, web, Windows, and Linux.

If user experience is the priority rather than being able to use web development skills to develop desktop apps, there are much better options than Electron.
One can argue that Electron provides a better user experience. It allows a team of developers to deliver features faster to all platforms, so users don't have to wait. It also allows a smaller number of developers to make cross-platform apps, which means lower costs for users. Price, feature parity, and speed of feature delivery are part of the user experience. For example, I have to use Slack on the web sometimes. It's exactly the same as my macOS app. No features are lost. This is a good experience.

There are plenty cross platform apps that don't use Electron. For example Sublime, a fast, efficient text editor with a low memory footprint (much lower than VS Code).
Sublime has been left in the dust by VS Code in terms of features and extensibility. Yes, it has a lower memory footprint and maybe it's faster in some stuff, but its market share has been overtaken by VS Code. Also, Javscript is a faster overall language than Python, which is what Sublime is written in.

Apple can't really do anything to improve Electron apps and would rather developers used Apple's tools to develop for the Apple platform (such as Catalyst).
Unfortunately, developers have to support Windows, web, and sometimes Linux too. Electron makes this very easy and low cost.

I realize that it's easy for end-users to say "but a native app provides a better experience than Electron apps!".

Now imagine yourself as the business that has to make a decision on whether to use Electron or make a native app on macOS. If you make a native app on macOS, you have to hire a separate (and expensive) Swift team. This team would have to mirror features built on the web and Windows. Sometimes features get shipped in one version of the app first because different teams work on different platforms. It can be a nightmare to manage, costly for the company, and can be frustrating to users who want features faster or want feature parity. All these problems just so that the UI is slightly smoother and uses less RAM (which doesn't matter to most users)?

Note, it's usually profitable for a company to have an iOS team and an Android team because those platforms are massive. But it's usually not profitable for a company to have a dedicated macOS team that is different from the web and Windows team. macOS is too small right now.
 
Last edited:
  • Like
Reactions: Xiao_Xi

yitwail

macrumors 6502
Sep 4, 2011
427
479
Some quick observations, and if I'm offbase/mistaken, then apologies in advance. Anyway, iOS Discord is written in React native, so doesn't use Electron, but still based on JavaScript. Anyway, unless Apple acquires Discord in some fashion, they could hardly demand that Discord be rewritten in Swift. I'm personally happy that Discord Canary is no longer x86 Electron by way of Rosetta 2.
 
  • Like
Reactions: JMacHack

senttoschool

macrumors 68030
Nov 2, 2017
2,626
5,482
Some quick observations, and if I'm offbase/mistaken, then apologies in advance. Anyway, iOS Discord is written in React native, so doesn't use Electron, but still based on JavaScript. Anyway, unless Apple acquires Discord in some fashion, they could hardly demand that Discord be rewritten in Swift. I'm personally happy that Discord Canary is no longer x86 Electron by way of Rosetta 2.
Yes, iOS Discord uses React Native. Their Electron app and web app uses React.

While you can't share the same code base between React Native and React, you can share developers because they're so similar and you can share a lot of the business logic code.

This is the beauty of using cross-platform frameworks. A smaller team of developers can deliver more features to more platforms.

Ultimately, it's still up to users to decide what they want. For many products, users have chosen Electron/React Native apps. If users cared more about lower RAM usage and a faster overall app, then they'd demand it from the developers. Games usually fit in this category. If users care more about lower app/subscription cost, faster feature delivery, cross-platform support, and feature parity, then they have chosen Electron/React Native. Apps like Slack, Discord, Teams, Notion, Whatsapp usually fit in this category.
 
  • Like
Reactions: yitwail

Xiao_Xi

macrumors 68000
Oct 27, 2021
1,628
1,101
Qt is far superior in that regard
Can you explain it?

If developing apps using Qt is cheaper than using Electron, I can't understand why new cross-platform apps tend to use Electron instead of Qt.

Can you name a free popular cross-platform app developed with Qt in the last five years?
 

metapunk2077fail

macrumors 6502a
Oct 31, 2021
634
845
The app is on iPad right? What sensors does Fitness+ make use of on the iPad?

Some iOS Fitness+ compatible apps are available for iPadOS also. There are fitness accessories that sync with the iPad and iPhone, but not macOS.

Because it's a bit hard to take a Mac to the gym?
 

ADGrant

macrumors 68000
Mar 26, 2018
1,689
1,059
Yes, but the macOS app is usually not the same as the iPhone/iPad app. It's usually more similar to Windows, web, and Linux versions of the app. Hence, Electron is usually used for cross-platforms between macOS, web, Windows, and Linux.

There is no reason why the macOS app has to be different from the iPhone/iPad app, particularly messaging apps. The Apple messaging app is the same app on all three platforms.


Sublime has been left in the dust by VS Code in terms of features and extensibility. Yes, it has a lower memory footprint and maybe it's faster in some stuff, but its market share has been overtaken by VS Code. Also, Javscript is a faster overall language than Python, which is what Sublime is written in.

It is hard to compete with free sometimes. VS Code is free, Sublime is not.

Unfortunately, developers have to support Windows, web, and sometimes Linux too. Electron makes this very easy and low cost.

They also have to support mobile platforms, particularly messaging apps.

Now imagine yourself as the business that has to make a decision on whether to use Electron or make a native app on macOS. If you make a native app on macOS, you have to hire a separate (and expensive) Swift team. This team would have to mirror features built on the web and Windows. Sometimes features get shipped in one version of the app first because different teams work on different platforms. It can be a nightmare to manage, costly for the company, and can be frustrating to users who want features faster or want feature parity. All these problems just so that the UI is slightly smoother and uses less RAM (which doesn't matter to most users)?

Note, it's usually profitable for a company to have an iOS team and an Android team because those platforms are massive. But it's usually not profitable for a company to have a dedicated macOS team that is different from the web and Windows team. macOS is too small right now.

The iOS team can also provide the macOS version of the app using the same codebase.
 

senttoschool

macrumors 68030
Nov 2, 2017
2,626
5,482
There is no reason why the macOS app has to be different from the iPhone/iPad app, particularly messaging apps. The Apple messaging app is the same app on all three platforms.
iPad and iPhone are designed for touch and smaller screens. macOS better align with the web, which uses a mouse and keyboard. That's why macOS tend to use Electron.

It is hard to compete with free sometimes. VS Code is free, Sublime is not.
Sure, not saying VS Code won because it's Electron.

They also have to support mobile platforms, particularly messaging apps.
Yes, and they have to support Android too. Hence, mobile apps will use native or React Native or Flutter.

The iOS team can also provide the macOS version of the app using the same codebase.
Already mentioned as the first thing. For some apps, this is fine. For others, Electron apps using the web/Windows/linux version makes more sense.
 

senttoschool

macrumors 68030
Nov 2, 2017
2,626
5,482
Some iOS Fitness+ compatible apps are available for iPadOS also. There are fitness accessories that sync with the iPad and iPhone, but not macOS.

Because it's a bit hard to take a Mac to the gym?
But isn't the whole thing with Fitness+ that you can just do it in the comfort of your own home?
 

Romain_H

macrumors 6502a
Sep 20, 2021
520
438
Can you explain it?

If developing apps using Qt is cheaper than using Electron, I can't understand why new cross-platform apps tend to use Electron instead of Qt.

Can you name a free popular cross-platform app developed with Qt in the last five years?
Virtualbox, for example.

Autodesk Maya is Qt based, FreeCAD, OpenCAD, AutoCAD, GNU Octave, GNUplot, Krita, Malwarebytes, Mendeley, OBS Studio, Parallels, Scribus, Spotify, TeamViewer, Wireshark, Wolfram Mathematica… (not all open source).

Webkit‘s roots (KHTML was based on Qt)

I do not have any numbers, but I doubt that Electron‘s got a larger userbase than Qt.
Its used by a lot of organizations, from Google (Earth) to Cisco and NASA… Qt is not a small thing.
 
Last edited:

Xiao_Xi

macrumors 68000
Oct 27, 2021
1,628
1,101
Qt is not a small thing.
Qt popularity has declined since Electron was released. New cross-platform apps use Electron instead of Qt.
Autodesk Maya is Qt based, FreeCAD, OpenCAD, AutoCAD, GNU Octave, GNUplot, Krita, Malwarebytes, Mendeley, OBS Studio, Parallels, Scribus, Spotify, TeamViewer, Wireshark, Wolfram Mathematica… (not all open source).
I am not sure about Spotify, but the remaining apps were released for the first time before Electron came.
 

Romain_H

macrumors 6502a
Sep 20, 2021
520
438
Qt popularity has declined since Electron was released. New cross-platform apps use Electron instead of Qt.

I am not sure about Spotify, but the remaining apps were released for the first time before Electron came.
Not really. Some may use Electron. But we know its not appreciated, bloated, slow, buggy, even Microsoft announced they‘d abandon it.
And there are a lot of things you cannot even do properly on js. No direct access to hardware resources and too slow. It does not play in the same league
 
Last edited:

ADGrant

macrumors 68000
Mar 26, 2018
1,689
1,059
iPad and iPhone are designed for touch and smaller screens. macOS better align with the web, which uses a mouse and keyboard. That's why macOS tend to use Electron.
You can use a mouse and trackpad with an iPad too. Apple sells a keyboard case that turns an iPad Air or Pro into a laptop. The iPad Pro is available with a 12.9" screen which is about the same size as most of the MacBooks Apple sells.
 

senttoschool

macrumors 68030
Nov 2, 2017
2,626
5,482
You can use a mouse and trackpad with an iPad too. Apple sells a keyboard case that turns an iPad Air or Pro into a laptop. The iPad Pro is available with a 12.9" screen which is about the same size as most of the MacBooks Apple sells.
But iPad apps are designed for touch first.

I'm just trying to explain to you why Electron apps are popular on macOS from both a business and user experience point of view.
 
Last edited:

senttoschool

macrumors 68030
Nov 2, 2017
2,626
5,482
Not really. Some may use Electron. But we know its not appreciated, bloated, slow, buggy, even Microsoft announced they‘d abandon it.
And there are a lot of things you cannot even do properly on js. No direct access to hardware resources and too slow. It does not play in the same league
Microsoft announced that they're switching Teams from Electron to... another browser-based framework called Webview2.

It's still running a browser inside.

And they're switching from Angular.js to React.js as the UI framework. Again, javascript.

Apps like Slack, Teams, Notion, Discord, Whatsapp all need cross-platform support. Browser-based apps are not going away.
 
  • Like
Reactions: Xiao_Xi

senttoschool

macrumors 68030
Nov 2, 2017
2,626
5,482
Not just at home. The Fitness+ devices are for use in gyms, outdoor running and cycling, etc
Ok, but the main use case is for home. I don't see why a Macbook isn't a far better option than a tiny iPhone screen or smaller iPad screen. I'd argue that a Macbook is even better than an iPad because you need to a case stand for an iPad to make it work.
 

senttoschool

macrumors 68030
Nov 2, 2017
2,626
5,482
Virtualbox, for example.

Autodesk Maya is Qt based, FreeCAD, OpenCAD, AutoCAD, GNU Octave, GNUplot, Krita, Malwarebytes, Mendeley, OBS Studio, Parallels, Scribus, Spotify, TeamViewer, Wireshark, Wolfram Mathematica… (not all open source).

Webkit‘s roots (KHTML was based on Qt)

I do not have any numbers, but I doubt that Electron‘s got a larger userbase than Qt.
Its used by a lot of organizations, from Google (Earth) to Cisco and NASA… Qt is not a small thing.
Spotify on desktop runs on a browser. It's not Electron. But it's definitely a browser-based app.


The apps that you listed have one thing in common: they're can't be run on a browser or don't need to be.

Now notice that almost all Electron apps have one thing in common: they all have a browser version.

See the pattern?

When your app needs to be a website also, it makes a ton of sense to use Electron.

Different tools for different needs.

Qt does not make sense for the majority of Electron apps. Electron does not make sense for the majority of Qt apps.
 
  • Like
Reactions: ingambe

Xiao_Xi

macrumors 68000
Oct 27, 2021
1,628
1,101
Microsoft announced that they're switching Teams from Electron to... another browser-based framework called Webview2.
Electron devs explain the differences between Electron and Webview2.
To sum up, the performance of Electron- and Webview2-based apps are similar because they share the same bottleneck: Chromium.
 

senttoschool

macrumors 68030
Nov 2, 2017
2,626
5,482
Electron devs explain the differences between Electron and Webview2.
To sum up, the performance of Electron- and Webview2-based apps are similar because they share the same bottleneck: Chromium.
If I read that correctly, WebView2 reduces memory size by not including Node.js, forcing apps to use WinForms, WPF, WinUI, or Win32, and bundling the WebView2 backend in Windows 11, and allowing you to share the WebView2 renderer with other applications.

Also, WebView2 does not support macOS or Linux. Only Windows.

Kinda pointless as a cross-platform tool.
 

ADGrant

macrumors 68000
Mar 26, 2018
1,689
1,059
But iPad apps are designed for touch first.

I'm just trying to explain to you why Electron apps are popular on macOS from both a business and user experience point of view.
I understand why businesses chose to deploy electron apps. It's not about maximizing the user experience.
 

ADGrant

macrumors 68000
Mar 26, 2018
1,689
1,059
Microsoft announced that they're switching Teams from Electron to... another browser-based framework called Webview2.

It's still running a browser inside.

And they're switching from Angular.js to React.js as the UI framework. Again, javascript.

Apps like Slack, Teams, Notion, Discord, Whatsapp all need cross-platform support. Browser-based apps are not going away.
They should hand the product over to the real Office team. They know how to support multiple platforms with native tools.
 

senttoschool

macrumors 68030
Nov 2, 2017
2,626
5,482
I understand why businesses chose to deploy electron apps. It's not about maximizing the user experience.
It actually is.

Feature parity, feature development speed, and lower app/subscription cost are all part of the user experience.
 

senttoschool

macrumors 68030
Nov 2, 2017
2,626
5,482
They should hand the product over to the real Office team. They know how to support multiple platforms with native tools.
Why? It's a chat app. It does not need super high performance.

The fact that Teams was built with Angular.js tells me the architecture of it was poor.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.