8
MrMarco
4y

So when are all of you going to admit that React.js is useless? It's awful and miserable and doesn't do anything it promises to.

It's not faster to write code, it's not cleaner, it's not easier, it's just a ton of boilerplate and it can't even handle simple animations.

If Facebook didn't create it, everyone would think it's ridiculous and stupid.. Because it is.

Stop trying to be cool and just fucking deliver fucking business value.

Comments
  • 0
    "Angular is 10x worse"

    I totally disagree, but then React and Angular do not solve the same issues, and should not be used for the same applications. There are some projects where React is a good choice and others where Angular is a good choice. Don't know much about Vue, but I believe it can be good in projects where Angular would be a good choice.
  • 3
    @ostream To be honest, plain old jQuery with server-side generated HTML is much better in my opinion. As a paradigm, it doesn't sound like it should work but it just does, and it's much easier to change.
    Literally the only problem with this is that the world is moving away from it - Becuase nobody wants to admit that React.js is stupid because nobody wants to sound like they "don’t get it". It's bloody childish and idiotic
  • 1
    @nibor I also disagree with @ostream that Angular is worse than React. I have only used Angular briefly, but I found it much simpler and cleaner than React.
  • 4
    @MrMarco Have you tried taking on a jQuery project and trying to figure out where things are handled? It's a game of whack-a-mole.
  • 1
    @homo-lorens If you organize your tags properly and unobtrusively, it's never an issue. If you want to find where a certain behaviour is handled, you just search the tag
  • 0
    @ostream So I'll admit that I don't have solid experience with Angular, but I can speak to react - The changes are also rapid and breaking, the component lifecycle keeps changing and it never seems to work perfectly.

    When I saw the component lifecycle for the first time I was excited because I thought it would provide convention to how things are done, but it just never has - Each company and each developer uses it differently because it's so confusing
  • 0
    @ostream What does SPA have to do with mobile? Responsive design can be applied regardless of whether you use an SPA or not - In fact, I think components make it even harder to plan for responsive design
  • 3
    @ostream Ok so I don't want to belittle people for liking something, so I am sorry about that - But what my rant is really about is that it takes AGES to develop something in React.js - I am just tired of people pretending it's the "new" better and faster way of doing things when it is not - It's highly experimental and it's fine if you "like" it but it's not fine to say it speeds up development.

    I will believe no developer that says he can write an application faster in react than with erb/handlebars and jQuery
  • 2
    @MrMarco This.
    Make a good server side API (if you need it in the first place) and use Bootstrap and jQuery for the front end.

    If you can write clean, readable code, you'll be in the clear. Even if you're using something as ancient as PHP for the server side.

    If you can't do that, you missed a key skill for a developer in the first place and react, angular or anything else will just make that problem a lot worse, partly by disguising that fact, and partly by encouraging complexity.
  • 1
    @ilPinguino So you agree with me then?
  • 2
    @MrMarco I do. It's fast easier to learn HTML and write clean HTML Code than learning react.
  • 2
    @ostream Gatekeeping? Not at all.

    But if you can't write clean code, no framework will solve that problem. And sooner or later, it will give you trouble, either with your team, or yourself.
  • 1
    @ostream The HTML that produces is a pig's breakfast, it doesn't conform to standards etc.

    Beside that, what's that got to do with writing clean code?
  • 1
    @ostream You still can't tell me in all honesty that it's faster to develop in React than jQuery. Not in the short term, not in the long term
  • 1
    @ostream Maybe you just don't know what you're doing in either jQuery or React u plugger
  • 3
    It's okay to learn something difficult if there is any kind of reward. React.js is so unnecessarily complex that even the best developers cause bugs, twitchy and dull UI, and they are slowed down a lot - I think it mainly appeals to people who feel a need to prove they can do something "difficult"
  • 3
    @ostream What does that have to do with anything?
    I can do everything that one can do with react in plain old jQuery.
    On the other hand, there is a load of limitations to Wix that neither JQuery nor React packs.
  • 1
    @ostream I do. And I earn good money doing it.

    You're the one going around recommending unsuitable tools for my job. There's a reason my clients don't go use Wix, or don't just have the kid next door set up WordPress for a fifty, or go "Save as HTML" with a Word document.

    All good systems, but they have limitations. Sometimes, you just need the flexibility and performance that only building your own stuff gives you.
  • 2
    React.js must die @ostream. React.js must burn
  • 3
    @ostream Well whenever I want to join a nice company they use React.js - It's a sickness I'm telling you. It's not even the devs anymore but some clueless managers that have been appointed and suggest we build a "modern" frontend using React because they have heard it's the new in-thing
  • 2
    @ostream You said yourself it's not ALWAYS the best for any projects - I have literally seen teams decide to use React just because it's the new thing. Don't you also disagree with this mentality?
  • 1
    @ostream Yeah except if they want to react then they must die
  • 1
    @ostream svelte, stencil, any other framework supporting hyperscript and the JSX flavor.

    Rollup also exists. Pretty easy to work with, transparent, highly flexible and easy to write plugins for.
  • 0
    @MrMarco You are less flexible with the old method of jQuery and Server side HTML.

    Same code can’t be deployed in different environments like electron. Hard to implement discrepancies between client-side and server-side features while maintaining the same business logic.

    And personally the biggest hate, the backend includes Frontend logic - like HTML templating.
  • 1
    @bagfox So in my opinion, when you need to adapt frontend logic to backend changes, this work needs to be done whether in react or jQuery. But if anything in terms of data structure changes and you are using REDUX .. All hell breaks loose. I'm sorry, it just is absolutely too much work and I find it pityful if anyone denies it.
  • 3
    Can we all just admit that JS as an entire ecosystem sucks?

    - The frameworks suck.

    - The toolings (Webpack, Babel, Browserify etc.) suck.

    - The bloated af libraries (eg. jQuery having a lot of shit I don't need but jQuery slim lacking some stuff I need).

    - The shittonne of packages that rely on 1337666 other packages suck.

    And yes... I'm a JS dev :^)
  • 1
    @FinlayDaG33k Absolutely 100%. Believe it or not, there are retards that even disagree with this (I posted rants about JS before)

    It's a scary thought that there is a language behaving as shown in the picture below, and there are people that walk amongst us, that thinks it's cool.
  • 0
    Coming from C# and java I find react in combination with type script is quite refreshing. Took me a while to understand react fully and after constantly using it over a year or so I still get stuck. I find that is mostly down to my inherent reluctance to learn new things.

    Its possibly mostly because of ts rather than react itself but you can now think of coming up with an entire front end without giving much thought about the backend. In the days of vanilla js, it could still be possible but every change meant back end and front development teams merrily exchanging death threats with each other.

    I did undergo the pain of packaging product both in angular and react. But really that is again because I did not want to learn webpack/percel.
  • 1
    @Paradox I can't believe you think that the issue is with yourself instead of React.js. It's not you!!! Let me tell you, nobody know what the hell they're doing in React but everyone is too proud to admit it
  • 1
    @MrMarco agree. Redux is rarely a good choice.
  • 0
    I'm gonna use anything to earn money, got mouth to feed...
  • 1
    @ostream Jeebus! People's computer is their fucking phone!? That is terrible. The computing experience on most phones is absolute shit. Respect to anyone that can actually get work done on one.
  • 2
    Fuck react.
    Vanilla and JQuery are still valid stacks. People who claim otherwise are just bad programmers with bad habbits, maybe learn using "es6 import" for a change in your miserable life?
  • 2
    @MrMarco sorry but you obviously don't understand serious web development. I'd prefer vue over react, and yes some parts are overly complicated (redux).

    BUT if you think jquery/vanilla JS is better for anything but adding a few button handlers to some html, then you're delusional.

    It's not about wanting to prove anything. I learned html/js/css and then, quite a bit later vue. I tried both, and i can tell you that what you're feeling is simply not understanding it. Once you do, you won't ever want to go back.
  • 1
    @eval amen to that. I think Marco gets paid by facebook to promote react.
  • 0
    @MrMarco Yea... JS as a language is also wonky...

    The eco system is wonky as a result as well...

    Also, this...
  • 3
    @FinlayDaG33k If you pass anything but a string literal to typeof you deserve what you get. This is like calling C++ out because you can
    #define true false
    There's no reason for you to do it so there's no reason for the language to prevent you from doing it.
  • 0
    @homo-lorens So basically you say: "don't use typeof at all"?

    Because if you pass a string literal to typeof, it defeats the entire purpose of typeof because you already know it's gonna be a string...

    It's nothing like "#define true false" either lmao (i don't even know how you came up with that conclusion)

    Typeof returns the following ways:

    ```

    typeof 1; // "number"

    typeof 'test'; // "string"

    typeof true; // "boolean"

    typeof []; // "object"

    ```

    Why the bloody F does it always return as a string instead of the datatype itself...
  • 1
    @FinlayDaG33k Sorry, I meant that you shouldn't conpare typeof with anything but a string literal.
    If it weren't a string, what would this yield?
  • 0
    @homo-lorens
  • 0
    @homo-lorens Well, it should just return the type right?

    ```

    typeof 1; // number <-- a number type

    typeof 'test' // string <-- a string type

    typeof true; // boolean <-- a boolean type

    ```

    mainly because then it would give a more consise way to read the code.

    making typeof return a string is confusing and doesn't really serve a real purpose either...

    Sure, you could argue: "But just make sure you always check it as a string" but that's imo just lazy design from JS....

    I can't really name any other language that does this either...
  • 0
    @FinlayDaG33k Okay, those words just don't exist in JS. Are you talking about Number, String and Boolean (which are objects)?

    If so, typeof null == undefined and vice versa.

    You could say that we should be using ===, but why do that when you can use string literals for which equality behavior makes sense to begin with?
  • 0
    Oops, I mixed up typeof behavior
  • 0
    @FinlayDaG33k OK, I just checked the table and you seem to have a point as none of the "sensible" return values equal each other in loose comparison.
    I think the reason has to do with how events are indexed by strings, so the standard for enums became string literals and engines got optimization for them.
  • 0
    @homo-lorens You seriously trying to argue JS is a well designed language? I bet not even the idiots who designed it in one week would do that
  • 0
    @MrMarco No, I'm trying to figure out why they preferred string literals to enums.
  • 1
    Stay in topic friends, we are here to kill react not JS.
  • 0
    @homo-lorens Because they were idiots
  • 0
    @ostream It grew organically from your arse hole
  • 2
    @ostream stop taking bribes from zuck.
  • 1
    @ostream book written by zuck, of course.
  • 2
    @ostream says he who prefers react
  • 2
    @MrMarco js has its quirks for sure but complaining about IEEE 754 standard floating point behavior (the 0.1 + 0.2 != 0.3 thing) is just ignorant. It's like that for a very good reason.

    Also, organic growth *is* the problem with JS. Maybe you want to read up a bit more on its history instead of just calling people idiots.
  • 0
    @lorentz It is like a game of whack a mole yes, but so is React.js
  • 0
    @MrMarco Did you, like, ever use React even for just an hour? The entire framework is about explicit names and explicit relations. Every relationship can be traced by searching for references to the current component or hook or what have you.

    jQuery is built around Observer which is perfectly opaque. You can't even reliably locate where an event is triggered assuming invariant DOM, but all of the handlers are tied to the current instances of the nodes and any jQuery call can spontaneously drop any node and replace it with an identical-looking node that no longer has your handlers because the guy who wrote that command wasn't aware of every line in the entire codebase and it's impossible for them to recognize their mistake.
  • 0
    I completely agree. Angular is the only true framework that offers excellent support for RxJs, Typescript, and SCSS, which are crucial for dealing with complex reactive states, event-bus, and async handling. Unlike React and Vue, Angular has these features built-in, and we don't need additional libraries to manage such complexity, which demonstrates how poorly designed they are.

    Using Typescript and SCSS allows us to write error-free code, and Angular also provides better utilities like the Reactive Form module, Routers, and Singletone classes, as well as improved code splitting. Unlike Vue, everything in Angular is a literal object, and there are no proxies involved.

    If someone is boasting about React, it's a clear sign of low IQ as they can't even create a simple application using Vanilla Typescript and native web APIs. What benefits does React offer? Nothing. We don't require a framework to update DOM reactivity. and we definitely don't need a VDOM 95% scenarios
Add Comment