Hacker News new | ask | show | jobs
by fiddlerwoaroof 855 days ago
I for one would much rather have native mobile apps that use platform-appropriate controls rather than web apps that use whatever some designer came up with. We’ve already lost this battle on computers because of electron, but iOS is nice precisely because there isn’t an easy way to just ship web technology “apps”.
4 comments

Is it though?

A large portion of apps on the mobile app stores are already built using cross-platform technologies like React Native, Ionic or Flutter. In some instances it is very easy to tell, in other it's not. You can create quality experiences using cross-platform, you can create awful experiences using native tooling.

In many instances, I'd rather have the not totally native app that exists than the absolutely perfectly native app that does not exist.

As for PWAs, I am personally all for it. I have so many apps on my phone that don't need to be an app in the first place. Why not make a great PWA experience rather than a mediocre mobile app? In terms of capabilities, PWA are perfectly suitable for the majority of usecases.

I understand your point, but it somewhat says that making awesome native apps is not even an option anymore.

I use Things (a todo app) daily. It was #1 of Design in the AppStore maybe already 5 years ago. I think it's a perfect example for a beautifully made native app. I really feel how the native behaviour workes so much smoother.

I would love for creators to somehow strive more for beautifully made apps instead of the fast profit.

Things is a great example for PWAs, because it does not exist on Android, Linux or Windows. It could be though, if it would be a PWA.

It is not and it seems like the developer focused its resources on native software for Apple products.

It could, yes. But the user experience and the amazing level of usability will degrade, and I would move to another product.
And we've come full circle!

> But as a web dev community we need to stand firm and build PWAs regardless. If we treat pwas on iOS like we did Internet explorer (i.e. giving it special attention and hack solutions as opposed to just not developing for it) we will lose the fight.

Comeon, it’s a todo app, being native provides marginal benefits over its functionality.
Except that it feels smoother (the UI, animations, UX) instead of a web app, and is amazingly fast/reactive?
No one wants to invest time and effort to develop for a platform that has a horrible review process. You have to invest multiple people's months worth of work without knowing if that particular snapshot of your app will offend the reviwer.

The lack of native apps is the App Store reviews process fault.

And the only reason for that review is that Apple won’t let any software run on the platform. If Apple is the gatekeeper, any bad software that makes it through is their fault. They would never be able to keep up with it all or give private APIs a fair analysis, so they gatekeeper approvals and simply block anything they can’t vaguely autoanalyze.

The App Store revenue is a poison pill that will eventually start killing them. It’s already holding back their platforms, and the law can’t not bring down the hammer forever. The iPhone, iPad, Watch, and the Vision Pro would be truly remarkable platforms without the arbitrary, puritan rules.

One good thing about PWAs is that they run inside a browser. So if that's a good browser like firefox, you can use addons to limit tracking. Or force dark mode even for apps that don't bother implementing it (eg the Amazon shopping app) with dark reader.
This is exactly what I dislike about PWAs: the move to sandboxing everything in the browser is a big step back because the browser silos everything in a non-composable way.
Exactly. Pwa is cheap
The fact that an app is in the store doesn't mean that uses platform appropriate controls. In fact a lot of applications nowadays are just web app packaged with tools like Ionic, or cross platform applications built with React Native or Flutter that doesn't use "platform-appropriate controls".

If most applications are embedding a web browser, or at least part of a web browser (in case of RN), why not just have applications that... run in a browser? No need to install them, no need to update them, I can just open an URL and they work.

> No need to install them, no need to update them, I can just open an URL and they work.

The App Store is a useful distribution mechanism. For better or worse more people seem to be willing to buy an app, search in the App Store, etc.

There have been threads on HN about a discoverability problem for on the web, not that it doesn’t exist for apps too.

I made a one time use website and my only feedback from normal people was that it should be an app…

React Native renders down to native iOS component classes, though: there are definitely too many generic UIViews for my taste, but it’s pretty different from electron that just constructs UIs from divs like a web app.
You don't have to override the native styles of UI controls with CSS. If you don't add any CSS, they will look just like in native apps. It's a choice, just like you could implement your completely custom controls in native apps if you wanted to.
Sort of: it’s possible for a browser to render the controls with native components. Designers of web applications tend to think their aesthetic preferences are more important than the preferences of their users; and, browsers have not always used real native controls: Google Chrome just shipped its own controls for form inputs, for example. Historically, various parts of the Cocoa text input system also worked incorrectly in Firefox and Chrome.
Were you not around during the big iOS custom controls era? It’s less pronounced now but it’s not like every native app ever has avoided custom controls.

It is not fundamentally wrong to do custom stuff. I prefer native apps as well but this sound bite needs to go away.