React is Holding Me Hostage!!! | Prime Reacts

Поділитися
Вставка
  • Опубліковано 27 бер 2023
  • Recorded live on twitch, GET IN
    / theprimeagen
    MY MAIN YT CHANNEL: Has well edited engineering videos
    / theprimeagen
    Discord
    / discord
  • Наука та технологія

КОМЕНТАРІ • 252

  • @wlockuz4467
    @wlockuz4467 Рік тому +104

    The biggest problem so far with React is that its often advertised as beginner friendly when in reality its not. You should only learn React If you can sit through understanding its APIs and the motivations behind them. Once you do that you'll realise its like using any other library.

    • @A--_--M
      @A--_--M Рік тому +4

      EXACTLY

    • @MichaelWalmsleyJr
      @MichaelWalmsleyJr Рік тому +4

      Agree! Wrapping your head around useEffect, useCallback, useMemo dependencies ... and how re-rendering works etc. jQuery was much simpler for beginners!
      And conceptually... VueJS is much simpler.
      I haven't used Solid beyond basic tutorials... so can't comment there.

    • @jcs184
      @jcs184 Рік тому +1

      Among all the whining, this is the only comment that makes sense. Yes, it's not as beginner friendly as some other frameworks. But it's definitely worth your time and an enjoyable career if you truly like clean frameworks.

    • @OneGuyWolfpack
      @OneGuyWolfpack Рік тому +1

      I've never heard it described as beginner friendly. Whoever said that must be trying to sell their code camp course

    • @wlockuz4467
      @wlockuz4467 Рік тому +3

      @@OneGuyWolfpack I have seen it done directly and sometimes indirectly. I have even seen some advice which said you don't need to learn JS to start using React, which is just horrible advice.

  • @ricardomonge2769
    @ricardomonge2769 Рік тому +261

    At the end of the day, the problem is Javascript. There will be a new React in the years to come, and people will be whining again on medium articles.

    • @ThePrimeTimeagen
      @ThePrimeTimeagen  Рік тому +121

      these are facts

    • @arson5304
      @arson5304 Рік тому +6

      new react is solidjs

    • @A--_--M
      @A--_--M Рік тому +25

      As a rookie dev, I found react to be unintuitive, half-baked... Always needing more and more dependencies to make simple features work.

    • @arson5304
      @arson5304 Рік тому +2

      @@A--_--M like what

    • @kevin.malone
      @kevin.malone Рік тому +7

      Solid has entered the chat, with Qwik and Astro waiting behind it.

  • @DanielGomez-kx9ov
    @DanielGomez-kx9ov Рік тому +212

    at this point in time, the truth is that using react is like having stockholm syndrome. I have tried using Vue and Solidjs and it is spectacular. But in my company they only use react, and honestly I've been writing react for so long that when I use something else (although it's enjoyable) I feel like I'm developing slower. I don't know, it's confusing. We have to go to therapy

    • @pxkqd
      @pxkqd Рік тому

      We just need some brave souls putting their foot down and just telling their manager the app's moving to solidjs. "Don't worry, it uses JSX, looks very similar to react, any react developer will get it immediatly. It's just better in every way"

    • @captainnoyaux
      @captainnoyaux Рік тому +15

      It's normal if X is faster to develop than Y, if you have 10 years of XP in Y you'll be faster with Y at least for a certain time.

    • @Chris-se3nc
      @Chris-se3nc Рік тому +5

      What’s the value of the constant P?

    • @olivermolnarpublic
      @olivermolnarpublic Рік тому +3

      @@Chris-se3nc Not sure whether your questions is sarcasm. Anyway, XP stands here for experience.

    • @MichaelWalmsleyJr
      @MichaelWalmsleyJr Рік тому +3

      I've used React for my job for 2.5 years to build a highly interactive app. The more I use react, the more I love VueJS.
      I've never spent so much time debugging race conditions in code. My team are all junior and intermediate devs. I wonder if react experience is different with a team of seniors building a slightly less interactive app??

  • @krycekaiolfi
    @krycekaiolfi Рік тому +26

    Being a Vue developer, articles like that makes me even happier I had chosen Vue a long time ago. I have never had to fight against the framework when the project scales in complexity. That's something I never had when using jQuery, qooxdoo, angular, ember. Primeagen should make a video with Evan You, it would be sooo interesting to watch.

    • @TruthAndLoyalty
      @TruthAndLoyalty 7 місяців тому +3

      While I used react first, it was short lived between jquery and vue. I jumped ship and started using vue in production in 2016. Fast forward, now I'm working in react(not my choice) and I'm genuinely appalled by it. It's like nothing has been learned. It's different than it was, maybe simpler in superficial ways, but it's not fundamentally better

  • @arafatzahan3697
    @arafatzahan3697 Рік тому +2

    Once thing is certain, I really like your energy, ThePrimeagen! Keep up the great content.

  • @mechantl0up
    @mechantl0up Рік тому +9

    Vanilla JS/TS and Web Components. Do the DOM yourself. Performance goes through the roof. Everyone’s happy.

    • @CulturalArcher
      @CulturalArcher 7 місяців тому

      why people don't do it ? vanilla is better though. and It is faster too

  • @benmeuker4921
    @benmeuker4921 Рік тому +12

    React-dev say they want the render-function to be pure: `ui = f(state)`. In my opinion this is 100% true and 90% irrelevant. The hard part is to change your state on event emission, so that it stays synchronized, rendering is 'easy' (that means that there is knowledge on how to do that efficient). To help with that solid separates its state in two parts: State and Derived-State. Your ui has then the relation `ui = fn(state + derived_state)`. When State is updated any Derived-State will update automatically, and once that is done you can render. React does not have derived state as a first class concept. It can simulate it by rerunning your component and recomputing every local variable (with optional caching), and declare these variables as derived state. But it is a simulation and the underlying mechanisms leak and now they start to stink.

  • @RicardoValero95
    @RicardoValero95 Рік тому +39

    People love jsx, not react, they just don't know it yet

    • @justpatrick_
      @justpatrick_ Рік тому

      Yeeeees

    • @Fernando-ry5qt
      @Fernando-ry5qt Рік тому +1

      @toast I grow quickly tired or template composition with angularJS, like jsx better due to the collocation of related state and output

  • @ristekostadinov2820
    @ristekostadinov2820 Рік тому +11

    1:15 Jquery was useful when js was shitty for handling async data and the selectors were shitty, after those things were fixed they didn't really pushed for something game changing and they existed for years as a dependency in Bootstrap 🤣

  • @vlasynca37
    @vlasynca37 Рік тому +19

    i love vue man, but finding jobs in it is hard. i'm trying to jump companies and there are like 10x less jobs, unless you're really experienced developer you're really being punished for liking not-the-mainstream-framework.

  • @mixed_nuts
    @mixed_nuts Рік тому +19

    I hope you can dive deeper into svelte/sveltekit. I wanna see a deep dive take from you of it vs SolidJS

  • @driden1987
    @driden1987 Рік тому +2

    "When you use something try to imagine how you would implement it" - I do this with most software I use, It's the same curiosity that bites when I hear music I like and _attempt_ to play it on my guitar.

  • @joseandkris
    @joseandkris Рік тому +37

    I'd like to see something really complex or real world built with solidjs, not just their docs site :)

    • @peanutcelery
      @peanutcelery Рік тому +6

      I would like to as well. With React, most complicated ui websites have React and i always wonder how would it run without having to constantly run a million functions for each each ui change lol

    • @aquaductape
      @aquaductape Рік тому

      Actually there are complex stuff built with solidjs, such as zapp, a sandbox for building dart and flutter applications inside the browser page. There's asciinema player which is a web player for terminal session recordings, it's most notable feature is the ability to copy-paste terminal content, it's just a text after all! The virtual terminal interpreter uses Rust, while the views (UI or frontend of player) uses solidjs. Another project is aoe4 explorer, has useful visualization and UI to explore units, their stats and abilities and all possible upgrades and technologies for Age Of Empires 4. Lastly CodeImage, similar to carbon, where you create and share beautiful images of your source code snippets.

    • @ehsankhorasani_
      @ehsankhorasani_ Рік тому

      @@peanutcelery still running millions interconnected signals ( functions )

    • @aakarshan4644
      @aakarshan4644 Рік тому

      @@peanutcelery maybe they are not using hooks at all and imposing some mvc -esque design pattern to separate purity, impurity and UI etc

  • @tonimaunde
    @tonimaunde 11 місяців тому +1

    On the form's being hard, Remix did a good job reminding and teaching new folks that we rarely need to control our form inputs.

  • @bluursito7241
    @bluursito7241 Рік тому +4

    I'm currently doing Angular at work, and i've done VueJS for class projects, the thing is, i'm developing with some mates the last project for class and i'm in the front-end with React, i cannot even describe how i was feeling while learning how React worked. It feels so much more complicated, and even with Typescript and Angular i feel more comfortable than with react.

    • @mrgerbeck
      @mrgerbeck 11 місяців тому

      Glad you like it but Angular is absolute garbage for me.

    • @FredoCorleone
      @FredoCorleone 2 місяці тому

      Last version is so much better

    • @FredoCorleone
      @FredoCorleone 2 місяці тому

      I mean the last version of Angular

  • @666samurai_
    @666samurai_ Рік тому

    This just helped me dedub an application for work lol. Cheers Prime

  • @MrTgaffaney
    @MrTgaffaney Рік тому +6

    You say you hate the take that “fast enough is good enough” but you earlier said you don’t really bother memorizing in Solid because it’s fast enough.

  • @BusinessWolf1
    @BusinessWolf1 Рік тому +1

    14:05 This is the default mode my brain is in all the time. Can't turn it off, only recognise it and switch thoughts. The moment I see a feature that stands out in a game or just attracts my attention, or something on a website, etc. my mind starts working out how it could be made.

  • @danbizirean4196
    @danbizirean4196 Рік тому +24

    I use Vue 3 at work and it's so easy to maintain.

  • @daniel-wood
    @daniel-wood Рік тому +48

    Everytime I watch a React video, I am reminded why I avoid front-end/full stack like it's the plague

    • @lukivan8
      @lukivan8 Рік тому +3

      I mean, why? I haven’t felt like this. And I was back-end dev for almost 2 years before shifting to full-stack

    • @precisionchoker
      @precisionchoker Рік тому +11

      I always hated frontend until I found svelte

    • @daniel-wood
      @daniel-wood Рік тому +1

      @@lukivan8 Whereas most languages have edges cases and hidden pitfalls you need to watch out for, Javascript feels like a language composed entirely out of edge cases and hidden pitfalls

  • @wilkyarny3012
    @wilkyarny3012 Рік тому +3

    Signals is now everywhere, preact, angular and so on... They all follow the lead of solidjs

  • @moodynoob
    @moodynoob Рік тому +58

    I'm not sure whether React is inherently more difficult to learn or whether new devs have holes in their JS understanding - I found in my React journey, the better I understood JS, the easier it was to understand React.

    • @claritise
      @claritise Рік тому +55

      Most new developers I feel are skipping learning js and going straight to react.

    • @DubiousNachos
      @DubiousNachos Рік тому +4

      I think that it's a bit of both. I think it's possible for someone to be an absolute expert in JavaScript - full understanding of the event loop, no confusion about closure, the works - and still be thrown for a loop with React.
      React is increasingly becoming more of a black box. Whenever you use a hook, you just expect the state associated with it to persist across renders "somehow". To get the most out of rendering performance, you need to have a full, through understanding of what does and doesn't cause a re-render (especially when context gets involved). You have to be mindful of how you're defining non-primitives and whether changing values could cause all memoization to break (especially for seemingly innocuous things like the children API). You also have to be aware of when effects run, and make sure you don't run into timing issues. If you're on board with the React team in minimizing the use of useEffect, you suddenly have to be aware of previously-niche things like calling a state dispatch directly in the render logic, to make sure the current render gets discarded, and immediately re-runs with the updated state.
      I think one of the things that might be contributing to the sense of grumpiness is a disconnect between how React presents itself, and how it's actually being used. React always promised to be based in functional programming, but even back in the day, they were stretching the definition of it by including state in things. Now it feels like you have to keep getting more and more imperative with your code to keep things performant, but the tools you're working with are still couched in this franken-functional approach, and it's just painful.

    • @peanutcelery
      @peanutcelery Рік тому +1

      This. I see a lot of “React problems” but are problems made from people that don’t understand how JavaScript works. Also, a lot of people don’t read the docs. Create memos and useCallbacks everywhere, when the docs say they should be last resort.

    • @moodynoob
      @moodynoob Рік тому

      ​@toast svelte has an entire section devoted to templating and directives, as well as special syntax - how is this not its own language?
      That being said, I'm not saying one is better, but I'm glad that good alternatives exist for those who don't enjoy React's philosophy. Personally, of the newer frameworks out there, only SolidJS appeals to me.

    • @matthewwoodard9810
      @matthewwoodard9810 Рік тому +1

      I can speak to this a little. I have only been coding about 2 years. About 3 months in, I’d been working with JS for about a month and a half. I decided to jump straight and build an e-commerce site for my mom with react. It took a month, but I got it done, and I’m proud of it, but it nearly broke my brain. At the end, I wasn’t even sure what was react and what was JavaScript . Making anything else was extremely difficult. I decided to go back and just do JS. That’s all I did was drill JS fundamentals for 4 months. When I went back to react it was sooooo much easier

  • @axryuk
    @axryuk Рік тому +1

    he always says "let's see" when he reads its kinda funny

  • @EmNudge
    @EmNudge Рік тому +4

    Thanks for the read!

  • @grim.reaper
    @grim.reaper Рік тому +2

    Where can I find the link to the article, it's not in the video description 🥺

  • @Mouradif
    @Mouradif Рік тому +2

    Well, for those of us who discovered modern front-end with AngularJS when it came out, 3 years before React, sorry but never went through the square "react is awesome". Vue on the other hand, really felt like the best of both worlds to me

  • @sillysquirrel9979
    @sillysquirrel9979 Рік тому +9

    prime if react content holding you hostage blink twice in the next reaction video

  • @SatoshiCommentorto
    @SatoshiCommentorto Рік тому +2

    "Spend time thinking about how you would have wrote it". But that's the problem Prime. I wouldn't have written this dev experience upon anyone.

  • @hellelo.5840
    @hellelo.5840 Рік тому +1

    A language or a library or a framework can't hold you hostage but the industry and the community around it do, because you can't avoid a technology if everyone is using it.

  • @user-es9ue6hk4y
    @user-es9ue6hk4y Рік тому +1

    @ThePrimeTime Looking for a video/stream where we see discussion on GRPC

  • @dovh49
    @dovh49 Рік тому +5

    I find using something like HTMX is really easy to do and can take you a long ways. For interactive pages add in web components. For highly interactive pages use a front end framework or create a flow yourself.

    • @jessejayphotography
      @jessejayphotography 11 місяців тому +3

      HTMX is taking the purist direction and sticking with the fundamental concepts of Hypertext instead of beating everything to death with JavaScript state component hell.

  • @FrederikSchumacher
    @FrederikSchumacher 11 місяців тому +1

    Forms in React are really a conceptional nightmare. A DOM input element already has it's own state. It holds the value in state, and it must hold the value in state, because its functionality is unrelated to frameworks and must work even for unscripted forms. For most forms and inputs, there's no need to write React controlled inputs. It's sufficient for most forms and inputs to use onSubmit handling along with named submit buttons. A form.onSubmit handler could be as "simple" (and I'm being sarcastic here) as
    ev.preventDefault(); setState(Array.from(new FormData(ev.target)).reduce((a, [k, v]) => (a[k] = v, a), {}))
    The biggest issue with this approach: this fails for complex forms for managing nested data. A few additional minor inconveniences are how it requires setting the input[name] and using [type=submit] buttons, and appropriately preventing the DOM default behavior of onSubmit.
    Unfortunately, fixing/changing the DOM behavior of HTML forms is out-of-scope for React developers and React users, or even anyone else for that matter. The W3C seems violently opposed to introducing any change in any practical and sensible manner, and especially when such a change would benefit the HTML/JS ecosystem as a whole. There's some kind of reasoning for backwards compatibility, but this seems more like cultic chanting than actually sensible reflection - without JS and frameworks a huge amount of todays www would simply be non-functional putting the usefulness of supporting such clients in question. Not sure why the W3C created versioned drafts and versioned standards, but never bothered to create a versioning draft and versioning standard for capability checks of clients. Obviously, because it's way to useful and practical.

  • @szymonbaranowski8184
    @szymonbaranowski8184 11 місяців тому

    solid analysis

  • @ScientifikX1
    @ScientifikX1 10 місяців тому

    I have a question about the memoization statement around 18:50. He says that using a Hashmap for Memoization is less performative than using a list and iterating through it. From a big O perspective isn't using memoization with a hashmap a time complexity of O(1) with a space complexity of O(N) while iterateing through a list O(N) with a space of O(N)? How could iterating through an entire list be faster at least from a big O standpoint?

    • @gavipk
      @gavipk 10 місяців тому

      like he says, hash maps have to resize. hash msps have some non trivial hash function involved. Collision mitigation. etc. Hence possibly not faster than an array type of collection when it comes to small sets. It really depends on the particular implementation of those things in the medium at hand, which in JS are well under the hood, as well as the specific use case. Big O is a broad generalization but here he's talking about the possibilities of specific circumstances outside of generalization.

  • @shubhambhattacharjee1111
    @shubhambhattacharjee1111 Рік тому

    Honestly from start I liked jquery more than react. Although I had only learnt of class components in react, which I didn't liked the broiler plate of. And even with hooks I could never be as comfortable as I'm with jquery, and will still use fair amount of jquery with ref. But svelte for me was and is magical it's everything I would have wanted react to be. Hooks innitially seemed fun, before hooks put me through hell and back just to understand why a piece of code was either not running or running too many times.

  • @spoqpedwabe7499
    @spoqpedwabe7499 4 місяці тому

    Guys somehow AlpineJS is "almost react" but it does everything with like 4-5 html tags ( most of time ).... that cant be any simplier

  • @curtispreston4400
    @curtispreston4400 Рік тому +1

    at this point im just using prime as an audio book reader

  • @marcoss4563
    @marcoss4563 Рік тому +6

    get Evan you to the show! please!!

  • @AgentZeroNine1
    @AgentZeroNine1 Рік тому +8

    For my freelancing, I prefer my ALMOST external dependency free approach to building out a UI;
    - Shadow DOM enabled Web Components
    - Declarative Shadow DOM enabled Web Components when doing SSR
    - Import assertions for native CSS modules and JSON modules
    - FLUX implementation for client-side state management
    - Navigo router (when building an SPA. Once the Navigation API is widely supported, I'll drop this external dependency)
    - Some polyfills
    - Cypress for testing
    With that being said, I make sure I'm proficient with React if a good corporate opportunity presents itself to me.

  • @NotAFanMan88
    @NotAFanMan88 Рік тому +39

    17:00 honestly webdevs need to develop on 10 year old thinkpads (or at least do web testing on them). If the site can't run decently on it, you made it crappy and slow for no reason.

    • @allesarfint
      @allesarfint Рік тому +20

      One of the biggest problems with web dev, a lot of dev work is done disconnected from what the common user daily drives.

    • @ea_naseer
      @ea_naseer Рік тому

      ​@@allesarfint but how would that work?

    • @ZeroBl_
      @ZeroBl_ Рік тому +1

      That's my pc

    • @lastmanstanding5423
      @lastmanstanding5423 Рік тому

      @@ZeroBl_ I love my old Thinkpad

    • @SuperDevastetor
      @SuperDevastetor 11 місяців тому

      Or just turn on CPU throttling?

  • @kahnfatman
    @kahnfatman 3 місяці тому

    Even in the early days of hooks, I often included the term "hooker" in my talks...

  • @zsytssk5176
    @zsytssk5176 Рік тому

    Hook is amazing thing, old guy!

  • @clamhammer2463
    @clamhammer2463 Рік тому +8

    The more I use Svelte the more I love it and hate React.

  • @yadavdhakal2044
    @yadavdhakal2044 Рік тому

    Solid JS is difficult for Nested Reactivity!!

  • @captain_crunk
    @captain_crunk Рік тому

    Any thoughts on ember?

  • @buc991
    @buc991 9 місяців тому +1

    I just want to throw my point, because it's seems opposite to the one prevalent here, so i work with react mostly, i tried svelte and don't get the hype. Also before i worked with vue and it was meh, moved to react and never looking back. So, what i love that in react you're making things more programmatically and functionally, you can map jsx, ternary it, you can even pattern match jsx with ts-pattern(!!), add ramda or whatever if you wish even more fp, and etc, it's just much more flexible and powerful than template languages, in this regard svelte and vue feel like step back. Also huuge ecosystem, tools, hireability, ts support, and much more, right now I don't see any reason to use anything else on production frontend(except for projects that need very little of frontend). So yeah, i love it, happy with it, highly recommend to anyone, and just don't understand this hate, seems like some ppl just don't get the point of react or scared of jsx syntax at first and never tried to understand motivation behind it really. Or maybe this quote about languages can be used here too - there are the ones people complain about and the ones nobody uses.

  • @venicebeachsurfer
    @venicebeachsurfer Рік тому

    Solidjs also uses hooks, so whats the big win over there?

    • @danielchettiar5670
      @danielchettiar5670 Рік тому +1

      It uses a compiler, and doesn't re-run the entire function component that you wrote on literally every state update

  • @sacredgeometry
    @sacredgeometry Рік тому +1

    4:55 Yeah I absolutely dont like hooks. The continuity of codebases just fell apart as soon as they were introduced. I remember looking at the proposal and thinking "this is really dumb" and almost always when I have that feeling it turns out to be vindicated eventually.
    It seemed like a bunch of FP zealots were just getting a hardon at the prospect of being able to remove classes for the sake of it.
    Some of the best and cleanest react apps subscribed to the Container-Presenter Pattern where containers were classes and presenters were pure functions/ dumb components.
    React codebases have been unanimously shoddier since hooks were added. Yes there was a edge case where they would add value. i.e. where you didint want to have to pipe state around your application but it was and should have been an edge case not the default.
    Sort of how when SwiftUI was announced the the person doing the presentation had the foresight to explicitly say ObservedObjects were not the default mode of state management but was there in cases where you needed state modularity.
    React did the complete opposite. They painted hooks as some sort of magical win for FP. "Rejoice! Now we can completely rid ourselves of classes" ... as if that was something that needed to be done.
    If that wasn't enough to make you cringe/ your spidey senses start to tingle then you probably are beyond help.

  • @thatonesnowboarde
    @thatonesnowboarde Рік тому +1

    Hi why did you stop posting to your other account on YT? I was wondering why you hadn't any new vids then someone mention you had another channel.

  • @RayanMADAO
    @RayanMADAO Рік тому +7

    I found it hard to understand react I just wanted to do vanilla js and html files

  • @aghileslounis
    @aghileslounis Рік тому +1

    Link to the article please

  • @ho-dg6zi
    @ho-dg6zi Рік тому

    Link to this article?

  • @hotrodhunk7389
    @hotrodhunk7389 Рік тому +1

    As someone who started studying coding 2 months ago it's such a good feeling that every part I had a problem with ended up being that the language itself was bad. I went through Ruby and python courses no problem. JavaScript just doesn't make sense to me and when I got to the react I told myself I'm never using this and I'm never going to get a job where they use this 😂

    • @jacobswiney9977
      @jacobswiney9977 Рік тому +1

      I started coding about 2 months ago as well. And goddamn i hate javascript/react 😂😂😂 i started with python

  • @ccj2
    @ccj2 Рік тому +3

    As an avid user of Vue, I approve this message.

  • @RobertWHurst
    @RobertWHurst 11 місяців тому +1

    I love React. I use to prefer Vue, but with TypeScript React is the much better experience between the two. That and you have to deal with a custom file type with Vue where as React is just JS/TS. The truth is you need to be fairly good at programming to enjoy working with it, and if you aren't it's going to suck. That said I don't think that is a bad thing. Making UIs are hard for a reason, there are a lot of things you need to get right regardless of the tooling or language. The truth is most of these bloggers or programmers that complain about React suck at it.

    • @cocoscacao6102
      @cocoscacao6102 9 місяців тому +2

      Designing UIs is hard. Making UIs is piss easy. React made it hard. If you're fairly good at programming, you wouldn't choose React, simply because you'd avoid problems that you shouldn't have in the first place.

    • @RobertWHurst
      @RobertWHurst 9 місяців тому

      @cocoscacao6102 well, considering I've been a software engineer since 2007, and for UX I've worked with everything from php and concatted js, to backbonejs and requirejs, ampersandjs, to angular, to vue, React (of course), to Svelte, and Solid.js. I'm fluent in PHP (gross), Ruby, Java, JS, Python, TS, Zig, and Rust. I've built backends with CakePHP, RubyOnRails, Spring, Django, Nodejs, Tide, actix and yew, and others (still waiting for Zig to have something mature). I've led a number of teams and architected a number of software products. With all these technologies, I've built component libraries and applications, monoliths, and microservices. Out of these tools, in regards to frontends, I find I quite like React and find it to be a great tool to create a maintainable and reusable code, and I vividly remember what it was like before any of these modern tools and libraries existed - many years before. It was awful, and if you think otherwise, you're absolutely wrong. Also, building application interfaces isn't a trivial problem, if you think it is, then you must be pretty green. But hey, who to f**k am I right? You must know better.

  • @Burncd
    @Burncd Рік тому

    I guess I'm in an unpopular opinion as well. I have the same point of view. I started disliking React when Hooks were introduced. Call me old-fashioned, but I found it easier to prepare as Class Components, especially with lifecycle functions. When I saw useEffect the first time, I thought it was a CSS effect 😅Wasn't it easier to identify something like componentDidLoad?

  • @NabekenProG87
    @NabekenProG87 Рік тому

    POV I have to read an Essay but I really have to pee

  • @emjizone
    @emjizone Рік тому +1

    1:07 *I disliked JQuery from the beginning*
    Yes, it made write a little less chars, but at the expense of:
    - understanding what JS was actually doing
    - bandwidth
    - memory usage
    Of course, compared with the nuclear steam mammoth that are sent by TCP for every page component today, it's nothing. But I almost immediately disliked the fact it was made for noobs rather than for machines. In fact, it's not that JQuery was bad, but that it was a quick patch on the lack of standardisation of the browsers.

    • @ThePrimeTimeagen
      @ThePrimeTimeagen  Рік тому +4

      this was a big comment here.
      you end with the reason why jquery exists and why it was great but start of saying it wasn't gerat ;)
      it was great, you know it, i know it, we all know it.

    • @emjizone
      @emjizone Рік тому

      ​@@ThePrimeTimeagen I never used _JQuery_ but in tutorials and private tests.
      I'm still writing JS without framework nor library quite often, just because I don't find what compiles in what I actually want without bloat. :p
      Most of the time I look for a framework or a library that does what I want, I spend more time comparing all the ones that pretend to do what I want without knowing, reverse-engineering them to make sure they do what they claims to do, debugging their documentation, patching out their unneeded code, hacking around their limitations, getting lost, crying… than doing the very modest thing I actually need and I can code from scratch. And anytime I'm finished accepting the flaws of a tool… an update comes.
      Soon people are going to rely on "magic" obscure AI to optimise their code and compile better… like if they couldn't be intelligent enough themselves, or better said like if they didn't wanted to be.
      Good luck maintaining an automated online service maintenance monster instead of an online service. :p
      Languages are great already. And when they aren't, libraries and framework can only camouflage their flaws. I don't work well at all with camouflaged flaws. They beat me.
      I want way too much control on the final result. Nostalgia of _6502 Assembly_ , maybe. ;D
      And yes, this is me being very silly. In practice, there is no way to work with others without shared libraries and frameworks. Better bad work than nothing works.

    • @drvictor666
      @drvictor666 Рік тому

      Having started with web development in the previous century, I dare to say that the scale of impact that Firebug/DevTools and jQuery have had will be impossible to beat.

  • @thomasw.4298
    @thomasw.4298 Рік тому +7

    We should all go on strike and make TUI's (terminal user interfaces). All hot keys no clicking. Our demands will be, "Hey, just try it"

    • @mzg147
      @mzg147 Рік тому

      you can also have all hot keys in a gui app

    • @thomasw.4298
      @thomasw.4298 Рік тому +1

      @@mzg147 ... ok but when we go on strike we get to take a break from making gui's.

    • @gamerzero6085
      @gamerzero6085 Рік тому +3

      @@thomasw.4298 And so what? TUI is still UI development, and it has the same practices and problems inherent to it. I bet the first thing people would do if TUI's would become popular, is create a templating engine. And then you wouldn't notice how you got reactivity built around it. It's full circle.

  • @rahulranjan8487
    @rahulranjan8487 11 місяців тому

    Does anyone has link to this article

  • @LuealEythernddare
    @LuealEythernddare 9 місяців тому +1

    In all honesty, should I learn react for the large number of jobs requesting it? Or just learn Vue? I’ve heard Vue is so much more forgiving to the programmer.

  • @havocthehobbit
    @havocthehobbit Рік тому

    in react class components are just so much easier to design for and functional are just qucker for small task IMO , i dont like being forced by industry to convert to functional when its not needed.
    from the point of view of project constency maybe but the level of complexity functional component hooks add to project when having to get simple things done through useEffect and initializing multple setState variables over having singular state object becomes a nightmare to me and handling conditional set states instead of using set class state callbacks , just makes a back and forth tracking head ache for larger components and increases code of a complex component by tons with each useEffect that could have been replaced by a more readable small call back or multi state single update. I agree , React started off great but its forced migration to hooks instead of optional usage isnt something I agree with, sure its optional now but every article i read and google search I see , implies that class components are goign to be phased out at a point which forces companies to enforce developers to only use pure functional .

  • @TheItchybutthole
    @TheItchybutthole Рік тому +13

    I remember when I used to dislike Angular because I was a react fan. Now I'm jumping around different projects that use angular and its such a breeze. Every new react project I would join I would just look at the code like "wtf is going on here"

    • @blubblurb
      @blubblurb Рік тому

      Wait until you use Vue, you will start shaking your head whenever you have to work with one of them.

    • @josk8936
      @josk8936 Рік тому

      I think this is happening with every single React developer trying a new framework at this point..

    • @SuperDevastetor
      @SuperDevastetor 11 місяців тому

      Agreed. Angular gets too much hate because of the 1.x versions. And don't get me started about forms in react Vs angular lol

  • @FredoCorleone
    @FredoCorleone 2 місяці тому

    Angular feels so much better despite all the hate.

  • @donkeyy8331
    @donkeyy8331 Рік тому

    I wonder what web devs have against just pushing shit to the stack and using static memory, it seems like everyone likes to depende on their slow heap and be affected by the GC? most of these problems that incur in huge times of GC seems to be a simple problem to solve in languages that allow you to allocate in the stack

  • @thekwoka4707
    @thekwoka4707 Рік тому

    Hey, I know that guy

  • @archmad
    @archmad Рік тому +1

    how it was coded was wrong. Pro tip, limit your useState usage. I hate when giving a bad example proves a point

  • @LucaFerrariMoSi
    @LucaFerrariMoSi Рік тому

    Need an htmx video

  • @Soppybobs
    @Soppybobs Рік тому +2

    Svelte babaaayyy

  • @JeremyAndersonBoise
    @JeremyAndersonBoise 10 місяців тому

    React Hooks is exactly where I jumped to Vue, as much as possible, until Svelte came out.

  • @hamm8934
    @hamm8934 Рік тому +2

    Vue gang rise up

  • @tanotive6182
    @tanotive6182 Рік тому +16

    I just wanna say, I still like react 👌 somebody kill me

    • @ThePrimeTimeagen
      @ThePrimeTimeagen  Рік тому +7

      i still have to use react from time to time...

    • @AndreFaria-hs6fl
      @AndreFaria-hs6fl Рік тому +1

      @@ThePrimeTimeagen what do you use most of the days? Besides Chad stack

  • @istovall2624
    @istovall2624 Рік тому

    JQUUUUEEEEERRRRRYYYYYYY😛
    in 5th grade i had to memoize all 50 states and their capitols, can react do that!?

  • @kcygt
    @kcygt Рік тому +1

    useMemo doesn’t create that array or function on every re render. 21:33 . please re check your knowledge about use memo

    • @ThePrimeTimeagen
      @ThePrimeTimeagen  Рік тому +2

      i want you to look at the code again. look at it really carefully, because its siting right there....
      IN FACT, i'll start typing it here
      const value = useMemo(() => { ... //

    • @kcygt
      @kcygt Рік тому +1

      Is this one recreating the object on every re render?
      const [obj, setObj] = useState({ _type: 'obj', size: '10gb' });
      ​ @ThePrimeTime

    • @kcygt
      @kcygt Рік тому +1

      Thought again and it probably is. My bad

  • @DigitalEyePCs
    @DigitalEyePCs 11 місяців тому

    I believe hooks was the place it started to fall apart.
    It's very similar to Angulars life cycle hooks. Yet react had not previously done this and so it was a very early feature.

  • @sebabatsomashego7988
    @sebabatsomashego7988 Рік тому +3

    These comments really discourage me to continue to learn react 😢

    • @blubblurb
      @blubblurb Рік тому

      Vue in my opinion is just the best. Very stable and reliable, you don't have to constanctly adjust to new versions. But I only had to work with Angular, React and Vue so far. From those 3, clear winner Vue.

  • @TravisBerthelot
    @TravisBerthelot Місяць тому

    When React and React Native broke up so did the idea of React. Why add a build time for something that only generates HTML5?

  • @TurtleKwitty
    @TurtleKwitty Рік тому

    "Think how oyu'd implement it" see problem is I'd build vue to maximize reuse of state and functions, aka not recreating it all every frame and minimize the amount of redraw/overdraw. That's precisely why I hate react, it utterly sucks to work with. Theres a reason Im building my team around vue, juniors can understand how it works because its intuitive; setup is setup the template is what gets rendered, when a variable gets updated the proxy informs only the things that it affects, easy. Would never expect a junior to know how to build that from scratch though

  • @prafuitu
    @prafuitu Рік тому +3

    You won my like @ "Hooks is where things started to fall apart"! 👊

    • @Fernando-ry5qt
      @Fernando-ry5qt Рік тому +2

      Oddly, I avoided React like a plague during the class component/high order component bullshit and hooks where to me the reason to get back, I find it a trillion times better DX and easier to maintain

  • @urbaniv
    @urbaniv Рік тому

    Try elm. You'll never look back

  • @Altrue
    @Altrue 11 місяців тому

    "You should take a moment to think about how things work" Completely agree but it's also telling us that the abstraction is therefore incomplete. And that's something most people refuse to realize.

  • @erickmoya1401
    @erickmoya1401 Рік тому +4

    My next target in life is kill react in my company. And I am willing to sacrifice a lot for it. Stay tuned.

  • @tyunpeters3170
    @tyunpeters3170 Рік тому

    Would a noob suffer learning React? Well, I wouldn't even know what's wrong with it as someone who's not good at any framework.

  • @draakisback
    @draakisback 11 місяців тому

    Man I don't use JavaScript and I'm happy about that. When I see articles like this, or videos like this it just makes me glad that I am not a front-end engineer at all. I don't really do web dev either that often, when I do it's mostly back end or server side stuff. Even when I have built UIs and stuff like that I usually use SSR via some native language not some nonsense like JavaScript. The funniest thing about react to me is the fact that they're effectively trying to recreate some of the powerful features of functional languages like elm or ocaml. Hell, react was originally written with Ocaml which is also why they released reasonML (I guess it's called rescript these days). The problem is that JavaScript just doesn't support the features that they're trying to build. You can talk all you want about having immutable data structures and reactive systems but you have a single threaded model that runs using event loops and even the non-mutable variables in JavaScript can get mutated behind the scenes.

  • @DanZ-fq2qs
    @DanZ-fq2qs Рік тому +1

    Please use angular, thats it

    • @blubblurb
      @blubblurb Рік тому

      Vue it is! And yes I worked professionally with Angular already, it sucks compared to Vue imho.

  • @kokizzu
    @kokizzu Рік тому +4

    Svelte anyone?

  • @JeremyAndersonBoise
    @JeremyAndersonBoise 10 місяців тому

    All frameworks are cults. I will keep saying this until it sticks. Join a cult, by all means, but keep that understanding in your mind and be wary.

  • @modernkennnern
    @modernkennnern 11 місяців тому +1

    I've only ever used Vue Class Components and React and React is miles better. That's not to say that React is good, but a lot better than Vue Class Components which are so insanely boilerplatey

    • @kaedriz
      @kaedriz 11 місяців тому

      Did you mean Options API? Or just class components, bc they are no longer used for a bit of time. Nowadays Vue 3 introduced Composition API with is kind of similar to React, albeit still with template, but you can use jsx if you would realllly want.

    • @modernkennnern
      @modernkennnern 11 місяців тому

      @@kaedriz I do mean the legacy class components.

  • @mohamed79303
    @mohamed79303 Рік тому +2

    you're quite privileged, I'm still held hostage by jQuery.
    or am I the privileged one?

  • @THANHNGUYEN-hh2fx
    @THANHNGUYEN-hh2fx 11 місяців тому +1

    Also the problem with skill rots. I recently got laid off so I've had sometimes to look back at my career. React traps you, everybody uses it, it's like Java. You can't get out of it, learn something new, or become better.

  • @veselinpetrov5991
    @veselinpetrov5991 Рік тому +4

    When someone asks me 'Why do you have some concerns about React Hooks?' I always answer: Read those Rules of Hooks, and read them carefully. Try to understand them well. Then you will see the answer by yourself. No other discussion will be needed... Usually, no one wants to argue with me after that 😊

    • @ImranSheikh-kg4qd
      @ImranSheikh-kg4qd Рік тому

      You can't just read the rules of swimming and learn to swim 😂. Better way is to practice it in right environment 😊.

    • @veselinpetrov5991
      @veselinpetrov5991 Рік тому +2

      @@ImranSheikh-kg4qd I think you didn't get my point

    • @venicebeachsurfer
      @venicebeachsurfer Рік тому +1

      Explain simply, the problem with hooks.

  • @emjizone
    @emjizone Рік тому +2

    Using React feels like coding in a weird version of BASIC where you have COMEFROM instruction instead of GOTO. 😅

    • @matthewwoodard9810
      @matthewwoodard9810 Рік тому

      I don’t know anything about basic, but this makes sense to me lol. I do well with react, but I have to think about everything backwards

    • @emjizone
      @emjizone Рік тому

      @@matthewwoodard9810 How do you keep track of what depends on what you are editing?

    • @matthewwoodard9810
      @matthewwoodard9810 Рік тому

      @@emjizone I apologize, but I don’t understand the question

  • @Je3f0o
    @Je3f0o Рік тому +1

    I never learned ReactJS, because I created my own framework back in 2017. Sadly I never released, only using in my own projects. Reason why I rejected to learn ReactJS is pretty simple. I goto Facebook and search something. Then I opened browser's task manager and scroll page down little bit. Then look back to the task manager, Facebook single web page using over 1GB ram. I was like WHAT??? I think that problem was still existed in previous year too, I don't what happens now. One thing for sure. There is a lot of garbage collection and memory related issues. That is why i said HELL NO to ReactJS!

  • @mage3690
    @mage3690 9 місяців тому

    "Take a moment and imagine how you would do something." See, here's the trouble. I do that. I do that all the time, in fact. My troubles come because I'm a new programmer, and I have a very bare-metal imagination about how things should be done. I don't understand what and why a class should be a thing, I don't understand how methods or functions get attached to classes, and I am therefore missing a large chunk of the toolset used by most programmers to do most things. So I'm over here trying to use a table saw as if it were built by hammers and hand saws, meanwhile the person making the damn thing is using exclusively electric screwdrivers and CNC machines to build it. I have sat there and stared at my screen for many an hour because of this fundamental mismatch.

  • @arturfil
    @arturfil Рік тому +8

    I see a trend on hating React. Have you guys seen angular? Nothing against it it's just way harder. Solidjs? I'm actually excited to learn but to say React is bad? goh. Hooks ARE easier, it simplified sooo much. Just like Redux to Redux toolkit but somehow people are complaining more 🤷🏼‍♂️

    • @Fernando-ry5qt
      @Fernando-ry5qt Рік тому +4

      I agree, people are hating on react the same way they complained about jQuery, but they forget that it has been around for ages, and as every bit of tech, does not age perfectly.
      But there is a reason why Solid is SO alike to React, the patterns and structures React allows are proven and clearly preferred by a lot of people.
      Hell even Angular shapeshifted to survive agains React

    • @arturfil
      @arturfil Рік тому +1

      @@Fernando-ry5qt I'm just saying people always did reactive programming, along comes react everybody looses their mind and adopts.
      Few years later, nah react doesn't work let's go back to reactivate instead of functional.
      Also you could manage state reactively with mobx, subscribing to and having observers and all that jazz

    • @danielchettiar5670
      @danielchettiar5670 Рік тому

      The entire point of the article and the video went a mile over your heads. It wasn't about ergonomics at all

    • @arturfil
      @arturfil Рік тому +1

      @@danielchettiar5670 That's the thing though, I'm not addressing the video specifically. Just another point somewhat related to the video.

    • @DanZ-fq2qs
      @DanZ-fq2qs Рік тому

      those prefer class over hooks are not react developers, not sure are they even frontend ? probably some java 'fullstack' devs. just go use angular dude

  • @EricAndre615
    @EricAndre615 Рік тому +4

    I agree. I've always thought hooks is when things started to go bad for React.

    • @astkh4381
      @astkh4381 Рік тому +3

      Why?

    • @EricAndre615
      @EricAndre615 Рік тому +2

      @@astkh4381 It just seems like at that point it changed all the community standards and patterns around using React. It didn't really solve any of the issue with life cycle methods, but created other new issues. Too many implicit rules/footguns. What I've seen is that we started more tightly coupling things, removing interfaces (ie props), which also started making testing more difficult. There just seemed to be a big shift that to me was in the wrong direction.

  • @kalebproductions9316
    @kalebproductions9316 Рік тому

    When I was trying to learn React I had already done something similar just by making a class that represents a kind of value/indicator/control object, component?, that "reacts". To me React is completely unneeded. It might make it easier for people who don't know how to write object oriented JavaScript, but I do. Just learn how to write JavaScript.
    It's neither here nor there because I'm only learning Rust.

  • @1010120
    @1010120 Рік тому

    The more I learn about web development, the more determined I am to avoid it. Even if it means I have to learn C++... 😅

  • @alihammadshah
    @alihammadshah Рік тому

    I don't know why flux is inadequate for managing state, and is this complexity worth it to fill the shortcomings of flux?

    • @Fernando-ry5qt
      @Fernando-ry5qt Рік тому

      I feel like it is not, nobody that knows what is going on pushed against flux at all, not even the React team from my understanding

  • @Danielo515
    @Danielo515 Рік тому

    Solid is great, plain I'll functions for everything. Svelte on the other hand sucks , full of random symbols and rules