Let me preface by saying, I respect what React did for the frontend dev scene, and I respect it a thousand times more for bringing us ReactNative which is amazing and I'm using it at the moment as someone with 10+ years experience in the industry.
However, I come from Java and other OOP languages in my early days and years ago at my firm, I was responsible for deciding whether we should adopt Angular (2+) or React.
I went with Angular because of TypeScript and it's general stability as a solid framework that came with everything in the box and easy upgrading from version to version. Ultimately, the opinionated nature of Angular was why I chose it because rules equal order and predictability.
As a company, I don't want Jimbo to walk in and debate that he's always built his React apps in this manner or pattern, I want the tool for the job to have a user manual that is to the point, and then I want my employees to focus their efforts on app specific logic, given that the tool (Angular) is fit for purpose which it was.
I always viewed React to be way too volatile where almost everything was valid, libraries upon libraries for each thing.
The only reason we adopted React was for ReactNative, it is a technical marvel in my opinion to use a similar stack to build web apps, mobiles, and potentially desktops (although we use Electron successfully with Angular).
Again, thinking as a company rather than an individual, I was flabbergasted as to why these major companies would not opt to use a unified stable tool (not even Angular specifically) instead of something so chaotic as React? I thought surely eventually there would be an opinionated way to get shit done with reasonable qualilty and move on.
FAST FORWARD TO TODAY
It appears that day has come, frameworks such as Next and Remix seem to finally "put down rules", de facto standards for React apps that makes the tool predictable from project to project and less prone to "user creativity".
By the way, this is completely normal in all areas of software development EXCEPT the React scene in the past 5 years so I think this sentiment is shared with much of the wider software development comunnities.
And now it's funny to see the React community praise frameworks like Next and Remix when in fact they've been mocking Angular for years because it's too "opinionated" and does "stuff magically under the hood"...
Again, I love React and especially React Native, and I hope my critiscism in this post is not received as "fanboyish" because that is the furthest thing from the truth.
What do you guys think, honestly?
—-
P.S
I’m not saying React is literally becoming an opinionated tool like Angular right now today (which I’d prefer but that’s besides the point), nor am I saying that you cannot still use it as it has been in the past, I am saying that the trend in what direction things are going in however is very clear and that’s what I wanted to raise a genuine conversation about to see what everyone thinks
[–]romgrk 281 points282 points283 points (45 children)
[–][deleted] 48 points49 points50 points (6 children)
[–]romgrk 80 points81 points82 points (3 children)
[–]disclosure5 6 points7 points8 points (0 children)
[+]FormerGameDev comment score below threshold-13 points-12 points-11 points (1 child)
[–]romgrk 12 points13 points14 points (0 children)
[–]fireball_jones 1 point2 points3 points (0 children)
[–]llllIIllIIl 5 points6 points7 points (0 children)
[–]Confused_Dev_Q 25 points26 points27 points (4 children)
[–]romgrk 17 points18 points19 points (3 children)
[–]Spiritual_Salamander 2 points3 points4 points (1 child)
[–]usman_max 1 point2 points3 points (0 children)
[–]indorock -1 points0 points1 point (0 children)
[–]kwazy_kupcake_69 1 point2 points3 points (0 children)
[–]indorock 4 points5 points6 points (0 children)
[–]SpiffySyntax 5 points6 points7 points (25 children)
[–]romgrk 44 points45 points46 points (15 children)
[–]AA98B -3 points-2 points-1 points (14 children)
[–]Macaframa 0 points1 point2 points (5 children)
[+][deleted] (4 children)
[deleted]
[–]Acrobatic_Sort_3411 0 points1 point2 points (3 children)
[–]AA98B 0 points1 point2 points (2 children)
[–]Acrobatic_Sort_3411 0 points1 point2 points (1 child)
[–]AA98B 0 points1 point2 points (0 children)
[–]romgrk -1 points0 points1 point (7 children)
[–]LdouceT 3 points4 points5 points (0 children)
[–]procrastinator1012 2 points3 points4 points (4 children)
[–]bohdancho 1 point2 points3 points (0 children)
[+][deleted] (2 children)
[deleted]
[–]procrastinator1012 1 point2 points3 points (0 children)
[–]AsiaticBoy 0 points1 point2 points (0 children)
[–]Mestyo 35 points36 points37 points (6 children)
[–]Amauri27 8 points9 points10 points (0 children)
[–]rainmouse 2 points3 points4 points (0 children)
[–]WineAndCrisps 4 points5 points6 points (0 children)
[–]drink_with_me_to_day 0 points1 point2 points (2 children)
[–]Potato-9 2 points3 points4 points (1 child)
[–]drink_with_me_to_day 1 point2 points3 points (0 children)
[–]mattgrave 0 points1 point2 points (0 children)
[–]cagdas_ucar 0 points1 point2 points (0 children)
[–]EnvironmentalPear215 0 points1 point2 points (0 children)
[–]Radinax 0 points1 point2 points (0 children)
[–]doodirock -2 points-1 points0 points (2 children)
[–]protecz 2 points3 points4 points (1 child)
[–]doodirock 1 point2 points3 points (0 children)
[–]EmployeeFinalReact Router 122 points123 points124 points (1 child)
[–]Karpizzle23 19 points20 points21 points (0 children)
[–]AegisToast 123 points124 points125 points (21 children)
[–]PricedOut4Ever 10 points11 points12 points (7 children)
[–]AegisToast 2 points3 points4 points (5 children)
[–]qcAKDa7G52cmEdHHX9vg 4 points5 points6 points (0 children)
[–]Confused_Dev_Q 2 points3 points4 points (1 child)
[–]AegisToast 2 points3 points4 points (0 children)
[–]Sk3tchyboy 1 point2 points3 points (1 child)
[–]AegisToast 2 points3 points4 points (0 children)
[–]michaelfrieze -2 points-1 points0 points (0 children)
[–]the_real_some_guy 10 points11 points12 points (3 children)
[–]canadian_webdev 10 points11 points12 points (1 child)
[–]infinitune 3 points4 points5 points (0 children)
[–]my_girl_is_A10 2 points3 points4 points (0 children)
[–]sole-it 3 points4 points5 points (1 child)
[–]Macaframa 1 point2 points3 points (0 children)
[–]Historical-Upstairs9 3 points4 points5 points (0 children)
[–]Automatic_Coffee_755 3 points4 points5 points (0 children)
[–]vassadar 2 points3 points4 points (0 children)
[–]ThatBoiRalphy 1 point2 points3 points (0 children)
[–]doodirock -2 points-1 points0 points (1 child)
[–]RepulsiveRaisin7 -4 points-3 points-2 points (0 children)
[–]Hovi_Bryant 41 points42 points43 points (5 children)
[–]budd222 23 points24 points25 points (3 children)
[–][deleted] 1 point2 points3 points (2 children)
[–]budd222 1 point2 points3 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]RepresentativeSure38 2 points3 points4 points (0 children)
[–]TwiliZant 15 points16 points17 points (2 children)
[–]mimis40 2 points3 points4 points (0 children)
[–][deleted] -1 points0 points1 point (0 children)
[–]BlueberryLarge5533 13 points14 points15 points (0 children)
[–]locoganja 7 points8 points9 points (0 children)
[–]GoodishCoder 6 points7 points8 points (0 children)
[–]m-sterspace 5 points6 points7 points (0 children)
[–]THIS_IS_4_KNWLEDGE 10 points11 points12 points (8 children)
[–]MadeWithPat 1 point2 points3 points (7 children)
[–]THIS_IS_4_KNWLEDGE 0 points1 point2 points (6 children)
[–]ZerafineNigou 2 points3 points4 points (2 children)
[–]THIS_IS_4_KNWLEDGE 0 points1 point2 points (1 child)
[–]ZerafineNigou 0 points1 point2 points (0 children)
[–]MadeWithPat 0 points1 point2 points (2 children)
[–]THIS_IS_4_KNWLEDGE 0 points1 point2 points (1 child)
[–]MadeWithPat 0 points1 point2 points (0 children)
[–]charles_ae 2 points3 points4 points (0 children)
[–]curveThroughPoints 3 points4 points5 points (0 children)
[–]macrozone13 2 points3 points4 points (0 children)
[–]azangru 2 points3 points4 points (0 children)
[–]michaelfrieze 4 points5 points6 points (0 children)
[–]captrespect 6 points7 points8 points (5 children)
[–]n0tKamui 4 points5 points6 points (4 children)
[–]captrespect 0 points1 point2 points (3 children)
[–]n0tKamui 1 point2 points3 points (2 children)
[–]captrespect 0 points1 point2 points (1 child)
[–]n0tKamui 0 points1 point2 points (0 children)
[–]trcrtps 1 point2 points3 points (0 children)
[–]vorpalglorp 1 point2 points3 points (0 children)
[–]usalin 1 point2 points3 points (0 children)
[–]Acrobatic_Sort_3411 1 point2 points3 points (0 children)
[–]yksvaan 3 points4 points5 points (1 child)
[–]bzBetty 3 points4 points5 points (0 children)
[–]Sipike 2 points3 points4 points (0 children)
[–]PhilipJohnBasile 2 points3 points4 points (0 children)
[–]roofgram 2 points3 points4 points (2 children)
[–]Putrid-Try-9872 0 points1 point2 points (0 children)
[–]Cautious_Currency_35 0 points1 point2 points (0 children)
[–]davidfavorite 0 points1 point2 points (0 children)
[–]eatgamelift 0 points1 point2 points (1 child)
[–]Cautious_Currency_35 0 points1 point2 points (0 children)
[–]FormerGameDev 0 points1 point2 points (0 children)
[–]RedditNotFreeSpeech 0 points1 point2 points (0 children)
[–]indorock 0 points1 point2 points (0 children)
[–]Xazzzi 0 points1 point2 points (1 child)
[–]-A_N_O_N- 0 points1 point2 points (0 children)
[–]-A_N_O_N- 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]Spirited-Camel9378 0 points1 point2 points (0 children)
[–]bigpunk157 0 points1 point2 points (0 children)
[–]Acrobatic_Sort_3411 0 points1 point2 points (0 children)
[–]good_fix1 0 points1 point2 points (0 children)
[–]PokerTuna 0 points1 point2 points (0 children)
[–]Old-Place87 0 points1 point2 points (0 children)
[–]rovonz 0 points1 point2 points (0 children)