Hacker News new | ask | show | jobs
by matlin 599 days ago
I've used React Native quite a bit in the past and I gotta say I wish it didn't have to exist at all.

It's often times fine on iOS and then incredibly slow on Android. Hermes is very exciting but still requires many polyfills to make simple NPM packages work. I hope one day, the web (and embedding web apps on mobile) makes React Native fully obsolete.

3 comments

I've had the complete opposite experience. React Native has been amazing for the team I work on. It's fast, quick to develop in, and I've never felt blocked. Camera, TCP sockets, custom Bluetooth protocols, Protobuf, etc. React Native + libraries do it all.

We don't use Expo, either. It's very painless.

That doesn't make sense to me at all. When you delegate heavy workloads to native view engines, both rendering and interfacing with native media/sdp will undoubtly be faster. The only issue i can see is if you install a lot of web only npm packages which has to go through the translation layer.

That's not what react native is for. Its for building native applications with a react-like syntax for the views. To me it seems like you used hammer to put in screws, no?

Who would've thought steve jobs was right (although premature) with the initial iPhones only having web apps.

That's interesting though, I would've expected iOS to be slower with android largely leveraging chrome because Google.

Premature by 17+ years? He was and remains completely wrong.
With all of the APIs _modern_ browsers are exposing these days, web apps are extremely capable and remain the best multi-platform solution.
No? Most modern apps these days _are_ just web apps. Why does it need the overhead architecture of running full standalone applications when a web clip works just as well? Plus there's no need for updating.

The problem at the time was multifaceted. The devices couldn't handle it, the network couldn't handle it, and webkit was still relatively limited. But it did work. https://9to5mac.com/2021/06/03/remembering-apples-sweet-solu...

I have never, ever used a web app that runs as well as the native app.
Oh, well I can provide an example. Music League’s PWA on iOS is quite a bit better than the app — partly because you can avoid the ads!

Performance isn’t incredible, but neither is the “native” app (95% sure it’s react native or similar), which frequently dips below 60fps.

If that's the case, then why does nearly every company have a native app in addition to their website? Surely, they could save a lot of time and money by just not building and maintaining the app.
Because it's a pain in the ass to distribute. And there's not much for support integrated into mobile operating systems for seamless browser windows.

MacOS is getting there kind of lately with safari being able to turn web pages into apps. But there isn't really built in mechanisms for that: https://www.macrumors.com/2023/06/14/how-web-apps-work-macos...

Web apps will always on paper be slower (not including badly made applications on both) than native apps, and also bring in additional security issues (since code is loaded remotely) than native applications.
The funny part is that it’s actually not a pain in the ass to distribute. On iOS, saving the current link to the homescreeen installs the PWA (if available). You don’t have to do anything other than tap a button in the share menu. iOS treats it like an app, showing it in the app switcher and search, etc.

People just don’t know it’s an option. And as you say, there are fewer native APIs available to it.

Native apps make more money, because of phone data. A lot of effort is now put into facilitating cross-platform builds, a wrapper/container around a glorified web app is among the easiest ways
There's no adblock for native apps. Also, they can keep running/monitoring-you in the background easier.
Most modern apps are just services. If you don’t mind you computer being a thin client to someone’s computer on the internet, go ahead. But the rest of us do use native software because the web is just a pale imitation.
Reddit is a better place for non technical discussions.