Hacker News new | ask | show | jobs
by rockyj 1315 days ago
Ruby, Cocoapods, Homebrew are not React Native problems, they are Apple problems. They ship an OS without a development friendly package management system. Their entire toolchain has no way to manage libs/packages which led to the creation of Homebrew + Cocoapods. Apple also does not allow iOS development on other OS where package management is much better. Apple now also has added the extra complexity of a new CPU architecture which only they control.

Then you add Android to the mix, it does not get better. RN is just trying to solve the multi-platform mobile app development, it cannot solve how Apple chooses to dictate build / release of their applications.

4 comments

I was going to say, the same is true of every cross platform framework I’ve ever used.

Coming back after some time away is usually 5 minutes of updating things to get Android working, and then a few hours of iOS dependency hell.

It’s definitely an issue with RN, but I haven’t used a cross platform framework that’s any better in this regard.

I only thought it was web dev that had deployment/ installation difficulties.

So the problem is setting up and app either for development or deployment is annoying in general.

Sorta? You can claim it is the fault of Apple, but as it is literally the problem that RN is trying to solve, it is very much their problem.
Who solves this problem any better in the cross-platform GUI space?

Well, maybe Qt, but even if it does, C++ is much less forgiving than TS.

Doesn't change that it is the problem that they are trying to solve, though? Does it?
Flutter
Electron. Everybody knows about the performance issues, but there's a reason why people still use it
Stop shipping a browser with your website.
I'm not sure Electron proper is a viable path for mobile development.

Offline-capable web apps are, or course, a viable alternative, as long as you can afford ignoring iOS.

The answer as always is to use platform languages instead of third party stuff.
They could they just don't. You could use npm, you could use SwiftPM. There is no tie to the cocoapods infra really - they just use it because that was there.