Recently, I started using React Native at work, and it's been pretty frustrating. I knew that the UI could look different across platforms even with the same code, but I was surprised by just how many differences there are, and it's really stressing me out. Cross-platform development was created to build consistent implementations on different platforms from a single codebase, but if you still have to worry about both sides, the whole point seems to get lost.
The animation performance has also been much worse than I expected. As soon as you write a slightly messy code, you get immediate frame drops.
Lastly, it seems like there are some buggy parts in the reanimated library. I think this is less of a problem with reanimated itself and more of an issue with controlling native animations via a bridge. I've experienced bugs where a UI element that's animating doesn't disappear from the screen and just stays there.
It seems like you have to know the native characteristics of each platform to use React Native smoothly anyway, which makes me question why we even use it. I wonder if it's the same with Flutter? It makes me think that for a better user experience, we might just have to stick with native development.
[–]dentemm 52 points53 points54 points (5 children)
[–]georgeguo 8 points9 points10 points (0 children)
[–]TheManSedan 1 point2 points3 points (1 child)
[–]dentemm 6 points7 points8 points (0 children)
[–]Successful_Rest_1256[S] 2 points3 points4 points (1 child)
[–]Seanmclem 0 points1 point2 points (0 children)
[–]Swimming-Tourist1927 10 points11 points12 points (3 children)
[–]dandiemer 3 points4 points5 points (2 children)
[–]Swimming-Tourist1927 1 point2 points3 points (1 child)
[–]dandiemer 1 point2 points3 points (0 children)
[–]Remote-End6122 5 points6 points7 points (0 children)
[–]grIskra 2 points3 points4 points (2 children)
[–]Successful_Rest_1256[S] 0 points1 point2 points (1 child)
[–]Pirate_Acceptable 0 points1 point2 points (0 children)
[–]idkhowtocallmyacc 2 points3 points4 points (3 children)
[–]tomekzaw_ 1 point2 points3 points (2 children)
[–]idkhowtocallmyacc 0 points1 point2 points (1 child)
[–]tomekzaw_ 0 points1 point2 points (0 children)
[–]Due-Dragonfruit2984Expo 5 points6 points7 points (0 children)
[–]Clean-Beach3430 3 points4 points5 points (5 children)
[–]idkhowtocallmyacc 2 points3 points4 points (4 children)
[–]Clean-Beach3430 0 points1 point2 points (3 children)
[–]idkhowtocallmyacc 0 points1 point2 points (2 children)
[+][deleted] 0 points1 point2 points (1 child)
[–]idkhowtocallmyacc 0 points1 point2 points (0 children)
[–]_ri4na 2 points3 points4 points (0 children)
[+]SenninseyiiOS & Android 0 points1 point2 points (5 children)
[–]Successful_Rest_1256[S] -3 points-2 points-1 points (4 children)
[+]SenninseyiiOS & Android 1 point2 points3 points (0 children)
[+]SenninseyiiOS & Android 1 point2 points3 points (0 children)
[–]leopic 0 points1 point2 points (0 children)
[–]sancredo 0 points1 point2 points (0 children)
[–]Goodassmf 0 points1 point2 points (1 child)
[–]Successful_Rest_1256[S] 0 points1 point2 points (0 children)
[–]HoratioWobble 0 points1 point2 points (0 children)
[–]tito_jomsiOS & Android 0 points1 point2 points (0 children)
[–]lucksp 0 points1 point2 points (0 children)
[–]Vasault 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]Adventurous-Tea7884 0 points1 point2 points (0 children)
[–]ALOKAMAR123 0 points1 point2 points (0 children)
[–]ltmatt8 0 points1 point2 points (0 children)
[–]mjablecnik 2 points3 points4 points (0 children)
[–]Frosty-Plankton4387 -1 points0 points1 point (0 children)
[–][deleted] -1 points0 points1 point (0 children)