←back to thread

324 points onnnon | 2 comments | | HN request time: 0s | source
Show context
breckenedge ◴[] No.42728538[source]
Glad they spent some times discussing the downsides. I’m 4 months in to a Hotwire Native replacement for an unmaintained React Native app. The differences are stark and I could definitely see myself picking up Hotwire again for another project if given the same constraints, but I’ve had good experiences with React Native in the past too. Ultimately though I just do not like all the work that has to go into maintaining a large scale React codebase.
replies(4): >>42728584 #>>42730514 #>>42731681 #>>42737998 #
mattgreenrocks ◴[] No.42728584[source]
Curious what you meant by the last sentence there. Does React uniquely complicate maintenance as a codebase grows?
replies(2): >>42728646 #>>42736403 #
breckenedge ◴[] No.42728646[source]
Theres a constant churn of a bunch of dependencies. Devs add minuscule libraries all the time. And I think some of the best React libraries have been abandoned, which is kinda sad, but nice from a maintenance perspective.

React very much feels like programming using only side-effects and that’s not really a fun experience IMHO. Performance issues are also somewhat difficult to spot in review and not very elegant to solve.

It’s been a few years since I’ve used React Native so maybe things are better now?

replies(4): >>42728699 #>>42729924 #>>42732824 #>>42735864 #
tensor ◴[] No.42728699{3}[source]
This is my experience with all javascript stuff these days. If you leave the codebase even for a few months now you're spending days updating it to all the new breaking library changes. Worse, if your tooling is out of date you're probably spending a week just fighting to fix/change/update the tooling. It's the most brittle tech stack I've ever had to work with.
replies(3): >>42728871 #>>42733251 #>>42741625 #
endlessvoid94 ◴[] No.42728871{4}[source]
This is the missing criteria in the technical decision making, IMO. How reliant is the team on the recruiting/retention of the current size and structure of the talent, both on the team and in the wider community?

Small teams trying to keep burn ultra low vs. giant companies might have similar technical goals but opposite staff capabilities. This is a crucial factor.

A second-order effect is how much time/energy/money you have to throw at maintenance. Can you afford to spend X% of your time on maintenance? Which technologies offer comparative advantages on maintenance cost? These are surprisingly often easy to answer, and nearly never explicitly considered!

replies(1): >>42730625 #
1. Calamitous ◴[] No.42730625{5}[source]
> These are surprisingly often easy to answer

I agree that maintenance costs are often overlooked/ignored, but I'm curious how you get answers on the costs. I've never found it particularly easy to get reliable information on maintenance costs.

replies(1): >>42738097 #
2. endlessvoid94 ◴[] No.42738097[source]
I guess what I was thinking was: even if you can't quantify it, you can squint at the comparative advantages and trade-offs and make a qualitative, yet objective judgement call.