The demise of native coded apps
< Next Topic | Back to topic list | Previous Topic >
Posted by tightbeam
Dec 6, 2020 at 08:10 PM
There isn’t anything more frustrating than a wonderful app that is restricted just to Mac users or just to Windows users. Cross-platform apps let developers maximize their customer base, so who *wouldn’t* code for everyone? A slight performance degradation seems like a worthwhile tradeoff. Nothing I do is so important that it must be done in a microsecond versus a millisecond.
Posted by Luhmann
Dec 7, 2020 at 11:12 AM
Catalyst should eventually result in native-quality apps on Mac, but the problem is that it is still very much a work in progress. These are mostly UI issues (such as font resizing) and the laziness of developers (who primarily design for iOS or iPadOS), but the apps should benefit from tight integration with the Apple environment, iCloud, and speed. On M1 macs there should be no speed difference at all.
Electron apps I think often seem worse because despite the ease of developing a cross platform app, the developers still need to do a lot of work to ensure that the app works the same on each platform, so they often offer a simpler design with restricted features and don’t make use of Mac-native features. But I think they are catching up in terms of speed and UX.
I think many developers are simply counting on these differences and problems disappearing over time, or at least becoming less noticeable.
Posted by MadaboutDana
Dec 7, 2020 at 02:59 PM
I’m not convinced that there’s a huge swing to platform-neutral languages. Most of the best macOS apps run natively. Yes, there are a bunch of desirable apps based on Electron, but in my experience many of them run very well and predictably. The only thing that peeves me is that they tend to take up inordinate amounts of disk space – Electron is far from space-efficient.
But I suppose it depends on which apps you tend to use.
Posted by satis
Dec 8, 2020 at 07:25 PM
tightbeam wrote:
> Cross-platform apps let developers maximize their customer
> base, so who *wouldn’t* code for everyone?
That implies that it’s affordable, or easy to implement and support multiple platforms. But that really isn’t the case. And when you have common code smaller companies usually cannot or do not customize apps to take best advantage of individual OS programming or UI conventions.
And maximizing the customer base is not a given, as programmers who sell to both iOS and Android can attest: Android users are notoriously cheap and otherwise identical apps sell through at a fraction of iOS sales. The customer base won’t pay for apps like iOS users will, and iOS apps get more attention as a result.
Posted by Martin Pilkington
Dec 8, 2020 at 08:12 PM
tightbeam wrote:
There isn’t anything more frustrating than a wonderful app that is
>restricted just to Mac users or just to Windows users. Cross-platform
>apps let developers maximize their customer base, so who *wouldn’t* code
>for everyone? A slight performance degradation seems like a worthwhile
>tradeoff. Nothing I do is so important that it must be done in a
>microsecond versus a millisecond.
If you would like an answer from a developer who has just released a native Mac app (Coppice), it’s actually pretty simple: I want to write the best app possible. I *could* open myself up to the Windows market, or even Linux, by using something like Electron, but that would lead to a lower quality product. Each platform has opinions as to the look and feel of apps, and their respective native toolkits provide a lot of that for free. You get none of that with a cross-platform toolkit. Some allow you to get pretty close but only with additional work on the part of developers, which is work not spent on features or other bug fixes. Some users can put up with the non-native feel, but do I as a developer want to build an app people merely “put up with”? Not really.
As for why the Mac, it’s partly because that’s what I use and know how to develop for. It also arguably provides the best native toolkit of any platform, which is why the Mac generally has a higher proportion of native apps.
There’s also a question of just how much each platform is worth. For example, while Apple’s platforms are significantly smaller in market share than their competitors, they often have a massively disproportionate market share of “people willing to buy 3rd party software”. This is why a company can build a Mac app and be successful, but port it to Windows and have it make less money, despite Windows way more marketshare. It’s also why so many apps appear on iOS before Android (if they ever appear on Android). The costs of developing for each platform can be the same, but the relative financial importance of platforms can vary.
That said, it’s worth noting that this can depend a lot on the type of software. If you’re building server software then you’ll get way more success on Linux or Windows. Business software (especially for large businesses) will likely have lots of success on Windows, and for games you almost have to go for Windows. Meanwhile software for individuals, smaller businesses, or creative users often does way better on the Mac.
Hopefully gives at least one view as to some of the reasons why developers go native.