Hacker News new | ask | show | jobs
by palata 855 days ago
In my opinion, it is always the same "cross-platform" discussion. If you hire an iOS/Android mobile dev to write a native iOS/Android app, it means that you hire someone specialized in apps for mobiles. The whole point of a cross-platform framework is the hope that it won't need the specialization: "any web dev can now write a mobile app".

But every cross-platform framework has the same problem: platforms are different, and require work specific to them. As a result, cross-platform is "write once, debug everywhere".

If you don't know better, cross-platform frameworks systematically seem to "get to the same result faster". So many companies go for cross-platform frameworks. But in reality, the different platforms are so different that the only way to make a truly great app is to go native everywhere.

Not that there is not a place for PWAs: "cheaper but not as good" is clearly the trend everywhere. But I don't see PWAs replace "great native apps" anytime soon. If PWAs win, it will just mean that the users got worse apps because the companies spent less money on them.

3 comments

> If PWAs win, it will just mean that the users got worse apps

If PWAs win, it will be because native apps failed. Android and MacOS both have an enormous community of open source native apps that are more private, functional and accountable than their commercial alternatives. So far, Apple hasn't opened the floodgate for that on iOS. As a result, the interest in sideloading things has been relegated to the most-open part of the OS; the browser. It's not surprising at all.

Apple could be enabling a Cambrian explosion of open iPhone apps and killing the case for dinky webapps overnight. Their motivation not to is rooted in a company-wide strategy to make more service revenue.

> If PWAs win, it will be because native apps failed.

Or because the vast majority of people who "write code that runs on mobile phones" know web technologies and not the mobile ones. Web programming is simply more accessible.

The thing is, "more" is not always "better".

None of that really disagrees with what I said. Apple failed to lower the on-ramp for native development to the people that wanted it. Now we're seeing desperate porting attempts to the browser, and Apple's desperate attempt at plugging the gap.

> The thing is, "more" is not always "better".

In the free market, competition is king. "Better" is decided by pitting it against "more".

I wasn't saying I disagree :-).

> Apple failed to lower the on-ramp for native development to the people that wanted it.

And they don't have to, IMHO. It's not that hard to learn how to do native iOS dev, and Apple is making a ton of money from those who do. Apple not wanting to go out of their way to lower the bar to a point that they don't find profitable is their choice.

> In the free market, competition is king.

I am not sure I am seeing "free market" and "competition" with PWAs, where people lobby to get laws to help them pass their ideas. The free market alternative would be for PWAs to get so good on Android that Apple decides to embrace them.

> It's not that hard to learn how to do native iOS dev

Brb gotta go get a whole new computer

Well if you develop an Android PWA without having a single Android device to test it on, then maybe you should not develop an Android app at all. Same applies for iOS.
> If PWAs win

That's like saying if Linux on the desktop wins in 2024.

PWAs have been around for about a decade now. The excuses have run out.

I think Apple's failure to provide sufficient capabilities for PWAs is a valid excuse here.

If PWAs are limited competitively on the platform with the highest ROI for developers … that's a problem.

I think it is debatable. Can I make an iOS app in pure Python, and should Apple make it possible? I think Apple has the right to decide what kind of API they provide to their users. Just like nobody is forcing Tesla to allow running Windows "because some developers would like to run Windows apps in their Tesla".

I can see a problem with the monopoly on the App Store given the dominant position of Apple. But if Apple decided tomorrow to remove the screen from all their phones and have audio control only, I think it would be their choice.

Why do they have a right to decide what kind of API users can use? I know that's not exactly how you worded it, but on other computing platforms like Windows, Microsoft provides APIs but doesn't prevent developers putting in other APIs. You should be able to write an iOS app in pure Python, but maybe with reliance that someone else provides the bindings so that you can display the graphics. iOS and Android locking out whole possible ecosystems with "only we can decide what code is allowed to run" really sucks.
> Why do they have a right to decide what kind of API users can use?

Because they make a product that they sell. If you make a speaker, you can decide if it has Bluetooth, WiFi or nothing. If you want a speaker that has Bluetooth, you need to buy a speaker that has Bluetooth. Not buy one that doesn't and go ask the EU to force the manufacturer to add Bluetooth.

> iOS and Android locking out whole possible ecosystems with "only we can decide what code is allowed to run" really sucks.

That's a perfectly valid opinion. Others will say that not having root access and having a checked App Store increases the security (and that is true). You can try a Linux phone, if you want freedom.

That's not really the issue the OP is arguing though.

He's saying "PWAs have had 10 years to be good and dominant and they're not yet and that's on them."

I'm saying "Well, but, Apple."

Whether and how Apple should support PWAs is a separate conversation.

> Can I make an iOS app in pure Python

https://python.plainenglish.io/python-for-ios-the-ultimate-g...

Yes?

> Can I make an iOS app in pure Python, and should Apple make it possible?

Given that neither the browser or iOS runtime can interpret it, no? I think it's reasonable to expect people to write an iOS Python interpreter and expect to get that distributed though. And if the users deliberately install it, what's the problem?

> Just like nobody is forcing Tesla

Tesla has to certify vehicles as road-safe. Besides FCC compliance (which Android handles just fine), Apple doesn't really have many legal safety obligations to use as a defense. Unlike a Tesla, Apple can let users sideload iOS apps without threatening other users around them.

Maybe I did not express myself well. My point was that Apple not embracing PWAs is their choice, I don't see the problem there.

I see a problem with the idea that "we did not convince Apple with our PWAs, that's probably because they are evil, so now we'll try to force them with the law".

Why do you see that as a problem? Apple is welcome to leave if they disagree with Europe's market terms. They didn't leave Russia when they made their demands though, and Lord knows they're deep enough in bed with China. Whipping up a fuss over sideloading and PWA guidelines is a red herring; Apple is just butthurt that regulators found their infinite service revenue loophole.

Apple has every right to self-determination, but sometimes that means deciding whether they agree with the law.

> And if the users deliberately install it, what's the problem?

And is this a universal principle of yours?

For instance, would you say the same about malware—that anyone should have the right to develop it, and use whatever shady tactics they want to trick people into installing it—and if they do, that becomes their problem?

Users don't deliberately install malware, though. They do install Python runtimes; you can secure this the exact same way desktops have done for decades, by signing executable.

It's literally elementary stuff.

There is always some API that is missing for PWAs to explode in popularity.

And then when you pin someone down it's never actually about APIs or capabilities.

It's about the ability to deploy apps to your phone whenever they like with full access to everything and nothing in their way.

This I generally agree with.

Native apps will always gain capabilities before PWAs, and some capabilities will never be granted to PWAs for incredibly sane reasons.

However, for many apps, Push Notifications was the only real reason they couldn't be a PWA.

I believe PWAs have a place in highly “templatable” things like restaurant pages and online shops. Those I can see adding to my home screen. Anything more complex than those is questionable.
Why do you need to 'install' a restaurant app/website?

That's the perfect usecase for like... a website.

For most uses, "install" = hold my auth and put a bookmark on my home screen.

In that regard, webapps work perfectly.

For quick access without cluttering browser tabs and bookmarks.
You value real-estate on your home screen less than in your bookmarks?
It’s more that the number of sites I’d add to my home screen has a hard upper bound that’s not high, management is easy, and if I want one without it being on the home screen I can send it to the app library instead, where it’ll surface with a search.

Bookmarks on the other hand are unbounded and suck to manage (no browser has improved meaningfully in this realm in ~20 years for some reason) so the threshold for what gets bookmarked is higher.

I search for installed apps on my phone quite regularly. It's often faster than remembering where the hell it is in my folders on screen.
It's a spectrum.

Some things are important enough for a bookmark, others are important enough for home screen.

It just feels a bit of an edgecase to imagine that a menu of a specific restaurant is important enough to occupy a spot in the top 20-25 of your digital real estate.
Why would you need quick access to one restaurant’s menu?

If you go there infrequently, I don’t understand why you would clutter up any part of my phone - bookmarks or Home Screen - with its menu. If you go there frequently… you already know the menu?

> If you go there frequently… you already know the menu?

For most places, but there are a handful that have huge menus. Its name escapes me but for instance when I lived in SF there was a sandwich place I frequented that was one such shop and aside from a couple of favorites I could never remember everything they had.

Also, these sites tend to facilitate ordering ahead, ordering delivery etc too so it’s not just a static HTML file.

Also if they have online menus or ordering they usually have a QR code on the table or nearby. No need to bookmark or save anywhere.
You're able to add websites to your home screen without it being a PWA, but this is on Android. Assuming this is not the case on iOS
You can on iOS too, but it opens a browser tab which is undesirable. Sites have to be marked as PWAs to open in their own process.