Why React Won the Front-End Race
PRANTA Dutta

PRANTA Dutta @pranta

About: I am a full-stack web and mobile developer

Location:
Chattogram, Bangladesh
Joined:
Dec 17, 2020

Why React Won the Front-End Race

Publish Date: Sep 15 '24
513 174

React, The king of front-end frameworks—or should I say "libraries," since React purists will remind you every 10 minutes that it’s not a framework. But let's not get caught up in the technicalities. If you're doing any serious front-end development in 2024 and you're not using React, then congratulations, you're a hipster. But for the rest of us mere mortals, React has emerged as the undeniable winner of the front-end race, and here’s why you should love it (or at least pretend to).

1. It’s Backed by Facebook—Oops, I Mean Meta

Let’s start with the elephant in the room: React is backed by Meta. You know, that small company that only runs the social lives of 3 billion people. If you’re looking for a safe bet in tech, a product maintained by the folks behind Facebook and Instagram isn’t a bad one. Nothing says "we own the internet" quite like having one of the biggest data-harvesting companies ensuring your beloved front-end tool remains relevant.

But hey, don't worry. This isn't some evil corporation monopolizing the web or anything. Nope, not at all. Just relax and trust in Zuckerberg’s quest to ensure your React app will run smoothly until the end of time (or until the next privacy scandal).

2. It’s a Library, Not a Framework (And You Will Hear This Until the Day You Die)

Let's clear the air: React is not a framework. You’ll hear this fact proudly stated over and over in developer circles, as if it’s somehow a badge of honor. “Oh, you’re using Angular? Cute. I prefer React because it gives me more flexibility.” Yeah, React developers love to remind you that, unlike those “restrictive” frameworks, React lets you piece together your app however you want. You like chaos, don’t you?

Because who wants a cohesive, opinionated structure when you can have the glorious freedom of picking and choosing your own routing, state management, and project structure? It’s like being handed an IKEA flatpack with no instructions and told, “You figure it out. It’s more rewarding this way.”

The flexibility is great—until it isn’t, and you’re 15 dependencies deep just to render a button. But hey, at least React didn’t impose any constraints on you. That’s worth something, right?

3. Component-Based Architecture (A Fancy Way of Saying You’ll Be Writing HTML in Your JavaScript)

The innovation! The creativity! The pure genius of combining HTML and JavaScript into one delicious hybrid called JSX. With React, you can finally mix your structure with your logic in ways no one asked for. Why keep them separate, like in the good old days of clear separation of concerns, when you can jumble everything into one component and call it progress?

But wait, there’s more! Not only can you write HTML in JavaScript, but you can also nest components inside other components like some kind of Russian nesting doll of web design. Need a button inside a form inside a modal? No problem. Just keep nesting, and eventually, you’ll forget where the component boundaries are. It's like React wants to challenge your mental stability and your love for clean code simultaneously.

Still, I guess there’s something beautiful about knowing that, with React, your front-end code will soon look like an avant-garde modern art installation. Bonus points if your boss has no idea what’s going on and thinks you’re a genius for making such “sophisticated” applications.

4. The Virtual DOM: So Cool You Don’t Even Have to Understand It

Ah, the Virtual DOM. React’s pièce de résistance. It’s the reason why React is so blazingly fast—at least, that’s what they tell you. Most of us just nod along and pretend to understand what the Virtual DOM actually does because it sounds complicated and impressive. Here’s a pro tip: if you’re ever caught off guard, just say something like, “It diff-checks the DOM for minimal updates,” and people will assume you’re a genius. Trust me, it works.

But the real beauty of the Virtual DOM is that you don’t actually need to know how it works. It’s just there, humming along in the background, making your app marginally faster in ways that are probably important but are also mostly invisible. Think of it as React’s way of saying, “Don’t worry, I got this.” After all, the last thing you want is to be bogged down with boring, low-level details when there are memes to scroll through.

5. State Management: Because Props Alone Aren’t Confusing Enough

If you thought managing state was straightforward, then clearly, you haven’t been properly introduced to React’s various approaches to state management. Sure, React comes with a simple useState hook, but that’s just the gateway drug. Before long, you’ll be knee-deep in useReducer, useContext, or, better yet, a shiny new external library like Redux, MobX, or Recoil.

Why? Because React developers thrive on complexity. The mere act of passing props down through a few components is too easy. Let’s mix things up! Why not have global state containers where your components can interact with variables that are seemingly nowhere near them in the code? It’s the developer equivalent of playing Minesweeper—one wrong move, and boom, everything blows up.

Of course, you could keep things simple, but where’s the fun in that? Half the joy of React is watching junior developers drown in a sea of state, props, and lifecycle methods while you offer sage advice like, “Have you tried using Redux Thunk?”

6. Hooks: The Shiny Toy You Now Can’t Live Without

React Hooks. Remember when React was class-based, and lifecycle methods were all the rage? Ha, what an ancient time that was—2018, I think? Well, forget about all that because React Hooks are here, and they are absolutely revolutionary. And by revolutionary, I mean they allowed React to fix the mess it created with class components.

With hooks, you can finally write components with more convoluted logic in just a few lines! Want to fetch some data, track a loading state, and trigger a side effect all in one component? No problem, just sprinkle in a few useEffect hooks and a useState for flavor, and you’re golden. Sure, you might accidentally trigger infinite loops if you don’t understand dependency arrays, but where’s the excitement without a little chaos?

Hooks are React’s way of saying, “We know this was already complicated, so here’s a whole new paradigm to make it even more fun.” But you’ll keep using them because, well, once you hook, you never go back. (Sorry for the pun. I couldn’t resist.)

7. The Ecosystem: Thousands of Packages You Probably Don’t Need

The React ecosystem is vast. And when I say vast, I mean it’s like walking into an all-you-can-eat buffet and realizing there are 57 different types of pasta. Need a router? React Router has you covered. Need state management? Take your pick from Redux, MobX, Zustand, Recoil, or whatever new library hit GitHub yesterday. CSS in JS? Styled-components, Emotion, or maybe just plain old CSS modules. The options are endless.

You’ll soon find yourself drowning in NPM packages. Some are beautifully maintained, others are abandoned wastelands of forgotten code, but that won’t stop you from loading up your package.json with dozens of dependencies. Sure, you could stick to the basics, but why settle for vanilla React when you could create the most bloated front-end application in history?

After all, nothing screams "modern developer" quite like spending an entire day choosing between state management libraries instead of, you know, building your actual app.

8. React Native: One Codebase to (Almost) Rule Them All

Let’s not forget about React’s younger sibling, React Native. The dream of writing one codebase and deploying it to both Android and iOS sounds amazing, right? Well, React Native promises exactly that—sort of. It’s like a good infomercial. You’ll get 80% of what you expect, but that last 20%? Oh boy, it’ll make you work for it.

“Write once, run everywhere” becomes “write once, and then spend weeks debugging why your UI looks fine on Android but is a hot mess on iOS.” But hey, at least you don’t need to write separate apps, and who needs sleep anyway?

React Native is a key part of React’s victory lap. It’s just close enough to the dream of a universal codebase to keep you hooked, but just far enough to make sure you’ll never stop tweaking and optimizing. A perfect balance.

Conclusion: Resistance is Futile

So, why did React win the front-end race? Because it had everything going for it: corporate backing, an ecosystem that makes you question your life choices, and enough complexity to keep developers both excited and frustrated at all times. You don’t have to love React, but let’s be honest—you don’t have a choice.

At the end of the day, React is like that blockbuster movie franchise that you keep seeing ads for. You’re not sure you want to watch it, but eventually, you’ll cave because everyone else is talking about it. And just like that, you’re one of us now, writing JSX, managing state, and explaining to people why “it’s not a framework.”

Welcome to the club. Don’t worry—you’ll get used to it.

Comments 174 total

  • GreenerSoft
    GreenerSoftSep 15, 2024

    I love sheep!

  • Alois Sečkár
    Alois SečkárSep 15, 2024

    This arrogant article alone would be the reason I'd never even start thinking about using React 👎

    • Khang
      KhangSep 16, 2024

      I couldn't even swallow the introductory paragraph to get past that point 🤦‍♂️

    • Rense Bakker
      Rense BakkerSep 16, 2024

      I guess the sarcasm is wasted on you.

    • Quan Le
      Quan LeSep 16, 2024

      Your lost :D . But agree that the article sucks

    • Martin Ledoux
      Martin LedouxSep 16, 2024

      @aloisseckar
      Yeah, give it another look - the author of being sarcastic about all the bold claims.

    • Dawood Morris Kaundama
      Dawood Morris KaundamaSep 16, 2024

      I was laughing throughout the article buddy 😂

  • Jay H
    Jay HSep 16, 2024

    I'll never understand this developer Stockholm syndrome. You either hate it or you don't.

  • @exciteresearch
    @exciteresearchSep 16, 2024

    I have advocated Angular over React forever, and I love the way this article is written. But also, I did want to throw up a little at inevitably. 😜

  • Rense Bakker
    Rense BakkerSep 16, 2024

    You sound a bit angry. I'm not even sure where to start...

    Yes, react is unopinionated. No that's not the reason why people write bad react code. Bad developers write bad code in opinionated frameworks as well. React's component structure actually lends itself really well to apply basic SOLID principles.

    The whole framework/library discussion is nonsensical. React is whatever Svelte and Angular and all the other frontend frameworks are. Some of those (like angular) just have a lot more gravy on top, which makes them opinionated and less suited for some use-cases.

    • Garry T.
      Garry T.Sep 16, 2024

      You summed it up.

      The difference between frameworks like Vue and libraries like React is the opinion factor. I've worked on Angular projects where people misused it like crazy. It's like using a Miter Saw to hammer in a nail.

      The one thing I tell people when building out any kind of solution is less is more. Bad code is bad code.

      • Nii Yeboah
        Nii YeboahSep 17, 2024

        Do you people realize how much boilerplate and nonsense exists in React. I am very experienced with the framework. I use it everyday at a very high level and I hate it. It's one of the most opinionated frameworks that exists right now ( for instance other frameworks don't require you to wrap everything in useMemo, useCallback etc). When it was first released I would have bought the library angle but not since hooks. It is now very much an opinionated framework. Web Components/vanilla JS imho are and the only truly unopinionated ways to build UIs.

        • Garry T.
          Garry T.Sep 17, 2024

          Who said you have to wrap everything in useMemo and use callback? You don't have to, but you can if you want to.

          If you have a ton of expensive computations happening on the frontend, then maybe you need to re-think how you're handling and perhaps where, as well. Memorizing data (at least in my experience) is usually warranted when you have a large amount of data that you don't want to re-calculate or apply.

          I agree that going pure vanilla is as "unopinionated" as it gets, but that's because it's vanilla. :) React is an abstraction that will fire off max call stacks if you use a hook incorrectly, but it won't stop you from rendering 1000 rows all at once. Vue probably will.

          • Rense Bakker
            Rense BakkerSep 17, 2024

            Show me in the javascript spec where it describes ngIf. React is as pure as it gets... Its all basic javascript functions... I'm honestly not sure if you're serious or just trolling...

            • Worx R
              Worx RSep 18, 2024

              I must agree with the previous comment that React is extremely opinionated. Take hooks for example, it might just be plain JS functions, but they behave nothing like you'd expect in vanilla JS. Your hook must be prefixed with "use", and it can only be called in a component or other hook, and it must be side effect free and deterministic, and by the way, that JS code you are writing could be called an arbitrary amount of time by the engine and you have little to no control over that, in fact, in dev mode only we'll call it twice just because but not in the prod build. There's literally an official rules of React documentation describing how you must abide by React's way of doing things, that's as opinionated as it gets.

  • Stasi Vladimirov
    Stasi VladimirovSep 16, 2024

    It’s crazy how Vue hits all of these points in the complete opposite (positive) way, yet its so far behind react. I’ve been working with both professionally for half a decade and have no idea why anyone chooses react over Vue. And no, the react ecosystem is not bigger nor more mature. No, it’s not easier to learn. I think the only logical conclusion I can come up with is that developers enjoy complexity and making things harder than they should be

    • leob
      leobSep 16, 2024

      YES !

      Vue is so much better, in all respects - it really beats me why people don't see that, and are torturing themselves with React "arcana" and ugly band-aid fixes like "useMemo" and so on ...

      The reasons given in this article seem largely nonsense (everything stated about React is true for Vue as well, and for other frameworks) - I think the reason why React became more popular than Vue is just timing and "historical accident" - see my comment:

      dev.to/leob/comment/2i5f7

      • Manrike Villalobos Báez
        Manrike Villalobos BáezSep 16, 2024

        Exactly! An "historical accident"... No more! Even React alternatives (like SolidJS or Preact) are far better!!!

        • High Octane
          High OctaneNov 10, 2024

          Is solidjs even a thing. Its just a copy cat and an excuse in the name of speed. For me i think that solid js is just an excuse for writing bad or slow code in react

      • Syakir
        SyakirSep 17, 2024

        As a dev who work on both React and Vue, i second this.

        Vue is better, and easier to learn. But, i work more on React now, because thats what's my company use.

      • Rense Bakker
        Rense BakkerSep 17, 2024

        Since when is useMemo a bandaid?

        • leob
          leobSep 17, 2024

          useMemo is really a band-aid if ever I saw one - it's only needed because the framework (React) itself apparently sucks at optimizing rendering, and pushes that kind of "low level" responsibility to the developer ...

          Also, I'm seeing way too many articles here on dev.to which advocate throwing in useMemo whenever there's a performance problem (as in, too many renders), while in many cases it would be better to analyze why there's too much rendering going on, and fix the underlying issue - again, useMemo used as a "band-aid" to plaster over the real problems :)

          (of course sprinkling useMemo over your code indiscriminately will quickly lead to memory consumption issues)

          But the deeper issue is that React forces the developer to worry about all kinds of "low level" issues (performance and rendering), which the framework should take care of itself - as other frameworks do ...

          P.S. yes I know, with each React release it gets better, because they're putting solutions in place to "fix" what's broken - for instance, they're now introducing a compiler which will "intelligently" apply useMemo when needed ...

          Nice - but all of that is IMO just papering over the cracks of a framework (eh, "library") which is fundamentally "broken" ... well, maybe "broken" is a bit too harsh - the point is just that React has chosen a rendering model which relies on fully rendering the component (then diffing it with the virtual DOM to optimize it), rather than other frameworks which rely more on "signals" to render stuff selectively ... this is a choice they've made, and I can't say it's "wrong" per se, but it does have consequences, and it does result in "limitations" ...

          But hey, it's the "900 pound gorilla", and even I am using it when I have to, so there's that ;-)

          • Rense Bakker
            Rense BakkerSep 17, 2024

            Actually yes, React is opting into memoizing everything now, which sucks. useMemo was incorrectly advertised as a performance enhancer. It's about controlling state. Passing an object as a value or reference means something completely different. useMemo let's you explicitly pass state by reference, so you only trigger a rerender of the children that use the memoized state, when the values used to create that state have actually changed. Unfortunately a lot developers these days have no idea what the difference is between pass by value and pass by reference, so they felt the need to put memoization in a black box ☹️

            I would agree that React.memo is often used as a bandaid instead of fixing the actual performance issue which is usually state that is incorrectly being passed by value 😛

            • leob
              leobSep 17, 2024

              Thanks for this "deep dive" ... that's pretty impressive in my book, because I've never mastered an understanding this deep of React - I understand the basics, but for the rest a lot of it is just opaque to me (probably because I never really bothered to invest in learning what goes on "under the hood") ...

              In my opinion this goes to show that (a) the React team isn't even explaining the purpose of their features adequately, and (b) this stuff just makes frontend devs focus too much on low level details - while they should ideally be able to focus on building functionality (UX and "business logic") ...

              But yeah, being able to understand the nitty gritty of how all of this works is for sure good "job security" !

              • Rense Bakker
                Rense BakkerSep 17, 2024

                Yes you can definitely blame them for poorly explaining memoization, even in the new docs its still a mess ☹️ but yea... In React 19 it wont matter anymore... Basically useMemo and useCallback will be obsolete from React 19 onwards.

                • leob
                  leobSep 17, 2024

                  They will? Because of this "compiler"?

                  • Rense Bakker
                    Rense BakkerSep 18, 2024

                    Yes the new compiler basically wraps every piece of state in useMemo and every callback function in useCallback. It's slightly more intelligent than that, but that's the basic gist.

                  • Stasi Vladimirov
                    Stasi VladimirovSep 21, 2024

                    Incorrect. The compiler comes with its own set of issues and gotchas… In complex setups the compiler leads to slower apps with huge memory footprints. Apart from that it will be years until the rest of the ecosystem adapts. I can’t believe they’ve been working on this thing for 3+ years and still can’t make it work. It’s just sad

                    • leob
                      leobSep 21, 2024

                      Sounds like a proper mess - which supports my thoughts about React and the limitations of its "rendering model" based on "just re-render the whole child component tree, and we'll do the VDOM diffing" ...

                      (as opposed to, for instance, Vue - which depends to a larger degree on signals/reactivity, allowing much more fine-grained re-rendering ...)

                      • Rense Bakker
                        Rense BakkerSep 22, 2024

                        True it's a completely different model. The whole premise of React was/is that javascript is fast and it doesn't matter that the whole tree is recreated. While that is true, it's still bad practice to create intermediate states that are incomplete and should not be rendered to the user. With signals this concept may be a little easier to understand for developers and if there is a problem, it remains more confined instead of being propagated throughout the entire tree. I'm not a big fan of vue tbh, but I'm keeping a close eye on solidjs... Signals might be the future.

                        • leob
                          leobSep 22, 2024

                          Thanks for the response ... why are you "not a big fan of Vue" if I may ask? I'm really curious to hear the reasons ...

                          • Rense Bakker
                            Rense BakkerSep 22, 2024

                            Not a fan (anymore) of the angular style of directives inside html tags and I prefer the declarativeness of React/jsx.

                            • leob
                              leobSep 23, 2024

                              You can use JSX with Vue, apparently ... I never did it, but it should be possible.

                              But, I've read that the separation of "code" and "template" in Vue is exactly what makes certain optimizations (with regards to rendering) possible ... another thing I like about Vue is that it's just more "batteries included" and a bit more opinionated (but still flexible).

                              I absolutely don't "hate" React (well, what's the point of hating anything or anyone?), but I've always liked Vue.

                              • Rense Bakker
                                Rense BakkerSep 23, 2024

                                Well I haven't used vue in a long time, so maybe I'll give it a try again sometime (although I don't see reason to switch at this moment), but that separation of code and template is what I've come to find problematic tbh. Although I used to love that in my angular days, I'm not a fan anymore. It took some time to get used to React, but now I find it much easier to translate business logic into an app. It makes it easier for me to divide the logic into separate components and create clear boundaries and reusable pieces of code. It makes more sense in my brain so to speak...

                                • leob
                                  leobSep 23, 2024

                                  For me JSX is also fine, I think it's quite elegant actually ... I don't dislike React, actually I've been using way more React than Vue over the last couple of years and generally I'm fine with it - but, we're now onboarding another dev, who is more of a Vue fan, and we're planning to rewrite the frontend using a Vue-based framework, hoping to make a "quantum leap" - so, I'll need to brush up on my Vue!

    • Nathan
      NathanSep 16, 2024

      Well I can of something. Thats that Vue 2 did not support Typescript (/out of the box). But with Vue 3 that issue is gone. But most have learned React know, therefore most jobs require React, therefore people learn it. I prefer Vue over it because the api and docs are better. People that have learned React, have no real reason to learn another thing because the development, the support, and the amount of jobs are plenty.

    • Jeysson Guevara
      Jeysson GuevaraSep 16, 2024

      Fact number 1: most devs don't have or want to have a say on what framework to choose, you probably use to work on smaller companies or have decision power, but, most devs, don't, and they work with whatever the company/architect decided to use.

      Fact number 2: switching frameworks is difficult, costly or plain impossible, so, whatever got picked at some point, stays forever (for as long as the project exists), React hit first, and has been able to keep it, which makes change unlikely.

      Fact number 3: ease to find devs is an important thing to consider when choosing a framework, it is simply easier to find React devs than it is to find Vue devs, and this is a circle that feeds itself, the more companies think (they could be wrong of course) devs are easier to find, the more they'll lean into that technology, and the more the devs think that's what companies look for, the more they get invested into it.

      React would have to secrew it up deeply to get surpassed by Vue in the short term, they just hit first, got everyone invested into it and things will just stay that way for now.

      • Kendall Weaver
        Kendall WeaverSep 20, 2024

        I don't agree with much of your first point. Yeah, people have to defer to what the company they work for uses, but almost everyone I know would love to have more of a say in the stack they're using.

        Completely agreed with point two.

        Regarding point three, the "ease of finding React devs" argument is one that's always struck me as nonsensical rubbish. In my experience, any reasonably competent React developer can pick up Vue/Svelte/Solid/etc within a couple of weeks (usually less than that). In order to be productive in React, they should already understand the major concepts like component-driven architecture and state management, so what's to say they can't take that knowledge and transfer it to another stack that's even easier to learn in the first place? It's not like a working understanding of React precludes you from ever being able to wrap your head around Vue. It'd be like a delivery company refusing to buy vehicles with automatic transmissions because they're worried that drivers used to manual transmissions wouldn't be able to operate them. That sort of logic might follow for someone who knows nothing about vehicles or transmissions, but in reality it's absolute nonsense.

        Anyway, I believe there are other forces at work that have significantly influenced React's popularity. Things like non-technical executives influencing architectural decisions, non-technical employees writing job postings and prescreening applicants, the whole labor arbitrage thing (basically if every company is using React, it drives down the cost of React devs), and a hype cycle that has pressured a lot of developers into feeling like they have to use React for everything.

        For the record, I'm not a straight-up React hater or anything. I do believe it's the right tool for some jobs in some circumstances, but these days there are newer tools that make more sense for most projects most of the time. If a company is has been using React for years and already has several products in the market, yeah use React all day long. On the other hand, if a startup is choosing React for a greenfield project in 2024, I take that as a pretty big red flag.

        • Jeysson Guevara
          Jeysson GuevaraSep 25, 2024

          On point 1, I cover 2 trains of thought, there are the ones who do want to have a say on what they want to work with, and those who just don't care, both exist and are valid, but, t the end, it doesn't matter, what got chosen, got chosen, and it is usually React.

    • Bart Steed
      Bart SteedSep 16, 2024

      I couldn't agree more! I find myself using Vue and Nuxt for almost everything I build anymore. It's an absolute delight for developers, can match React is almost everything, and avoids the JSX (unless you elect to be a glutton for punishment).

    • Chris Keith
      Chris KeithSep 17, 2024

      Have hope. When I was first exploring various front-end tools I spent a lot of time with React, then with Vue, and immediately took to Vue over React. I appreciated that so much wasn't "hidden behind the curtain" in Vue and I felt like I had much more granular control of what I was building. Others moving into FE dev are bound to find the same.

    • Certification Support system
      Certification Support systemSep 21, 2024

      Hello there
      Interested in Passing all IT and none IT exams with no efforts
      PMP, azure, Salesforce, comptia, CCNA, CISCO and all others with just a click
      WhatsApp Link: wa.me/message/LKPTS55J4JT6H1
      Send us a massage

      No UPFRONT payment
      100% pass guaranteed and pay after pass
      Low cost for each exam cleared
      10yrs+ experience

      Disclaimer: Do not Text if being certified is not your Goal
      No time wasters

      Send us a massage now
      WhatsApp: WhatsApp Link: wa.me/message/LKPTS55J4JT6H1

    • Akash
      AkashSep 21, 2024

      The last line is kinda funny

    • Samuel
      SamuelSep 23, 2024

      To understand the WHY, you have to go back to the beginning. It was originally marketed to Java and C++ devs. It was an attempt to turn something inherently not functional (html,css) into something functional. The original concept was extremely flawed and I never understood quite why so many web devs turned to it. I guess they bought into all of Facebook's hype.

    • Jedidiah Gabriel
      Jedidiah GabrielSep 27, 2024

      Vue is not a go-to when it comes to web3 development.

      • Stasi Vladimirov
        Stasi VladimirovSep 27, 2024

        Another great point in favor of Vue! I don't expect people who buy snake oil to understand it's advantages.

        • Jedidiah Gabriel
          Jedidiah GabrielSep 28, 2024

          LOL, you f'king ignorant bro. I bet you don't even know what web3 is 🤣

          The point is React is more popular, and is the go-to for everything frontend. Vue on the other hand might offer a better DX. There's no need for sentiments look up the stats. It's not my fault I prefer React, and it's more popular than Vue for whatever reason.

          • Stasi Vladimirov
            Stasi VladimirovSep 28, 2024

            Oh the irony. I am ignorant because I am not interested in buying a lowHD.png for millions of dollars. I just happened to write my first linked list implementation so long ago that I find it funny how excited the new kids on the block are when they discover how serialization and deserialization works. One day when you have to start paying your own electricity bills you might realize that there are things like efficiency, performance and reliability that matter more than “stats”. In the meantime keep dreaming for imaginary worlds with no vendors and consumers where everyone eats 0s and 1s and lives under the same metaverse roof.

            • Jedidiah Gabriel
              Jedidiah GabrielOct 8, 2024

              MF, I pay the bills, and take care of my own. Smart ass, you think web3 is about NFTs & some metaverse? You are very far from it.

              Bla bla bla serialization & deserialization, man shut the f'up. I am sure you don't know Jack about how blockchain technology works and, decentralization—which is quite in the favor of Vue when you think about the global mind share.

              • Stasi Vladimirov
                Stasi VladimirovOct 8, 2024

                Amazing, I’ve always been curious how Ponzi schemes manage to indoctrinate their members to a level where everyone is confused if the goal is to play nice and recruit more people or defend the promise land at all cost due to the enormous investment they have in it. It’s like a self fulfilling prophecy. But hey, I don’t blame you. Dreaming is free and it sounds like a nice dream. I wonder why do they call it “the dark web”. Sounds like you need a better marketing team. Maybe if they buy some Google Adds? Makes you wonder, if people like me know nothing about it, than is it really a thing? And how do you expect the average Jack to buy it? “Oh we should call it the next big thing, the web is big, right? Right?”

    • Nurudeen Alimi
      Nurudeen AlimiOct 13, 2024

      React gives you more freedom when it comes to dom manipulation. I used Vue and Nuxt, and I can tell you both are nowhere close to React and Next, regarding eco system, libraries availability (react has been around longer), and dom manipulation. If you want to build a prototype or CRUD app and you want to move fast, choose Vue, if your system will grow in complexity choose React (you will find everything out there to build it).

      • Stasi Vladimirov
        Stasi VladimirovOct 13, 2024

        Can you give an example of DOM manipulation you can do with react, that’s not possible with Vue?
        Regarding ecosystem, jQuery had been around even longer, so what? Check the state of JavaScript surveys: Best build tool: Vite. Best testing library: Vitest, Best dev tool: Vue Dev extension. Best static generator: Vuepress. And so on.
        I work on large React and Vue projects on daily bases. React is literally terrible for large projects due to global and local state management complexity. Unit testing react components is a game of mock, hide and seek. Any table or chart with over 10000 nodes consumes so much memory that you need to add minimum memory requirements to your app. And this is without mentioning the insane amount of useMemo, useCallback and usePrayer you need to deploy to keep your app running without re-rendering because someone whispered they want to click on a white space in your app. React gives developers so many ways to shoot themselves in the foot that code reviews literally take 3 times longer just trying to make sure someone didn’t introduce a regression because added wrong useEffect dependency… Meanwhile updating dependencies is a no mans land because 1. Most third parties publish changes once a year and 2. Half of the react library is experimental features so you never know if suspense will resolve or you need to wait another 3 years until it becomes stable. And no the 3 years of development of React Compiler are not the promised land it was supposed to be, because it somehow (really didn’t think that’s possible) it results in even slower and higher memory app. Anyone who's build a React app for more than 100 domain objects immediately starts talking about micro frameworks, because this sh*t is unmanageable.

    • AW A RE
      AW A RE Oct 16, 2024

      I was following rise of vue very closely in the past, but as soon as they introduced the composition api they lost their momentum, lost the war against react. Their documentation still to this day welcomes new developer with a question rather than a solution. A new comer have to decide which one to choose, composition api or options api. New comer cant find answers easy beacuse solutions/tutorials/blog posts all fragmented over internet rooted by this dilemma. New comer is not happy. He moves away from vue.

      • Stasi Vladimirov
        Stasi VladimirovOct 16, 2024

        Although what you wrote is truth, you could say the same regarding react classes vs hooks. Or angular 1 vs 2. Or any other framework older than 10 years. Progress has to be made and backward compatibility is a bitch. Composition API is superior and the primary solution atm. Vue’s documentation is very easy to navigate with examples for both as well as detailing the differences. Compare that to the alternatives where the comparison and examples of both approaches are completely lacking.

    • Joff Tiquez
      Joff TiquezDec 26, 2024

      LMAO, Yes, OP is listing down React features like they're unique to it 🤣

  • Thomas Hansen
    Thomas HansenSep 16, 2024

    They might have won the frontend race, but frontends will be obsolete in the future.

  • Alex Lohr
    Alex LohrSep 16, 2024

    I love the sarcasm, but I'm missing a few gags:

    • #2: I swear, the next revision will claim this is not even a library, but a collection of primitives, but I better shut up about it lest I give them ideas.
    • #3: Remember that fuzzy feeling you had in your tummy when you first learned PHP? That was probably the same diarrhea that birthed this atrocity.
    • #4: All you need to know that it is faster to create and compare objects and then change the DOM than to just change the DOM, right? Doesn't make sense? Don't ask me, I don't get it, either.
    • #6: Also, they got even better when RSC were introduced, because now you cannot possibly know how many times your effects will run. But you shouldn't use effects anyways.
    • Also, by now, Remix or Next are the new react. Still using vanilla? Repent, you Heathen!
  • Andreas
    AndreasSep 16, 2024

    Noob here. Is there a way to add react on a WordPress website from the website's backend?

    • Drew Riley
      Drew RileySep 16, 2024

      Sarcasm is hard to read in text form, but I truly hope I sensed it here.

    • Oziel Perez
      Oziel PerezSep 16, 2024

      Sarcasm or not, this is a terrible take and no one should ever consider doing this

  • Drew Riley
    Drew RileySep 16, 2024

    Tldr: people are dumb and Facebook exists.

  • Dipanjan Ghosal
    Dipanjan GhosalSep 16, 2024

    Because it came out early and was simpler than Angular which was it's main competitor at that time. For me though Solid is a better version of React, Svelte is elegant too.

    • Mike Talbot ⭐
      Mike Talbot ⭐Sep 16, 2024

      Yeah that would be it. AngularJS was a leader, a first run at something, interesting but a bit crap. React was better than it at the time. There are better things now, but whether that matters is probably down to what you are building and who is using it.

  • Oziel Perez
    Oziel PerezSep 16, 2024

    L article. Death to React!

  • Tom White
    Tom WhiteSep 16, 2024

    I've been unconsciously waiting for one of these reverse click baits on React. Nice to highlight the siloed belief that the complexity React devs experience at scale makes them clever.

  • Mahendran
    MahendranSep 16, 2024

    I'm not from the front-end background. Can someone explain whether he praised the react library (I understand this 100%) or shooting it down?

    • Shubham Tripathi
      Shubham TripathiSep 16, 2024

      he destroyed it with truth. React is a facebook propoganda to make their investors happy.

  • Geoffrey Swenson
    Geoffrey SwensonSep 16, 2024

    Vue

  • Shubham Tripathi
    Shubham TripathiSep 16, 2024
    1. Where is my updated value? What, I gotta fetch it inside a hook? Okay.
    2. Where is my dependency Injection? What, I have to put a tree of providers like some barbarian writing code? Okay
    3. Why is my settimeout not working?
    4. F U Facebook
  • Zombi
    ZombiSep 16, 2024

    Developers programming in React are like people commenting on Facebook.

  • JHK infotech
    JHK infotechSep 16, 2024

    React won the front-end race due to its flexibility, performance, and vast ecosystem. Its component-based architecture allows developers to build reusable UI elements, making code easier to maintain and scale. React's virtual DOM improves rendering efficiency, resulting in faster user experiences. Additionally, the strong backing from Facebook and an active developer community have led to a rich ecosystem of libraries, tools, and continuous updates, solidifying React's dominance in the front-end development landscape. This combination of innovation, support, and scalability helped React outpace its competitors.

    • insidewhy
      insidewhySep 16, 2024

      It won when it comes to getting users. But it didn't win at making developers lives easier. There's so many more choices now that are simultaneously easier to understand/use and more powerful. But we're still stuck with this annoying clunky dinosaur because it's just too big to fail.

    • Abraham Brookes
      Abraham BrookesSep 17, 2024

      Yours truly,
      ChatGPT

  • Hamilton Jude
    Hamilton JudeSep 16, 2024

    Nice Article. React is 🔥🔥❤️

  • Shahed
    ShahedSep 16, 2024

    React community being under influence of an advertising company, Meta, is fooled by lots of lies organized by Meta and its dev-rel team. This article name, reflects one of such much believed lies among React practitioners, which you only understand it's a lie if you are not fooled by Meta.

    React is not even popular, it's just evangelized by many paid-to-write populist columnists and regretfully believed by those who lack critical thinking skills, those who believe whatever they read. You need some knowledge about higher order functional programming (type and kind level programming) to understand why functional reactive programming, which is practiced by react is a dead end when principled products like ScalaJS thrive.

    And it's not only ScalaJS which is way better than React. Actually whoever knows Elm and it's clean TEA pattern understands React is under a heavy technical debt. And by Tyrian this TEA pattern is included in ScalaJS ecosystem too.

    I named ScalaJS because it's the ideal product and hence everything should be compared with ScalaJS to have a fair basis. Then we understand YES React may be a good product when compared to WORST products like Angular. Solutions based on Typescript and even vanilla JS which can easily implement Custom Element are way better than React. And I'm not talking about React projects testing and tools like Jest which are more like a nightmare.

    React already wasted many open source human resources. I think open source community should sue Meta for waisting it's resources. Advertising technics has nothing to offer against principled computer science design. Stop using Reacts today for a better future.

  • Domenico Tenace
    Domenico TenaceSep 16, 2024

    Try Svelte, believe me.
    It's a compiler, not a framework 🤣

  • H.elyasi
    H.elyasiSep 16, 2024

    all benchmarks tell you, vue won...
    See reality...🤔😏

  • Ketan Shukla
    Ketan ShuklaSep 16, 2024

    I completely agree with each point made in this article, considering it isn't sarcasm. And if it was indeed a sarcasm, then I think author needs a serious retrospect of his journey as a frontend developer.

  • Riffani Septian Rondonuwu
    Riffani Septian RondonuwuSep 16, 2024

    Image description

    He's currently learning Flutter after praising React (Native)

  • Leo
    LeoSep 16, 2024

    I don't think so. React is way to complex and high strive learning curve. It take the first place because it's white guys created product no less and no more than that!

  • Matt Ellen-Tsivintzeli
    Matt Ellen-TsivintzeliSep 16, 2024

    They say reading comprehension needs to be taught in schools. Reading many of these comments I have no idea why.

  • Abhinay
    AbhinaySep 16, 2024

    Chat GPT write a feel good React article.
    Chat GPT : Meow Meow Meow

  • orisa
    orisaSep 16, 2024

    As of 2024 and beyond, Angular is a better option for those who need to build well engineered web apps. The only reason anyone would chose React would be because of React Native.

    • Tyler Katz
      Tyler KatzSep 16, 2024

      Agreed. Angular all the way. React Native is ok but there's also Capacitor which works with any framework. Flutter is cool too I'm just not into it. Basically Google.

  • Fenroe
    FenroeSep 16, 2024

    So genuinely curious, are people serious when they say that props, state and other basic aspects of developer tools are confusing? If so then the dire state of the job market makes sense, considering that many developers seem to be unqualified for junior roles.

    Anyway, nice stab at creative writing OP. Keep trying and I'm sure you'll find your voice.

    • Worx R
      Worx RSep 18, 2024

      I think the point is that it shouldn't be confusing at all, like you suggest, but React makes it confusing. In React, passing props is easy but sometimes you need to think about stable references, or using useMemo, or when you should update a state with the updater function vs direct assignment. Or what about context which seems standard, but oh gotta be careful or you'll have too many re-renders, better not use them. Global state management in React is so hard you can't realistically implement it in vanilla React yourself, you must rely on an external library of which there's a dozen, half of which are over engineered.

      On the other side, take Vue or Svelte or friends where you create a state with a signal and, that's about it, do whatever you'd like. Pass it as props, store it globally, or in a context, or process it outside the render tree, doesn't matter, it's all good, the framework will likely behave as you'd expect. Which is how it should be.

  • ELABBASSI Hicham
    ELABBASSI HichamSep 16, 2024

    It's really because of this kind of useless, outdated article, which brings no real argument, which compares things in a childish way and wastes people's time that I've stopped coming to dev.to (sarcasm or not). 99.99% of the articles are of the same level and it's a shame. And yet I've been a React/React-native developer since 2016.

  • NateDhaliwal
    NateDhaliwalSep 16, 2024

    I'm not sure if this guide is to praise or to mock React (I get the impression of praise), but I think it's time I take a look at React or Angular.
    Been using plain JS, I guess I am hipster 😅

  • Farmer Sneed
    Farmer SneedSep 16, 2024

    My favorite part about React is avoiding using React as much as possible and sticking primarily to the simple state functionality it has.

  • quincarter
    quincarterSep 16, 2024

    People should really look into lit. Web components using native browser apis are the future. Vite actually has some great starter repos on their site.

    These component libraries and frameworks were developed to solve different browser problems back in the day. Now a lot of them don't need to be solved because the browser can handle them natively!

  • leob
    leobSep 16, 2024

    I think all of these "reasons" are not "the reason" - because most other frameworks (or "libraries" ;-) also have these features (well, except being backed by FB / Meta) ...

    I think the main reason is just "timing" - React came on the scene exactly at the right moment, back when Angular 1.x was (by and large) "king of the frontend frameworks" - and then the Angular team announced:

    "Here we have a new version for you - now please simply COMPLETELY rewrite your apps from scratch!"

    ... and then Angular 2.x looked complex, heavy, clunky ... and right at that moment React came on the scene - simple, fast, lightweight ... and the rest is history ;-)

    P.S. I am (and have always been) way more of a Vue fan, I think it's vastly superior in all respects - but yeah, again "timing" - Vue arrived just a little bit later (too late), when React was already more or less "entrenched" ...

    History and "accident" determines so many of these things!

    • berlaga
      berlagaSep 16, 2024

      Agree with you completely. Vue is a winner for me!

    • Michael Amachree
      Michael AmachreeSep 25, 2024

      The same goes for Svelte. It lacked popularity, but, like Vue, if you use it after using React, there is no reason to go back.

  • Moshe Klienblat
    Moshe KlienblatSep 16, 2024

    Stop crying and start learning, you can say about anything on each program language, so if you are not filling you have a grip it's ok, but don't blame the programm language

  • cmohanc
    cmohancSep 16, 2024

    Loved it.
    I had a bite of the cotton candy and lost my teeth.

  • Rohit Singh Panwar
    Rohit Singh PanwarSep 16, 2024

    This article was so fun to read didn't bore me at all.

  • WORMSS
    WORMSSSep 16, 2024

    Won the race? Funny, it seems to fall over at the start compared to Vue..

    • Geoffrey Swenson
      Geoffrey SwensonSep 16, 2024

      You only read the title, the article including the title is utter sarcasm about how good react is.

      • WORMSS
        WORMSSSep 17, 2024

        I read it, you just assumed I didn't.

  • Adam
    AdamSep 16, 2024

    Astro is pretty cool, too. Their philosophy seems to be something like "can't we all just get along?" or the "why not both?" meme.
    Image description

    That way you can be equally confused by all of your components which is good, clean fun.

  • AhmadDeel
    AhmadDeelSep 16, 2024

    "but let’s be honest—you don’t have a choice."
    Well let's be honest, I worked with angular 2 and react, react was and is better to start and bootstrap the code of application at the start, but the state management and ui update loops in react are slowing you down until the app is too large that it's performance and maintenance is almost identical with angular.
    Sure for small apps like hello world, calculator, etc. It's the best; But for large and scalable app I would surely not choose it

  • Ashwin Perti
    Ashwin PertiSep 16, 2024

    Great 👍🏻

  • Ellis
    EllisSep 16, 2024

    Don't like it? Don't use it.
    Jeez.

  • Martin Baun
    Martin BaunSep 16, 2024

    React found a foothold in the corporate world, plain and simple.

  • Peter Vivo
    Peter VivoSep 16, 2024

    I am prefer React because the core ide is so simple: action -> state -> view; Whole code can write in a JSX/JS files in simple js code, don't need to learn any template languages.

    Try my 65 LOC State handling helper jsdoc-duck

    Yes I saw a tons of owerenginered React applications. I am agree keep your package.json as low as possible, my other advice is don' need to setup Tailwind instead can use 1 liner html, this is work with or without any framework:

    <script scr="https://cdn.tailwindcss.com"></script>
    
    Enter fullscreen mode Exit fullscreen mode
  • kory becker
    kory beckerSep 16, 2024

    Absolutely no answer to the question in the title. I thought I would be reading about why the conditions were especially ripe for React to gain market share over other frameworks, maybe about the demands of developers over the past decade and why the pros of React satisfied those demands. This is just a hard to read overview of React's most basic functionality.

  • Karthikeyan A K
    Karthikeyan A KSep 16, 2024

    Looks like the Author hasn't heard about HTMX

  • Igor Soloydenko
    Igor SoloydenkoSep 16, 2024

    Haters gonna hate...

  • Jay @ Designly
    Jay @ DesignlySep 16, 2024

    I've been a web developer for almost 30 years. I started when JavaScript was in its infancy. I've used every language and framework for developing web applications from JavaScript, to Perl, PHP, Python and now React and TypeScript. I'm perfectly capable of developing an application with nothing but HTML, CSS and JavaScript, but doing so on a large complex project would quickly turn chaotic. I depend on React for the baseline of sanity that it provides.

    I would agree that React is very complicated to learn. It does not use a programming paradigm that I am used to in my long career. But once you learn it, you really start to appreciate what it does for you. And they keep improving it with each new iteration (check out React Compiler).

    I think it's a positive thing that certain things are left out, like routing, for example. What if your app doesn't need routing? Why do you need to use filesystem routing for a SPA?

    Also, you are more than welcome to continue using class components if that floats your boat. Not everyone subscribes to the same coding style / paradigm. I personally think the concept of "clean code" is nonsense, but that's my opinion. I personally prefer kind of a hybrid of functional and limited OO programming. So react functional components and hooks work really well for how I code. That doesn't make either you or me wrong, it's just a preference. Sure one way or the other could have a minor impact on performance, but that's usually a matter of just using way too many dependencies.

    So even if React does suck, you offer no alternative. To my mind, the only alternative would be to return to pure HTML and JavaScript. I did try Sveltekit but I feel it does the same thing React does and interjects the same level of "convolution" that you accuse React of doing.

    Lastly, I disagree with your conclusion: why React won. The real reason that React won is because it has the largest package ecosystem. There are thousands of published NPM packages designed specifically for React. In fact, I've authored 2 of them. I'm not saying this is a good thing. In fact, I think people depend on way too many packages when taking the time to write a simple helper function would suffice, but I digress.

    • Alex Lohr
      Alex LohrSep 17, 2024

      you offer no alternative

      Vue, Svelte, Solid, Marko, ... there are a lot of feasible alternatives.

      The real reason that React won is because it has the largest package ecosystem.

      He already answered that argument. A whole lot of that "largest ecosystem" is deprecated and unmaintained. The ecosystems of other front end frameworks may be smaller, but are still better quality.

      The actual reason why React won is because managers believed that it would allow them to get away with less experienced developers and still being able to scale. Unfortunately, the foot guns included in react counter the scalability promises - especially if you hire less experienced devs and expect them to be architect and dev ops combined.

      • Jay @ Designly
        Jay @ DesignlySep 17, 2024

        The actual reason why React won is because managers believed that it would allow them to get away with less experienced developers and still being able to scale.

        What is your source for this?

    • Abraham Brookes
      Abraham BrookesSep 17, 2024

      I personally think the concept of "clean code" is nonsense, but that's my opinion

      Ah. Opinion discarded

  • subu hunter
    subu hunterSep 16, 2024

    Looks like we have a winner by looking at comments section.

    Vue 1 - React 0

  • Layade Victor
    Layade VictorSep 16, 2024

    I love how funny and informative your write-up is. I wrote an introductory piece like this a while back but for beginners in react. dev.to/avdev/reactjs-the-good-the-...

  • Audrius Aušrotas
    Audrius AušrotasSep 16, 2024

    well there is Vue.. i was tired of constantly changing next and went to learn Vue. and it is a nice framework.. i really do like it. now i am learning laravel and i love it too :D so maybe i will stick to laravel + livewire or vue.. so no react for me.. :D

  • Michael Bushe
    Michael BusheSep 16, 2024

    This is why I use Flutter. :)

  • Jesus Guerrero
    Jesus GuerreroSep 16, 2024

    Reasons react devs would say:

    • its cool
    • x startup use it
    • it pure js
    • its a library

    All lies 😂

  • Tanyaradzwa T Mushonga
    Tanyaradzwa T MushongaSep 16, 2024

    Informative

  • Ingo Steinke, web developer
    Ingo Steinke, web developerSep 16, 2024

    Don't judge a text by its headline! @pranta, can you please write another post about why AI is so great? Thanks for your post, it's much better than any Meme Monday so far!

  • sega sega
    sega segaSep 16, 2024

    ayooo naikan link saya ya sayang

    bukakartu.id/SENANG4DPASTI

  • JK
    JKSep 16, 2024

    This article 👌

  • Slavko
    SlavkoSep 16, 2024

    It's not russian doll, it's Japan

  • Erick Rodriguez
    Erick RodriguezSep 16, 2024

    This half-baked article made on chatGPT has tons of flaws...

    Where we start.... React applications cannot be even compared to Enterprise level applications made with Angular, Vue or Svelte, which are the best options for well-structured architected applications.

    I have seen over the MANY years I have in my belt as Software engineer and Architect how companies have thousands of foot guns on their codebase thanks to react careless way do things. And guess what: they pick Angular, or Vue or Svelte over React on their refactoring efforts. As a consultant I have been sailing this ship long enough to know where I need to go

    Now, this came as in prepandemic times, everyone and their grand mother went to bootcamps to learn REACT, not even JavaScript. So imagine the scenario where companies were demanding big results, so they hired everyone who at least knows how to parse JSON into some dumb components. Let's keep cooking... So Many people and few people really with the good knowledge on how to use React... Again all the code was build in the form of necessity: state Management? Redux or something else the neighbor invented 3 days ago. Need to intercept an Https Request? Use Axios for this necessity, and any other packages you find in your imagination for whatever unfounded reason.

    This created a big bloated set of dependencies in the form of flex tapes that you can slap in your react applications without any previous consideration. Devs were not trained about scaling a project properly, or make internal dependencies to be reusable, but F*** that. React applications after pandemic became horrid monolithic pieces of code that were practically a landmine wherever you observed. No patterns, nothing that can be properly used ... And that caused the dev market to implode. Next JS improved some of this situation, but you have to buy Vercel if you want optimal performance.

    With that companies started to see React with other eyes, as solutions were not only difficult to maintain, but also an eyesore for those in charge of maintenance.

    With less piñata devs on the market, companies started to again regain respect for proper architected software. Things on Angular, Vue and Svelte are quite solid, with a solid framework on each one of them to handle whatever you throw at them with the least effort as far it is well planned, tested and scaled.

    And recently Nx Framework became the beacon of unifying architecture approaches.

    With that, I can only say, that well architected applications uses Angular, Vue or Svelte as minimum. React apps ... Are react apps.

    A friendly slap in the face to wake up people that still think React won the race. The answer is nope, think again.

    Note: I know FEW, FEW counted people I can count with my fingers that are EXCELLENT in React because they understand what lies behind of the code they write. I don't think you might know how memory plays in React, or how referenced memory helps you when dealing with use effect...

  • Leroy
    LeroySep 16, 2024

    I think mostly it's because people have gotten so used to j query that react is just a natural extension of that way of working, personally hate j query and by extension, react. But it's not very hard to see the motivations

  • Nikolaus
    NikolausSep 16, 2024

    Use Flutter and forget about React Native.

    Like many frameworks and helpers, React Native works amazing and your developer will get a demo up and running in half a day of work, wow! Then you spend months, getting ever closer to shipping, when, at 90% an impossible thing arises; something that just can't be done in React Native.

    This is when the framework goes from saving time to wasting your time as you spend all your days working on workarounds for the limitations.

    In the past, also, RN would update the version and then everything would break - I imagine / hope they don't do that anymore, it was crazy. "Move fast and break things" indeed.

    Flutter is better than RN in every conceivable way - it's equivalent in fast prototyping, but never runs into limitations; it just works. It's the best thought-out mobile development platform there is, better than the native iOS / Android ones, and vastly better than react native.

    As a bonus you get a 90% mobile app look and feel, which is good enough that 90% of people will never notice it's not a native app. React Native always looks and feels like a web app - probably because it is at its core, just with native widget rendering.

    The other 10% - myself included - will notice it's not as smooth as a native iOS app but it's good enough, and it's just so much easier and faster to write it's worth it.

  • Elanat Framework
    Elanat FrameworkSep 16, 2024

    WebForms Core technology has entered the game to compete with React.

    The new WebForms Core technology was released three months ago and is a serious competitor for Front-End frameworks.

    Read more
    dev.to/elanatframework/using-webfo...

    WebForms Core VS Front-End Development

    WebForms Core is a server-dependent technology; usually, client-side scripts or Front-End frameworks request a page, web part, or service from the server using AJAX (or the Fetch method) (it is rare that they do not request from the server). In this section, we describe the advantages of using WebForms Core compared to client-side scripts or Front-End frameworks:

    Complexity
    Setting up Front-End frameworks can be complex and requires a deep understanding of JavaScript and the framework itself.

    In contrast, WebForms Core simplifies web development by allowing developers to focus on server-side interactions and control of HTML elements.

    Automated process vs micro scenario
    Synchronizing server-side development with Front-End frameworks is challenging because you have to create many server-side APIs for the server to respond to requests from Front-End frameworks.

    In WebForms Core, there is no need to create an API, and you provide all the responses in the Controller class or Model class on the server.

    Update and maintenance issues
    With every update of Front-End frameworks, many problems arise for the compatibility of the current project, and it becomes difficult to maintain the codes.

    Meanwhile, WebForms Core is responsible for the compatibility between the WebForms structure on the server side and WebFormsJS on the client side; therefore, the update does not affect the compatibility of the project.

    Frequent requests to the server
    Creating interactive pages with Front-End frameworks or client-side scripting requires that you make multiple requests to the server to get dynamic data.

    However, WebForms Core requests the server only once, and the server sends Action Controls commands, and WebFormsJS executes these commands one after the other.

    A different approach than traditional web development
    Developing systems with Front-End frameworks requires peripheral tools that are unlike traditional web methods and are hard to learn.

    But WebForms Core is an HTML-faithful construct, and based on form tag attributes, it submits data exactly as it would in HTML.

    Installing dependencies and complex configuration
    The incompatibility of dependencies in different versions and the need for complex configuration make the development of systems with Front-End frameworks challenging.

    Meanwhile, to use WebForms Core, just need to add the WebFormsJS script tag to the head part of the HTML page.

    Long development
    Development with Front-End frameworks requires mastery of JavaScript and internal structures (such as JSX), and the software development process is long.

    But development with WebForms Core is done quickly on the server side and there is no need for Front-End development.

    • tehmoth
      tehmothSep 17, 2024

      or just use htmx?

  • Ricardo Esteves
    Ricardo EstevesSep 16, 2024

    What an awesome article @pranta let me tell you, really enjoyed reading it.

  • Esteban Jimenez Ruiz
    Esteban Jimenez RuizSep 17, 2024

    Added to that, every day more tools based on react come out

  • Stephen Belovarich
    Stephen BelovarichSep 17, 2024

    Web standards won the frontend race because we all have to use them, they will remain baked into the web platform, are accessible by default, and are easy to learn.

  • Tony OHagan
    Tony OHaganSep 17, 2024

    Every time I contemplate using React I look at the coding patterns and think ... this is a technological step backwards. It would just frustrate me and waste my time to code this way that's more error prone and we now know also produces a slower rendering engine.

    Vue 3 with "script setup" and TypeScript is so much cleaner, clearer and simpler to read and maintain and thus more productive to use than the React hooks mess. Vue is also much easier to learn because its cleaner design is conceptually simpler. I've looked at the code of many React projects and estimated the volume of coding required to do the same in Vue and it's a no brainer - just avoid React!

    Vue has deep knowledge of state dependencies down to each part of a reactive state object which allows Vue's optimizing compiler to outperform React by minimizing re-rendering at the micro level. In React, you're forced to declare state dependencies while Vue safely deduces them removing a major source of bugs. It can also do dynamic state dependency analysis (needs an article to explain) that this lifts the optimization game another level.

    Vue 3's Pinia store also kills it again with a much cleaner and simpler shared state solution all based on Vue's smarter reactive objects, variables and computed functions. The fact that React has so many "store" solutions tells me no one is happy. In Vue 3, there's just Pinia now as its simpler minimalist design "just works".

    Do you know of any React UI component library with builders to create a single adaptive app that can be any of: Web/SPA, PWA, SSR, SSR/PWA, Desktop installable, a Browser extension and most importantly support iOS and Android and Web/PWA Mobile/Tablet devices ... all in one kit? I've found a nice SDK packed full of 70 very mature and feature rich components (Don't just count components, look at the feature details of each). The authors of this library have designed them based on input from an open source community for over a decade now, so they cover almost everything you'd ever dream of doing and stuff you'd didn't know you needed until your client asks for it. Why waste your time poking around with shacnd or similar when its already done, optimized, had years of testing and is ready for production use. All UI widgets in this kit support mobile touch events and mobile specific rendering avoiding the need to build a React native app. I wonder how much time React projects have wasted on this duplication. With this kit you can avoid this huge cost.

    And the price? It's fully and completely FREE. No not free for 30 days; not free tier and pro tier just fully free with no ads - relying on sponsorship only. This kit has heaps of other tools and utility functions and many other extras packed in. When combined with their builders, this means I can almost totally avoid dependency/upgrade hell as Quasar team maintain and test dependencies for me. I don't know of better documentation with nice working code samples for almost every UI component feature - a major time saver! No you don't need Nuxt either - That's just another set of dependencies to avoid. Yes, Quasar covers you for server side rendering (SSR) too!

    Escape React and enjoy Vue 3. Visit Quasar.dev.

    I'm just a happy user. I have no vested interests but I do sponsor this worthy open source project.

  • Benjamin Meir Khalifa
    Benjamin Meir KhalifaSep 17, 2024

    As a more UI developer, I see my co workers loving React also mostly because everything is in JS. CSS especially. They can't bear CSS. I find it... Horrible 😂. I much prefer Vue's approach.

  • Chandan
    ChandanSep 17, 2024

    Very informative Share 👌🏻👍🏻

  • sachin
    sachinSep 17, 2024

    I am not a react fan. It makes things complex than necessary if you don't use it well. It got popularized because the examples are simple enough for any high schooler to get started. There are many compile to js languages that work really well with react like clojurescript, rescript, and so on. This strength helps meta because they can use this and combine it with other rendering libraries specific to the hardware like for android, ios, virtual reality devices, web and many more. Because of this reason, meta continues to invest more into it.

    React is unlike other libraries which are more performant than react but are more linked to the hardware or ecosystem. Svelte and vue are more performant in web but they can work only with web technologies like html and css. Meta don't need extreme performance but need some thing that is good enough they can extend to any hardware. React perfects fits their usecase. If you are working on a product with a similar usecase react is your ally.

    But for anything else there are better alternatives available in the market.

  • Chibuzo Franklin Odigbo
    Chibuzo Franklin OdigboSep 17, 2024

    You will always come back!
    It is innevitable

  • Abraham Brookes
    Abraham BrookesSep 17, 2024

    React is utter trash there's no other way to say it. Even though Vue is far superior it's not even in comparison - React is trash in its own right. It is to javascript what wordpress is to php. When facebook released React they tried to dominate the sector by pumping money into advertising and conference sessions. So you want to make an app but you've never programmed before? Perfect! You're so clueless you'll never pick up on how backwards our approach is and you won't question our obviously poor system designs. That was their target market and the upshot is a community of noobs sharing un maintainable, broken libraries with no support. And this isn't just a hot air opinion. Check this out:
    React routinely releases core updates that ship breaking bugs.
    The state management library Redux needs multiple third party packages to get around known limitations.
    The implementation of jsx components precludes a lot of base language features particularly in conditionally rendering component parts.
    There is no unit testing library that is fully compatible with Reacts single file components due to the update cycle causing render cascades.
    Having used React, React-Native, Angular and Vue professionally, React is the laughing stock of the lot.
    Fanboying for React is a sure-fire way to tell everyone in the room you have no idea what you are talking about. I will never take another job on a React project and I will never hire a developer that raves about React.

  • Dimitri from Athens
    Dimitri from AthensSep 17, 2024

    Well spoken. Unfortunately, most front end devs do not know much about engineering and now we are stuck with this bad technology.

  • cbarsony
    cbarsonySep 17, 2024

    This is the stupidest article on React ever. Every single line is bullshit.

  • Anna Villarreal
    Anna VillarrealSep 17, 2024

    This was a very entertaining read. I appreciate it. I did smile a few times.

  • Lincoli Xavier
    Lincoli XavierSep 17, 2024

    VueJs looking: 😂 poor guy

  • Ronald van Raaphorst
    Ronald van RaaphorstSep 17, 2024

    Well, as a Hipster it good to see how you position React as the "winner" without any sources or reasons. To many developers and companies have invested in other technologies to let them disabandon their preference and jump on the React wagon, so I'll treat this article as clickbait.

  • Selim Koç
    Selim KoçSep 17, 2024

    ReactJS is only faster than Angular which is at speed level of a turtle.

    Try Tay and stay ahead of the curve.

    If you have a senior developer on your team, go with Tay and never look back. You will be better at JavaScript and programming thanks to TypeScript.

  • Tiago D'Herbe
    Tiago D'HerbeSep 18, 2024

    Simply put, what a great description of react. Kudos for the article and writing style.
    Thanks

  • Curious Developer
    Curious DeveloperSep 18, 2024

    Awesome article.
    So react is react today only because it's made and managed by big players and its unnecessary complexity ?

    Maybe it's also because there was a lack of batter options when React came ?

  • Matheus Rufca
    Matheus RufcaSep 18, 2024

    I see many comments in favor of Vue, and it’s funny. Years and years go by, and programmers keep loving to advocate for their favorite technology.

    The author wrote a good article full of ironies, listing reasons why React is what it is, and not necessarily good, certainly far from worshipping React.

    And then comes a bunch of people saying that Vue has all of this, and that it’s even better, and that it’s all a great injustice from programmers who prefer React. And they are so committed to defending their beloved tech that they ignore item 1, where normally in a list, the first item has priority. They complain as if the choice of technologies in a project is always a personal motivation, ‘why didn’t the programmer who started this project choose Vue?’

    Going back to the first item, who maintains Vue? How many of those who commented here contribute to Vue? And how many can guarantee that the volunteers will keep contributing?

    Project decisions are not necessarily made to please hipster programmers who seem unable to think beyond their screen. There are technical issues, there are scalability issues. If tomorrow a new framework comes out, better than Vue, all the Vue advocates will be loving their new JavaScript toy, which is easier to use and 5ms faster to render a Hello World. But what about the company that decided to use Vue and now needs to hire specialized labor?

    These are just two points that are not too difficult to understand as to why (which is very different from supporting) React has been used on a large scale.

  • Godwin 'Kachi
    Godwin 'KachiSep 18, 2024

    Honestly, as a newbie struggling with the decision to go for this or that, this post instead of giving clarity plunges one into more confusion 😀

  • Yohami Zerpa
    Yohami ZerpaSep 18, 2024

    React is horrible, moved to Flutter a while ago

  • eliel Douna
    eliel DounaSep 19, 2024

    Loved the article 💯

  • pratik thapa
    pratik thapaSep 19, 2024

    This article man a lot of arrogance react has won nothing it is just popular.popular doesn't mean better period

  • shmuel613
    shmuel613Sep 19, 2024

    I guess a lot of y'all don't remember, but React coincided with the horrific introduction and backstabbing of Google releasing Angular, which was infinitely more complicated than AngularJs and had zero backwards compatibility. A lot of devs jumped to React, which had licensing issues at the time. (I still don't trust Meta)
    The bottom line is that React is created and maintained for Meta. If it's good for Meta, it will be in React. Contrast that with libraries like Vue that are developed for the community.
    It's a shame that most frontend codebases are "stuck" with React. There are a few reasons for this:
    1) managers are idiots and don't want to update or change things that "work"
    2) developers are lazy and don't want to rewrite code that "works", no matter how hard it is to maintain or extend.
    3) there are more React jobs on the market than other frontend frameworks.

  • Amir H. Moayeri
    Amir H. MoayeriSep 20, 2024

    I work with both Vue and React and this is how I see it:
    Vue is cleaner in structure and easier to learn, React offers more flexibility during development.

  • Certification Support system
    Certification Support systemSep 21, 2024

    Hello there
    Interested in Passing all IT and none IT exams with no efforts
    PMP, azure, Salesforce, comptia, CCNA, CISCO and all others with just a click
    WhatsApp Link: wa.me/message/LKPTS55J4JT6H1
    Send us a massage

    No UPFRONT payment
    100% pass guaranteed and pay after pass
    Low cost for each exam cleared
    10yrs+ experience

    Disclaimer: Do not Text if being certified is not your Goal
    No time wasters

    Send us a massage now
    WhatsApp: WhatsApp Link: wa.me/message/LKPTS55J4JT6H1

  • Pranatosh Roy
    Pranatosh RoySep 21, 2024

    Good post. Great dichotomic way of writing.

  • CCBet
    CCBetSep 21, 2024

    I'm struggling to understand what's the actual purpose of your article, cause it's not serving either you or React very well.

    1. "and people will assume you’re a genius. Trust me, it works" (when talking about the Virtual DOM) -> you love React but you don't understand one of its main features and you're happy with being confused with a genius ... 👍

    2. "Because who wants a cohesive, opinionated structure when you can have the glorious freedom of picking and choosing your own routing, state management, and project structure?" -> Some of us do and there are plenty of reasons to go with something more opinionated especially if it's something very good, as Angular is (just one example). By the way .. the routing in Angular has so many possible configurations, you don't need 20 packages for routing to choose from, Angular has multiple state management tools and up to some app complexity point you don't even need them due to the beautiful RxJs, and especially since A14+ you can structure your project however you want. So ... again, not the best reasoning on your side ... 👍

    3. "Component-Based Architecture (A Fancy Way of Saying You’ll Be Writing HTML in Your JavaScript)" -> Component-Based Architecture has nothing to do with JSX. Angular has a component based architecture and it does not use JSX ...

    4. "Bonus points if your boss has no idea what’s going on and thinks you’re a genius for making such “sophisticated” applications" -> now you're a genius if you write complicated code (or at least code which seems complicated)? I would say, on the contrary, you might be a "genius" if you would manage to write extremely intuitive, clean, readable, reusable code for a complex functionality, not something which only you could understand just because it's spaghetti code or who knows how ... Dude ... At this point I'm not even sure if your article is a satire on React or yourself or not ...

    ..
    ..
    ..

    One of the most arogant and low quality articles I ever read. Congrats!

  • Codelab
    CodelabSep 21, 2024

    Hi there. as a mern stack developer, i launched my first web. Feel free to submit your feedback if it needs improving
    codelabs.uz/

  • Navinder Singh Mann
    Navinder Singh MannSep 25, 2024

    Ngl , svelte and vue have all these features and even better performance than react , why not use and praise them? I agree that react us industry standard, but we can also make efforts to make frameworks like svelte and vue also of that level

  • saeed jalinoosi
    saeed jalinoosiSep 29, 2024

    I disagree with you. Because:

    "Keep it simple!" which react made it unnecessary complex and sometimes confusing for new learners.

    "Don't get religious about technology!" which I found many developers are in favor of react with not enough reasons to back their opinions.

    For someone working with Vue and React for about a decade, I can tell that the only reason is the first point : It is backed by Meta!

  • dimkiriakos
    dimkiriakosOct 5, 2024

    6th position is winning?
    w3techs.com/technologies/overview/...

  • DiegoSt23
    DiegoSt23Oct 9, 2024

    Skill issue.

  • Gabriel Ibe
    Gabriel IbeOct 11, 2024

    The best post I've read so far😂😂

    Made my day 😂😅🙂

  • official_dulin
    official_dulinOct 12, 2024

    Image description

    Image description

  • BryteLitty
    BryteLittyOct 26, 2024

    React is a god you can't help but worship

  • anirudh7065
    anirudh7065Oct 30, 2024

    No one explained the pains like you did

  • Pantelis Papasavvas
    Pantelis PapasavvasOct 31, 2024

    I am working in React but started my journey as an Angular developer in 2014.
    I have never used Vue so I don't have an opinion on that.
    What I can say is that React has better marketing. That's why React won the race.

  • intermundos
    intermundosNov 11, 2024

    It has won cause masses are blind and have no idea what other tools offer.

    React is a naughty mess and I will never select it as a main tool for any project.

  • Helbin Rapheal
    Helbin RaphealDec 1, 2024

    Next up is Svelte and SvelteKit. They’re pretty awesome because they have a simpler syntax, run faster thanks to compile-time optimizations, and produce smaller bundle sizes. Svelte skips the virtual DOM, making updates and rendering more efficient. Plus, SvelteKit is great for building modern web apps with built-in routing, server-side rendering, and static site generation. It's definitely worth checking out!

  • syscomtech247
    syscomtech247Feb 8, 2025

    it just like jQuery

Add comment