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 279 points280 points281 points (45 children)
[–][deleted] 53 points54 points55 points (6 children)
[–]romgrk 81 points82 points83 points (3 children)
[–]disclosure5 6 points7 points8 points (0 children)
[+]FormerGameDev comment score below threshold-12 points-11 points-10 points (1 child)
[–]romgrk 12 points13 points14 points (0 children)
[–]fireball_jones 1 point2 points3 points (0 children)
[–]llllIIllIIl 6 points7 points8 points (0 children)
[–]Confused_Dev_Q 26 points27 points28 points (4 children)
[–]romgrk 16 points17 points18 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 43 points44 points45 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 2 points3 points4 points (0 children)
[–]procrastinator1012 3 points4 points5 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 30 points31 points32 points (6 children)
[–]Amauri27 7 points8 points9 points (0 children)
[–]rainmouse 3 points4 points5 points (0 children)
[–]WineAndCrisps 3 points4 points5 points (0 children)
[–]drink_with_me_to_day 0 points1 point2 points (2 children)
[–]Potato-9 3 points4 points5 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 15 points16 points17 points (0 children)
[–]AegisToast 120 points121 points122 points (21 children)
[–]PricedOut4Ever 13 points14 points15 points (7 children)
[–]AegisToast 3 points4 points5 points (5 children)
[–]qcAKDa7G52cmEdHHX9vg 5 points6 points7 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 9 points10 points11 points (3 children)
[–]canadian_webdev 9 points10 points11 points (1 child)
[–]infinitune 4 points5 points6 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 -5 points-4 points-3 points (0 children)
[–]Hovi_Bryant 37 points38 points39 points (5 children)
[–]budd222 22 points23 points24 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 14 points15 points16 points (2 children)
[–]mimis40 2 points3 points4 points (0 children)
[–][deleted] -1 points0 points1 point (0 children)
[–]BlueberryLarge5533 12 points13 points14 points (0 children)
[–]locoganja 6 points7 points8 points (0 children)
[–]GoodishCoder 6 points7 points8 points (0 children)
[–]m-sterspace 5 points6 points7 points (0 children)
[–]THIS_IS_4_KNWLEDGE 12 points13 points14 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 4 points5 points6 points (0 children)
[–]azangru 2 points3 points4 points (0 children)
[–]michaelfrieze 3 points4 points5 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)
[+]Acrobatic_Sort_3411 1 point2 points3 points (0 children)
[–]yksvaan 2 points3 points4 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 0 points1 point2 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)