pull down to refresh

Disclaimer: I like web browsers, I just don't like my apps running inside them when I have the option to go native :D
In my career, I have built a handful of PWAs and many native apps, so here are my two cents on web apps.
The web browser is terrible for anything more complex than a simple HTML site with a few dynamic elements. It offers:

Subpar Usability

  • Different browsers have different rendering engines, so what looks and feels good on a new iPhone running Safari might not (and probably won't) look and feel the same on my old Xiaomi running Firefox Nightly. To be fair, this is also the case with native apps sometimes, but the differences are more subtle and more manageable.

Terrible Performance

  • Even poorly coded native apps easily blow PWAs out of the water;
  • Most browsers take several seconds to load on low-spec devices. Stacker News takes as much time as Twitter to load on my device, which is between 15 and 30 seconds.

Terrible Security

  • Lack of secure storage (see @koob's answer);
  • Your code runs on a browser, which is a slow beast more complicated than a full operating system, so who knows what's happening in runtime. Of course, the same could be said about native apps because they run on top of complicated operating systems, but at least it's one layer less than a PWA, which introduces an additional layer by running within a browser on top of the OS.
  • Etc...

Terrible Developer Experience

  • Buggy tooling;
  • Terrible debugging experience due to JavaScript;
  • TypeScript offers better debugging capabilities but is not a language I would call good.
  • Etc...
Maybe WebAssembly will fix these issues (except for slow browser loading), but then what's the point? Why not just make it native instead.
Also, HTMX is really promising and might help with some of the issues above.
Thanks for your response, it makes much more sense now.
The HTMX is really interesting too, I'll deep dive into it a bit more. Always hear about and never dive into it. Checking HTMX.org just now. Any other reference you could suggest?
reply
Yeah, HTMX.org has all you need to get started
reply
SN takes 15-30 seconds to load!? Sorry but that’s really hard to believe for me. On what OS with what browser is that?
reply
SN takes 15-30 seconds to load?
Yes but it's not SN's fault. It's the browser's fault. I use Firefox Nightly on Android on a 6 yo Xiaomi device.
In contrast with that, my native SN app loads instantly.
reply
I didn't know that SN has a native app available.
reply
It doesn't have an official one but I developed mine 😅
It's been a few months since I updated it so it's probably broken but I'll get back maintaining it soon.
reply