Remix.run Logo
Degorath 3 hours ago

While all of the points you brought up are valid, I've hated every react native app I've ever had to work on. Not because of react native itself, but because they usually take random react developers to work on these apps and the structure they create is absolutely horrible to work with (compared to, for example, native apps).

What was your experience on that aspect with Flutter?

meerita 3 hours ago | parent | next [-]

I agree. RN has historically attracted a lot of web developers who treat mobile like a React website, and the result can be terrible. But I've seen exactly the same architectural problem in Flutter: huge widgets, mixed responsibilities, state everywhere, and very little separation of concerns. The framework doesn't protect you from bad engineering.

Degorath an hour ago | parent [-]

Ah, that's a shame to hear. I would only like to add that at least for Android apps that I've been "hanging around" (my team never really worked on them), the teaching materials that are provided have generally made them a lot more pleasant compared to the RN stuff.

puelocesar 2 hours ago | parent | prev [-]

I was forced to migrate from pure native development to React Native and Redux is one of the stupidest things I ever witnessed. Or at least the way the previous devs setup that thing, because it’s so easy to make costly mistakes with it.

I lost so many days of my life profiling and debugging to figure out why hundreds of components were re-rendering when a tiny thing changed somewhere completely unrelated

user43928 an hour ago | parent | next [-]

Redux is great and it solves exactly that problem.

You create a selector. You use the selector in a React component.

The component re-renders when the selector outputs a different value, with the usual reference equality caveat.

Does it get any simpler than that?

However, yes, I have seen most developers use Redux incompetently.

They would use actions like "setOrder" instead of "itemAdded", defeating the purpose of a state machine from the start.

satvikpendem 3 minutes ago | parent [-]

They might have been using Redux before it did a major API change in the form of slices.

tcfhgj an hour ago | parent | prev [-]

> figure out why hundreds of components were re-rendering when a tiny thing changed somewhere completely unrelated

Could you explain how this comes from React Native and/or redux?

I have used Angular with redux (ngrx) and redux made it quite obvious what changed what and why