Live data from Hacker News

React Native made me give up a project today

news.ycombinator.com

51–60 of 83 posts

Re: React Native made me give up a project today

#51
post #21

I'm sure a simple tool would improve the environment issue you mentioned. It's crazy to me how ` https://asdf-vm.com ` is still not that well known, Should help to fix lots of dependency issue and it should be a must install for all developers.

Treat brew like apt/dpkg: install programs you're going to directly use with it and basically always want at a recent—or, at least, not any particular—version, not dev dependencies. I know some people do that anyway on major Linux distros but that's also doing it wrong for very similar reasons, unless—maybe unless, there are still good reasons not to—your only deployment target is the exact same version of the Linux distro you have on your workstation.

Use asdf, language-specific package managers, various version managers (rvm, nvm, whatever), docker, vendor things in, all that kind of stuff, for dev dependencies. Same as you should do on most Linux distros (with some exceptions that are made so they play nice with dev dependencies, like Nix).

Re: React Native made me give up a project today

#52
post #26

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 a…

The answer as always is to use platform languages instead of third party stuff.

Re: React Native made me give up a project today

#53

This is one of the reasons that as a one person mobile team, I’ve avoided anything but native mobile toolkits. It’s a little more work in some ways that way, but if I have to set one platform down for a while to focus on the other, picking it back up isn’t ever a problem, and if I run into issues usually others have too and they’re easy to fix. Even the mess that are native Android projects are usually reasonable to…

Yep, Borland always having to catch up to Windows SDKs taught me the same.

Platform tooling only.

Re: React Native made me give up a project today

#54
Not sure. I built this app[0] in 3 days[1], and it was basically a copy 1:1 from an old project. It was on an old version of React Native and many dependencies were the same. I ran into no issues at all.

Maybe it's because of your complicated setup?

[0]: https://apps.apple.com/app/id1620426799

[1]: https://twitter.com/daniel_nguyenx/status/157500684665792512...

Re: React Native made me give up a project today

#56
post #11

If it is a one page/view app with no special api needs I would go with a PWA today.

Can you get these on the app stores yet?

I'm currently building a React Native app and I was wondering how much easier would it be to create a PWA that would live in a WebView inside a native app just so I could publish it in the App Store.

Re: React Native made me give up a project today

#57
post #15
post #8

Why give up after all that effort?

> “Why give up after all that effort?” Because the speed of iteration in JS-framework-land is so fast that if you take more than a week or two setting up your dev environment your dependencies are already out of date and insecure, and the half of them that are using “require” instead of “import” stopped working with another library you depend on. Then, when you reported that, the maintainer replied to the GH issue, “…

I remember the time I worked on a project with React Native and they broke a bunch of very useful tools by depending on an alpha of React in a release of RN. Stayed screwed up for a good long while. There were some issues posted on GH that were understandably like "bro, WT actual F?" and the maintainers were all "LOL we're with Facebook, trust us, it's fine".

And that was the day I decided RN was kinda bad.

Re: React Native made me give up a project today

#58
tldr:

- integration is hard

- parts don't always play nice - because that's not their job

- the better-integrated platforms (read: apple) are worse at playing nice with other parts

- open-source communities can tie things together, but any sustained effort requires some driving entity or opportunity, so they are first to fail in a downturn [ok, that's just a hypothesis]

As for how it feels: the sense of productivity/velocity is an unhelpful guide. You can end up polishing a turd, or playing infinite games, or stalling at critical point. If you instead are making something deeply valuable, the technical means are just that.

fwiw, in the complex equation of development, I pick one variable to maximize that's key for my goals, and leave the others stable/conventional -- which happens to avoid integration issues.

Why write? The devil made me do it.

Re: React Native made me give up a project today

#59
post #39
post #33

Earlier quoted context omitted.

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?

Re: React Native made me give up a project today

#60

Mobile development is very fast-paced. Even with the native Android SDK, dependency issue can bite you. If I start working on an old codebase and I can't get it to launch in a few hours. I just generate a new starter project and migrate the codebase, adding the newer version of each dependency (while taking care of breaking changes and so). It can be easier and take care of security issue at the same time. Desktop, C…

On top of that, Google is now requiring that you keep within 2 versions of the latest API, meaning that you have to reupload your app every 2 years (or less) to keep it on the store. Even if it's completely fine. I think there's something similar for Apple, but I can't actually remember the details right now.

Apple doesn’t generally enforce lower bounds on the supported OS or SDK built against unless there’s recently been a major transition (e.g. 32-bit support being dropped), which don’t happen too often. They will remove listings that have sat idle for too long though (4-5+ years I think, but don’t quote me on that). I’ve never dealt with it personally since the projects I’ve been responsible for have always been getting updates.
Post reply on HN