7
MrMarco
241d

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
  • 2
    What else do you want to use?

    Imperative paradigm in vanilla js is pretty aweful and you end up with code spagetti. Same with jquery. Angular is like 10x worst, and vue is pretty much a light angular. On the other hand, JSX is super lightweight and easy to grasp, and so is the idea of turning components into function or keeping the whole state in one place.

    If you're putoff by the rest of the stack, which I can get (react-router is pretty aweful iirc, and so is redux), there are some other solution. Webpack is kinda hard to configure, but you can use parcel.
  • 1
    "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.
  • 3
    @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.
  • 0
    @MrMarco you haven't use it. React can be tricky, but is simple to grasp, tooling actually works. Angular have a thousand fucking features, is breaking at every upgrade, the tooling is fucking bad, you get retarded errors that says nothing all the goddamn time. Even without talking about architecture, the whole thing is half-assed.
  • 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
  • 1
    @MrMarco You know there's a reasons why people are doing more and more SPAs right? Namely, mobile internet, which is the standard in developing countries. Not everyone have a fancy desktop. Your website nowadays have to be accessible and that include connectivity issues.
  • 1
    @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
  • 1
    @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
  • 0
    @MrMarco it's simpler because it's using well-known paradigm, clumsily mixing OOP, imperative and reactive programming. It looks simple at first, but then you have to use it. React sticks to one way of doing things. If you don't like that way, that's ok but there's no need to belittle people who does.
  • 0
    @MrMarco Responsivity is not the only aspect of mobile experience.

    https://w3.org/WAI/fundamentals/...
  • 0
    Beside I literally never got errors message as idiotic as "Error: error" or good ol' segmentation fault using React. Can't say the same for angular
  • 2
    @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
  • 0
    I'd probably be faster writing your app in react than even configuring handlebars. Why would I learn / use yet another syntax? It's just a matter of habits
  • 1
    @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?
  • 1
    @MrMarco I do. It's fast easier to learn HTML and write clean HTML Code than learning react.
  • 0
    @ilPinguino Why on earth would I do that instead of using the tool I'm used to and using everyday? -_- gatekeeping much?
  • 1
    @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.
  • 0
    @ilPinguino you know what's faster? Exporting a .doc in html. Suuuuper fast. \s
  • 0
    @ilPinguino well if code quality is unrelated to the tool I'm using why shouldn't I use the tool I like?
  • 0
    @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?
  • 0
    @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
  • 2
    @MrMarco it's faster if you know what the fuck you're doing. Enjoy your callback hell.
  • 0
    @ostream Maybe you just don't know what you're doing in either jQuery or React u plugger
  • 2
    @ilPinguino "I do. It's fast easier to learn HTML and write clean HTML Code than learning react."

    Of course it does. My point is if you're looking for the easiest way to do thing just open a goddamn wix account.
  • 1
    @MrMarco hey fuck you too, you stupid bitch. What happened to "I Don't what to BelittlE AnyBody"?
  • 1
    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"
  • 1
    @MrMarco sure dude you're clearly superior and smarter \s fuck you.
  • 2
    @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.
  • 0
    If you don't like react, don't use it, simple. Nobody's forcing you. I love to use vanilla js in my side project, but in my proper job in a team with a sizable codebase, I'd kill to use react. And anyway there's no need to find pseudo-philosophical bullshit and even less to get personal with people because you don't like a goddamn framework.
  • 0
    @ilPinguino well if you can do it, do it, what do you want me to say?
  • 0
    "I think it mainly appeals to people who feel a need to prove they can do something "difficult"

    Imagine thinking a framework is a personality trait. Get a life.
  • 0
    @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.
  • 1
    React.js must die @ostream. React.js must burn
  • 0
    @ilPinguino ... the "\s" means it's sarcasm.
  • 1
    @MrMarco ooor you know, we could just not give a shit and all just use what we like?
  • 1
    Oh and for the animation, well, why on earth would javascript do that? It's 2020, animations belong in CSS.
  • 2
    @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
  • 0
    @MrMarco they're not that nice if they're using a framework you don't like and let their clueless managers make technical decisions for the devs.
  • 1
    @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?
  • 0
    I get your point, it depends on the project. If it's sizable project with a lot of interaction or targeting end-users, it could make sense. If it's making fulfilling one mission only and is mostly backend and to be used on the desktop, yes, it's not really necessary.

    At the end of the day, teams should be able to decide for themselves. If they want to use React because it's new, prototype because it's old, angular because it's google or vba because it's excel, who are we to judge? Software are meant to be used, not written.
  • 0
    @ostream Yeah except if they want to react then they must die
  • 0
    @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.
  • 0
    @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.
  • 2
    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
  • 0
    @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.
  • 1
    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.
  • 0
    @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...
  • 2
    @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...
  • 0
    @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.
  • 0
    Stay in topic friends, we are here to kill react not JS.
  • -1
    @xo-xo so what you're saying is "fuck your stack is bad. Oh and by the way my stack is valid and anybody saying otherwise is stupid"...

    Grow the fuck up
  • 0
    @MrMarco it's not well-designed because it's not designed at all, it grew up organically and pragmatically from the browser editors, not from your little elitist academia. Web programming was meant to be for everybody. Look up what Berners Lee was trying to do. JS is a mess simply because it have 10 times the reach of any other language.
  • 0
    And yes I would love to re-write the entire world wide web using a more modern language. Good luck with that though
  • 0
    @homo-lorens Because they were idiots
  • 0
    @ostream It grew organically from your arse hole
  • 1
    @ostream stop taking bribes from zuck.
  • 0
    @xo-xo i wish. I just bought a goddamn book and then read the docs, I felt comfortable in a month or so. Maybe try that?
  • 1
    @ostream book written by zuck, of course.
  • 0
    @xo-xo you're a goddamn idiot aren't you?
  • 2
    @ostream says he who prefers react
  • 1
    @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.
Add Comment