Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Our experience is opposite. We started with GetX because we were new. Then moved to Riverpod/Go-Router as we gained experience. We have a set-up of four modules (shared lib; shared ui; app1 and app2) for two apps targeting web+ios+android; about 50k LoC @ 160 line length.

Obviously there were a lot of friction when moving out of GetX, but upgrading things have always been easy. Usually at most one day worth of work (worst case). We don't upgrade as soon as a new flutter version is released. We give it a month at least and then upgrade.

During upgrade, most of the problems usually come from 3P dependencies which interact with native such as package info plus. Also, we don't add dependencies unless we really need to. I think we are at ~30 total between all modules.

On the other hand, our react projects are forever in dependency hell. Much larger project, yes but way too many dependencies and too many things break during upgrade.



> Also, we don't add dependencies unless we really need to

I think this is the trick. I've worked for a client whose coding standards basically forbade 3rd party clients. Turns out, it often is not needed at all. Do you need to include a library for a bar chart? No, a bar chart is often just a bunch of rectangles and labels.

When you have stupid-simple project setups, you can have huge projects but they'll compile fast and upgrade quickly.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: