I've been a React dev for 4 years now, and I cannot do this anymore. I'm migrating my career to the backend. My main problem with the whole frontend/javascript ecosystem is the lack of convention and consistency. Whenever I write JS code, there is a 90% chance this code will no longer work in the next 6 months, either because the framework I'm using died or a new version with 1000 breaking changes just launched. I think the current state of the frontend is extremely unstable, and very likely to keep changing for the next years. And to be honest, I'm TIRED, I want to learn a framework like Rails and feel safe using it, without any FOMO for hyped technologies that don't make sense and will likely die in the future
I personally have been reading for about 6 months and watching --I'm about to start learning to code-i've chosen c#-do u think this is a good choice for a front and back end-thx
my dilemma is that I focus on where I think the jobs will be (and I am looking...) - React is a good chunk of the FE job space. Not interested in Angular (the Java of the front end...), and Vue is the only other big contender. As much as I want to dive into Astro / Svelte / Solid and the rest, I just cant justify the time if I cant find a paying gig with them. React / Next is a bit of golden handcuffs.
Great decision! It's a strategy I've consistently followed. I worked with Ruby on Rails from 2012 to 2017, but unfortunately, it was quite challenging to secure job opportunities within that framework. Even though it was an excellent framework, I faced difficulties convincing companies to adopt it. So I moved on in 2017 to React and Angular, these days it's between react,angular,and vuejs.
Unfortunately....I agree. I'm in the same boat. personally, out of the three, I like Vue. And I'm seeing it listed along side React on job postings a lot now. So there's that.
@@babykosh5415 yeah, my thinking is that there are two tiers: there is "good choice to learn in order to maximize chances of getting some work", and then there is "ok, cool, neat, but this is something I will learn on the job as part of a project". Things like Astro, Svelte, etc fall into the second category (at least that is how it feels in May 2023). A side note: I liked Vue 2 more than Vue 3, but I like React / Next with hooks more than the old style. One got easier, and the other got more confusing.
I'm pretty invested in React, but I think Solid is a great choice, a good iteration of JS frontend technology, with all the knowledge we as a collective gained since the first React. I think today's React advantage is ecosystem. I know I have a huge ecosystem behind me and can easily grab and reuse lots of things, I hope we can see such an ecosystem with Solid.
I agree on the vibes point, been using Vue since the start and there's none of that pretentious attitude as far as I can see, just silent suffering because cool packages support React first😅
that's because the cool vue packages go out first for asia where no one looks; and it is understandable because its largest community is from that area of the planet
I've not dived heavily into React or Vue, however I looked at both and Vue was instantly intuitive whereas React was 'spaghetti' to me and nothing has changed.
Yes html is spageti not react. If react component is like spageti then you are doing something wrong. Personally I like react because I think it's a closest to vanilla javascript with less magic 🪄
I agree vercel marketing gives off some pretentious vibes but all the devs on the next team at vercel are pretty chill and provide a lot of positive interaction outside of their work roles at vercel. Which has helped me put my guard down. I feel like Theo is the most pretentious in the next space but that’s mostly because him being opinionated gives him more views with clickbait videos… but he does offer some good content from time to time. Will be interesting to see what emerges from the Rust ecosystem for web development in the coming years. React may lose its spot for defacto web dev choice.
Yeah Theo can have some good takes, but what I dislike about him is his ego. He thinks he is always right about everything and acts like a pretentious a--hole a lot of the time. I do like some of his content, but I ended up unsubscribing because of the way he behaves, not because of the things he presents in his content.
@@rand0mtv660 I enjoy Theo but lately I've noticed two trends: 1. He deletes comments with legitimate criticism of any tech he's an advocate of. Not sure how long that's been going on but I'm totally against it. 2. He wasn't as egotistical when he was less known, and I imagine he will become more egotistical as his notoriety increases.
I stopped watching Theo the moment I realized that watching his videos made my anxiety skyrocket. Just a bunch of random drama and FOMO for useless new technologies
It was just recently I really understood that on a couple projects we have pushed the boundaries of what React is capable of. Now we have an entirely new era of state machines within the React ecosystem trying to solve problems that are caused by the nature of the framework. React has been a dear friend whom I have loved and used it successfully on a multitude of applications but I starting playing with alternatives and I feel the same as you about SolidJS. React has been wonderful and forced us to re-think UI frameworks, and Solid feels like a natural evolution away from React. They took all the great parts of React and left the smell.
I build a lot of in-house diagnostic applications, some with a web UI. For this, I still like React, but bare-bones SPA's. No server rendering, just a JS bundle that does the mundane tasks I need it to do. It's all it needs to do, and I think a lot of people over-complicate things when building for the web.
You're doing it wrong, look at this Andrew Clark's tweet : "IF YOU'RE USING REACT YOU SHOULD USE A FRAMEWORK". Don't know if it's Vercel's money or he just doesn't understand why people liked React in the first place
Thanks for saying this. I'm still hesitant on which framework should be next. I don't feel comfortable in any. I miss the days where we just put some JS in a page without compiling and worked.
There is a lot of strength going with the market leader - the "no one got fired for buying IBM" effect is SIGNIFICANT - whether it's being able to staff a team, build a skill you might use on a different team, or just not have to remember "oh what was that weird ass tool kit that was all the rage in 2024, how do I use it again?"
I use no framework in my latest project and it's actually not that bad. No overhead, no locking in and have the freedom to adapt to new native js features. Drawbacks are no data binding and no store to sync data.
I totally agree. I'm beginning to hate what Next is doing to React. Deciding for us how we build applications is just terrible. Wasn't a fan of directives and I certainly dislike having multiple exports with special weird meanings.
Nextjs is not react, you are not force to use it .. the problem is looking at those features as problems instead of seeing how much features you get for free .. building apps, websites from scratch is not hard but takes a lot of times
@@JairoGatjensndrew Clark : You should use a framework if using React. First RSC working implementation with the help of the react team : Next. And I don't know what you call "from scratch", a frontend framework + Vite is far from being from scratch. And you'd use a backend framework and not their API routes for any non trivial task anyway. And ofc too much nonsensical features becomes a problem that can slow you down.
Nailed it. The blunt truth is that the whole push towards esotericism is just low-grade psychological manipulation on developers by an insecure community of tool builders, who are, frankly, not as intelligent as they think they are. If you don't understand 100% clearly how a tool works after reading the docs and seeing examples, it's not you: it's the people building the tools. I only learned this once I started building my own tools (out of a similar frustration) and realized that much of the modern JavaScript ecosystem is overcomplicated-I'd speculate intentionally so, either via malevolence or incompetence.
I honestly agree with some of the points. Im still going to use react because that is part of the tech stack we use at work but I definitely see his argument.
There is nothing in the current FW ecosystem which comes even close to next gen FW like Qwik. Not the speed, or procedures, its that others just simply cant do what it does. Nobody in the FE community really ask, why Amazon or Ebay is not using react or Next if its so freakin cool. It's just because they're the Wordpresses of the FE world. They dominate, they're everywhere, but they're just not made for high performance, front-facing apps. When did we DEVs become ok with this?
Nails it. I gave up on React years ago and have used it only when forced to. I love the FP aspect, but useEffect is a curse. And while it made some sense to have a virtual DOM back in the day, it's simply no longer necessary, which makes it dead weight. Solid is infinitely better (although not quite as intuitive as you suggest), and Ryan Carniato is a very nice guy. I was building Solid apps before it reached 1.0. For production. Then a year or so ago I discovered Astro. I'd wanted to work in vanilla for a long time, but components are really hard in pure vanilla code. But Astro gives me TypeScript and a component architecture and I don't have to include islands of Solid or whatever. My current sites have no front end dependencies at all. They are just vanilla JS, CSS, HTML. I write them in TS with components and Astro compiles them for me. I deploy to Vercel (you don't have to use Next or React -- they are wising up). I never watch videos (yours is a rare exception), so I wasn't aware of their pretentiousness. That's sad. I know Guillermo Rauch and he's very nice. But the React team? Oh, hell yeah. They think that they ARE the Web. Google (Angular, Polymer) does, too. I strongly recommend Astro and Solid in islands only if/when you absolutely need it. For a long time now I've pointed out that most "front end" devs are really "React devs" (and now Tailwind) and that they are actually incompetent when it comes to HTML, CSS, JS, Web APIs, and accessibility/usability. They are basically clerical workers making mash-ups of dependencies and React code. My current sites have, as I said, ZERO front-end dependencies. And they are easy and fast to build. Copy and paste is your friend.
@AngelsShareProject being a web dev for 26 years, I watched as people who really knew all frontend tech get replaced by people who had never seen how standards came to be. React is fine as a UI component library but I don't understand how it is becoming the omnipresent FE and serverside component library, when it hasn't even accomplished the mission of bringing sanity to the frontend. I haven't worked in Rails in several years but I think they made the right call with Stimulus, bring in react and other FE libraries when necessary and leave them out when unnecessary. Something I thought Vercel was getting behind until Next 13. I say that as I make build tools for Next to bring said sanity, knowing I can't escape its vacumn.
so what do you think is the best direction for a student getting into web dev. I'm in school right now I have experience in html css vanilla JS and wanted to start react soon.
This video is so spot on. As a relatively new (7 months, self taught) dev, I’m so over the pretentious nature surrounding react. One week everything I know is wrong, the next week they’ve changed their minds and now I “need” to do it a different way, and a month later that new way is “wrong” again and I’m dumb if I do it the way they literally told me I “had” to do it last month (“they” being Vercel and many of the React Twitter/RUclips personalities). Just landed a job, so I don’t have to worry about hyper-focusing on one ecosystem anymore. I adored Vue during the 2 weeks I used it starting out, and this helped convince me to dive back in. Great video and very enjoyable vibes in this video, contrary to much of the content I’ve been consuming over the past 7 months!
I'll never use it because of the same reason, overcomplicated mess, never seen any tech where I can follow the official docs and be wrong and have a react phd user correct me on twitter. Smh.
@@thebirdhasbeencharged it really is a mess right now. It doesn’t come with anything out of the box so if you want to follow a simple tutorial, you have to learn 10 other things first lmao. Did a deep dive learning react router, redux and react query for this very reason. Fast forward a couple months and now everyone hates all 3 and will only talk about Next 13. Opinions are so strong to the point that the official docs will discourage the use of its own features as well as other libraries. Just a mess.
Having things separated is usually better though. Let's think in reverse. Do you expect frameworks to have a native state management solution like Redux built in? Router I can understand. Query logic maybe. But Redux? Are you serious? This must be a joke. I don't remember React team saying "do it this way" and then "a week later" changing their mind. Can you stop dramatizing? It was years until they stopped recommending create-react-app in their docs. Class components are still supported. No change is forced onto you. "Gradual adoption?" - "Never heard of it." Now the next team does it's own thing, but it is still improvement overall. Same as the react, no change is forced onto you. Do you have the slightest idea for how long the app router was in beta? For how long server components will be in beta until they become stable? If you *react* to any and every experimental alpha feature and immediately start to think: "Aha! So that is the new way to do things! Let me rewrite my codebase..." - that is entirely your own problem. Not the React or Next team being indecisive and "evil", just you being stupid, nothing more. With all due respect, you should just shut your mouth up until you have a more valuable opinion to share, rather than overdramatizing about something you have no slightest clue about. **Kindest regards, 231172145**
@@twothreeoneoneseventwoonefour5 true. people are just being dramatic. The changes happens in months and if you have good fundamentals it is so easy to pick up.
Totally get where you're coming from on this one. I like the React mindset, it's comfortable for me, but the future of the framework and the Next.js + Vercel spins on it have put a really sour taste in my mouth. I've been happy with an Astro + Preact combo, lately.
To me reason #1 is the biggest for me. Those vibes are the breadinggound for bad unoptimized code. "best practise" would be a good idea if outcomes would be actually measured, but as it is, someone just claims that a certain way of doing things is the superior one, and just by the perceived authority of that person, it slips in without ever actually being challenged by evidence. The result is really slow code and project structures that take up more time maintaining than the functunal code that actually does something.
Amazing video, and I do think that vibes are extremely important to consider! We become who we surround ourselves with, so may as well double down on communities you look up to! One of the main reasons I was drawn towards Astro in the first place.
I tell from the start that react is big step backwards 🔙 . Like they not learn any thing from smart ppls that come before them. And force to make all mistake again
gotta be honest here, I haven't finished the video yet but reason number 1 to me seems *very* compelling, and probably how a lot of folks feel out there (myself included), so I'm kinda of afraid to watch the entire video cuz the other reasons are supposed to be even more important lol
your first reason is kinda my main reason... never really liked the react vibes, just used it a bit because of the huge popularity but now I'm moving more towards vue I think... It's all kinda new to me yet, as I come from more of a back-end with JQuery, so I'm not sure of anything yet
Agree. I've been finding it hard to put into words. But "elitist" is exactly the vibe I've been getting. Their marketing seems a bit artifificial. I love the work they do but I find it hard to trust vercel as a company these days
for highly interactive sites/apps, i'll likely use solidjs; i'm currently rebuilding statmuse.com with astro (it doesn't have much client-side interactivity).
good for you. I'm staying away from react after a couple of frustrating projects, and will be converting them to blazor this winter. i personally like the modeling and flow better, and since i have to maintain these projects for as long as i work here, I would like everything on the same stack.
Ah I don't really like React Native. The only upside is that it is easy to learn/transition to, but ask yourself first - why? Because you work in a company that cannot afford to have a separate (even small) team for mobile? React Native is like Python in the world of mobile. No reason to use for a serious project imo. I would look further into Flutter for mobile (it's rendering mechanism is both a blessing and a curse) instead. It isn't that compelling yet, but has bright future. Native, on the other hand, doesn't have good future imo. But I digress.
Right now I'm loving Astro, using it to rewrite statmuse.com. It's not a React replacement, though, and if you're building a SPA you should use something else. SolidJS has a lot in common with React at author-time and I think it has a simpler mental model.
Here's what I know. Ask a React fan what other frameworks they've used, and you'll find that they either have not used another framework, to any significant degree, or haven't in a long time. That is, they don't have many/any good modern comparisons. They just know that they like React. Ask the same question to a fan of just about any other framework, and you'll find that most have tried React. In short, React is a fine framework ... until you really see what else is out there. Then, you realize that it doesn't do anything special and it actually doesn't even do it that well. It underperforms on virtually every metric except popularity. (That's not an insignificant metric - it is an important consideration - but let's be honest about it. McDonald's is a popular and successful brand, but is it really the best option?)
@@RaZziaN1 It is, you write most things while respecting react rules, being hooks ones or whatever, use meta's jsx and so on. In summary you build your whole app around it, most of other libraries you install do the same and also depend on React. It's just more minimal than other frameworks.
I'm with you on this one, ever since I've started playing with Solidjs, I've always wondered why can't react be as simple as Solidjs. All these new hooks they provide to solve the performance issues, but then your are never quite sure whether you should always use them. Some say that you shouldn't always use useMemo, others say always use it. The other thing is that you can't use hooks if your are not in a component or another hook. In Solidjs, everything is a function, and the beauty of it is that it only runs once. You have to opt-in for re-rendering which I love. I always felt it weird in React that you need to opt-out for re-rendering.
There is no way to tell you you are wrong in your decision. Just use what makes sense and be happy. I can totally relate to your first reason: vibes. Why? Because I use Remix for all of my projects. Needless to say more, I assume. Thanks for releasing this video.
Immutability and unidirectionality felt like general principles, and it was a good exercise to learn to think that way. Server components seem like a specific architecture that happens to be available, not anything general or profound (like resumability), but the same kind of mental shift is being asked. In reality, I predict React solves the compiler, compiles to signals, and that enables resumability. But that won't be available for 3-5 years. It's a good time to try other things and skip the chaotic period in the middle. I'd probably go for Qwik or SolidJS + Astro, personally. But I think Angular will reemerge as a top framework again maybe in 2 years, right before React (but React will continue to carry more momentum of course, and burn out a lot of devs).
Immutability is shit idea that drains the computer memory . And it is an anti pattern to "never use the allocate command more than you need" because memory management is the harder mission of the computer
It’s all about half-baked server components idea. In fact fetching data and rendering html on server and sending less js to front end seems like a great idea. But passing those props to the components is not well thought in my opinion. They should have thought a server-side context / redux like provider first (as far as I know they’re working on it). And probably the worst is dilemma of choosing server or client components. the moment you realize your code won’t work because you’re in a server component and you have to refactor your code into a new component sucks. The proposition of sending less js code to front end makes you think “I should use less client components” and all of a sudden you find yourself in a situation of making a decision to leave it as a client component or find better ways to utilize server components. Like I said, it’s a half-baked idea and pushing it as a production release without proper helpers affects many of us. About being pretentious part, well they’re doing it just fine :) React and Nextjs are the leader of the market and they act accordingly, I guess they have every right for it. That being said, I really admire their approach. Of course I’d appreciate if they find a better concept instead of being an Apple copycat.
I ditched react since 2019 iwas tired of thire way of doing things every time they come up with something we learn it then they change it or come up with more things and everything getting crazy complicated its not worth it
The reality will strike in the most harsh way as always, dissolving all people's wishes as how things should be. React is the most picked framework to date by majority of companies which doesn't seem to change anytime soon. This is backed by the fact that large companies doesn't have (resource here) to burn to try out new things that are not written in the stone. Why does it take so long to switch from old windows XP to the newest one? Because it's expensive and most of the infrastructure relies on it. If you can't understand that real money is still in React ecosystem, try to put yourself in the shoes of a CEO that has to decide what technology will your company use for the next 10+ years without employing new devs every year just to rewrite your codebase. React is not perfect and no other framework is. It just works and is backed by large company. That's the most important thing for employers - continous cash flow. New frameworks emerge lie mushrooms after a rainfall. Did we have most of so-sought-after ones two years ago? No. Do we prefer stability and continous support instead of constant change? Yes. We have limited time for brushing up on skills and I prefer to spend my time mastering one thing rather than being a clown that can do a backflip and juggle with coconuts. I'm also tired of this constant battle between X-framework and "my favorite, fast and state of the art Z-framework...hurr durr!". I'd rather stick to what is status quo for a long time and if the tides shift, I will invest my time on learning that new approach that will bring money to my household. All of that is just a tool for the work we do.
Reality for you, people are free to use whatever they want, btw then you should just use PHP if you think things can never change, just in the js frontend word look at Angular, it was dominant back then and is now probably rarely chosen for greenfield projects. And let's not act like switching from React to Solid Svelte or Vue is hard, a half experienced developer could do it in less than a week, those are all the same concepts with a slightly different syntax. And if you want to keep using the same technology for 10 years your beat bet is probably not the slowest and less coherent solution, even React libraries with thousands of github stars get abandoned regularly, you won't have this problem with a more complete framework.
I'm a Java developer and we used to be fans of Vaadin. I switched to React about 1.5 years ago and even today, I still have issues "thinking like React". I'm right there with you. No more React for me. We're switching to Thymeleaf and HTMX. HTMX is the new future. :-)
Great to hear that you're exploring new frameworks for web development! It's always a good idea to try out different tools and technologies to find the ones that work best for you and your projects. It's also refreshing to hear someone talk about moving away from a popular framework like React, which can sometimes dominate the conversation in the web development world. I totally agree with you that other frameworks deserve more recognition and respect in the industry. Hopefully, as more developers like you try out and showcase the capabilities of these frameworks, the job market and industry will start to take notice. Keep up the great work and happy coding!
I learned React back in 2017. It was quite intuitive to me who was used to two-way bindings in other UI libraries. It also felt limiting because you had all those patterns that also seemed to evolve. Like using Redux. Everyone followed after React and Redux. To be honest, most companies probably jumped on the bandwagon because a big company like Facebook supported the project. So they invested tonnes in React. But seeing all those other Web framework popping up is both positive and worrying - i love new tech but it is not great from a business perspective. Now a lot of orgs are stuck with big apps built in React. There whole strategy is based around it. I'm a .NET developer so I started using Blazor instead of JavaScript libraries. It is such a bliss not having to switch environments and having a decent component system with intuitive templating syntax and two-way binding support. Not having all of those patterns that JavaScript developers have invented by need but then have fallen out of fashion.
Anxiety around hitching an org entirely onto React (or any framework, really) is a lot of why I've been beating the drum for using web components for, well, components; write once, use anywhere*. Any dev who's been around long enough has watched all kinds of libraries and frameworks come and go. Yesterday, YUI or Bootstrap; today, MUI. Tomorrow, who knows? Web components at least help offset some of the pain around switching to a new UI library, like having to figure out how to re-implement custom controls you already had working elsewhere. * with a compatibility layer for React, because React doesn't do normal JS events
It's still too early to judge RSC as React in itself has not changed and old react apps will just work. With RSC there won't be changes to existing app code. But libraries would need to add the "use client" thing to work properly. Also the bundling methodology has to be changed to make sure every client component is a file. This is the disruptive change for the ecosystem. However i too don't like that the react team is outright rejecting signals. The signals pattern used in solid is pretty good so far. Dan has been very good in communicating about the use cases of RSC but i don't see them talking about why signals are a bad pattern for building UIs. With this being said React will still be my go-to UI framework because it's universal now for UI. It's everywhere from native to terminal. Until there's an alternative this is not going to change.
"but i don't see them talking about why signals are a bad pattern for building UIs" -- I'm not sure they think signals are bad in general, they are just bad for React and the way React works both on technical level and mental model level. To be honest, I like that the React team isn't jumping on the hype train. Signals are hot now, but that doesn't mean they fit everywhere. I like the fact that React team takes time to think about features and implement them in the way they think fits best in React. They might get criticized when a feature comes out, but later many get inspired and/or copy them. Of course I don't agree with every decision that React team makes, but usually when they do end up shipping a big feature, it ends up being almost revolutionary. Not to say other frameworks haven't done great work because they certainly did their fair share of independent interesting ideas.
I don't get the "if you just think like..." argument. Docs are pretty short and easy to understand. You should be reading docs no matter what you use. Everything has a "way of doing things."
The problem is, none of these other frameworks are as heavily used or supported, the react ecosystem is massive, and you can find answers to almost any problem fairly quickly.
Vue/Nuxt are heavily used and supported. And most React problems are well ... React problems you usually don't have with other frameworks, so it balances things out.
I agree with your point of view. It seems like these days Nextjs has adopted something similar to Astro islands with its use client directive. I would have preferred they switched to something like js chunks streaming like Qwik has done. They made all the fuss, they could have just switched to something better.
I understand the performance argument, but confusion with SSR SSG ISR and the like will still persist with other frameworks and their meta counterparts.
Your post here pretty much *nails* my thoughts on this too. I think it's a matter of time before many React developers will eventually realize that there are much, much better choices now. Especially SolidJS, Astro, Svelte, Quik, etc. But Solid is my new favorite because it is so much more intuitive, performance screams, but mostly it is much easier to code it correctly without learning a lot of quirks and workarounds for legacy React issues and design problems (such as tying reactivity to components). I keep seeing React folks posting "solutions" to numerous problems with React, without thinking about whether they should even be trying to solve those issues... or just use Solid and the problems don't exist. Solid (Ryan) has watched React for years, admired it's accomplishments but also learned from its mistakes, and it's just hands-down a better choice for React developers today. Maybe not for Vue devs (it is, but it's less obvious). But if you're starting something new now, or wanting to branch out and *ride* the wave rather than swim after it a year or two from now, I'd strongly recommend learning Solid. And Astro just adds to that. And SolidStart will provide the remaining major piece to the ecosystem.
I have in same situation, but with Angular. Similar experience, similar problems... In my 8 years of development i learned that not a lot of people fully understand Angular's concepts, including me. The ecosystem is overcomplicated. The documentation is poor. In latest version 16 there was a huge step forward to making writing applications better, but yeah, i feel the same, but from other other framework and i'm looking for alternatives like React. Let's exchange, lol.
Same, Next 13.4 nonsense with it becoming a Vercel marketing first product + pedantic "you should use a framework if building apps with React" led me to try solid and revisit Vue
This will the the easiest point to switch, use client losses you most of the RSC advantages so why not just try the other stuff out there that does server stuff better (qwik or astro) or client side better solidjs , i would love if something like Rakkasjs got the nextjs treatment it has the basket features from around the JS frameworks as a react Meta framework -client/server only middleware + mixed - locals : client/server/shared - custom server only data fetching hook inspiredd by the react query API -form actions route guards with access to the locals and request response objects that let's you change them (not read only) - hattip : like express but better which makes hosting on multiple runtimes possible, workers , deno , bun and node And finally vite it's still super rough around the edges though
+1 I've been using it for 9 years. I loved React so much the first couple of years. Now I absolutely hate React. It all went downhill when hooks came out. Moving to a better thought out and opinionated framework. Sveltekit.
Based. React indeed is a mess nowadays and they definitely go into the wrong direction, trying to reinvent the wheel and be good at what they're not good. As of today, with plenty of other - faster, easier and more practical - choices, there is 0 reason to use React as 5+ years ago. The only 2 things that save React from quickly dying are: 1) the big and historically rich ecosystem; 2) the big company behind it that keeps promoting it. That's why you see all pretentioness and business outlook from Vercel. It's part of marketing to stay a big fish in the pool while other fish is growing.
different things click for different people! react clicks as hell for me, but that's why we have multiple works. a diverse ecosystem is healthy and breeds innovation 😊
@@viktor-dy9tr they were talking about react being barebones ui library, not a framework, but seems like your smooth brain could not comprehend it and went with completely unrelated low effort joke, good job
i worked with react and honestly, when you were listing down the reasons why you were leaving react, man... i thought i was speaking to myself, it was me telling myself why i should move away from it, and i totally agree, react has made things even more complicated when the point of having or working with good framework is the simplicity of it. react just doesn't there well.. and concepts in react are so unnecessarily difficult to understand and you require considerable time to master them which is probably not a situation you wanna get into when you are on very tight deadline schedule or working on some live systems,
Strong reason for choosing React in a commercial sense is hireability. If you're starting a project for yourself by all means pick whatever you like. But if you want to recruit a team it affects the decision. In saying that I've been working with some 40+ dev teams and our routing logic is all sorts of backwards. And its been enabled to happen because React is unopinionatied about it. Next.js however I've really liked. Its brought opinions to create a complete framework not just a rending utility that React is. All of that said this is all very subjective but I enjoyed the video. I do get the "vibes" point. I don't know if I've ever loved react but rather fallen into it because its popular.
For some reason over the past months I have been feeling almost the same thing. I'm constantly trying new techs such Svelte, Solid, Qwik and others and they all seem to more "realistic" for me. I still love React because it's kinda easy to build applications with something we all know (don't need to fully understand it) and use. But also, at the same time, I want to migrate to one of those techs, firstly to future proof myself and secondly to eventually get out of my comfort zone. Great video!
5 minutes and 40 seconds of maybe yes maybe no maybe rain maybe snow... that's just great... You could have optimized this RUclips video from 5 minutes to 5 seconds achieving the same outcome. Thanks.
Really appreciate this video. I share a lot of your thoughts and I'm only keeping up with react because of my full-time job. I would say, if you want to stand-out, become a great javascript developer. Don't get locked on frameworks because after all, they are all built with JS/TS. Frameworks will come and go. The reality is, if you want a corporate job, you need to know React or Angular. But if you're doing freelance development or working on your own project, experiment with new things and choose what's best to solve your problem in a way that you enjoy. I'm surely trying Qwik for my next side project.
Kinda over-generalizing. Yeah React is getting a lot more complicated, but so is the whole web. You want shiny things on your app? You're gonna have to use shiny tools to get it done. Our apps can only be as complex as the tools we use to build them are. Also, I'm not trying to defend React, this is pretty much the case for every ui framework/library out there
@@BLOBBERNATOR bro you don’t always need to get the new shiny features to get the job done. I know someone using PHP and earning thousands of dollars. it’s not always about new its about making something that matters and of course good DX
@@edwinencomienda You can make the absolute best UX ever with only pure js/html/css if you wanted, but it would be a mess and be extremely hard to debug later on. This is mostly what all these frameworks are for... structure and consistency for your apps. Not sure what your point is
i think generally the component model is everywhere at this point, so there's that. but, i also learned a lot about building web apps with react, so there's plenty to take from it!
Great video. Vercel has also pushed SSR heavy (that is a revenue channel for them) and other tech streamers who play heavy in that sandbox are offended if you question putting server and client code in the same UI component. The JS / Web world is one of the few software development areas were people treat a developer group as "the gospel." While the React team has great devs on it, there are so many talented people. Yet whatever Facebook throws out there, frontend devs flock to without question. It is great to see more and more people questioning. Thx for the video
Tbh I trust more Facebook than Vercel. Facebook don't give a f about marking money out of React, they're making billions from people's data, at least we can be confident everything they do is for solving their engineering needs. Vercel in the other hand ? They just want you to use their frameworks so you host your app there, and adding more and more stuff so you need to spend more with them, preferably vendor locked too if possible.
What prevents you from using React like you did previously? You don't need to adopt Server Components if it doesn't make sense to you. Your old code keeps working
@@azdy68 pre server components have been there since 2013 and there's no plan to abandon them 🤷♂ What's your signal to think that they could eventually become deprecated?
@@azdy68 I think core team members moving to Vercel is not a good thing. These things need real dogfooding and current Meta setup is not so ideal anymore to do so properly afaik. Expo is also planning to use Server Components, Evan Bacon published a demo a few weeks ago btw. Server Components also make sense for React-Native, in particular very large apps that need server driven ui. On web or mobile, you are not forced to use server components, so this shouldn't worry you much if you don't see the benefits yet. And I don't think regular components will ever be deprecated or change significantly. Most likely they will become simpler over time thanks to React forget, useEventEffect, records & Tuples etc...
Getting strong "you don't need to adopt hooks if they don't make sense to you. You can keep using class components" vibes. Technically it's correct, I guess. 🤷♂️ Side note, but it's funny how client devices and networks are getting faster every year, yet we insist on moving more work (and cost) to servers. We're moving backwards.
@@ninecrowns7092 Because most users around the globe purchase affordable phones, that have slow hardware, not premium like the apple or flagships from other manufacturers
Wait, what?? When you were a young dev, react already existed...? But react showed up just a few years ago... (googling) well, almost 10 years ago... but that's just a little while ago to me... I'm old...
I stick to react because my youtube views would drop if I didn't use it 🤣 I'm a hostage, please help
haha, maybe i'll regret this if i try harder on youtube!
@@adamdotdev It fine as long as you make a video title 'Why I came back to React" xD
@@adamdotdev each framework has its own gotchyas and leaky abstractions. Reactivity comes at a cost in its own way
@@WebDevCody fr leaky abstractions is the reason I move away from react ecosystem
@@Thanveershah 🤣🤣🤣🤣
I've been a React dev for 4 years now, and I cannot do this anymore. I'm migrating my career to the backend. My main problem with the whole frontend/javascript ecosystem is the lack of convention and consistency. Whenever I write JS code, there is a 90% chance this code will no longer work in the next 6 months, either because the framework I'm using died or a new version with 1000 breaking changes just launched. I think the current state of the frontend is extremely unstable, and very likely to keep changing for the next years. And to be honest, I'm TIRED, I want to learn a framework like Rails and feel safe using it, without any FOMO for hyped technologies that don't make sense and will likely die in the future
I personally have been reading for about 6 months and watching --I'm about to start learning to code-i've chosen c#-do u think this is a good choice for a front and back end-thx
@@laffta6727 choose nodejs or go.
my dilemma is that I focus on where I think the jobs will be (and I am looking...) - React is a good chunk of the FE job space. Not interested in Angular (the Java of the front end...), and Vue is the only other big contender. As much as I want to dive into Astro / Svelte / Solid and the rest, I just cant justify the time if I cant find a paying gig with them. React / Next is a bit of golden handcuffs.
Great decision! It's a strategy I've consistently followed. I worked with Ruby on Rails from 2012 to 2017, but unfortunately, it was quite challenging to secure job opportunities within that framework. Even though it was an excellent framework, I faced difficulties convincing companies to adopt it. So I moved on in 2017 to React and Angular, these days it's between react,angular,and vuejs.
Angular is more like C++ of the front end. There are better choices but it is still usable I guess. Java is a lot worse.
Unfortunately....I agree. I'm in the same boat. personally, out of the three, I like Vue. And I'm seeing it listed along side React on job postings a lot now. So there's that.
@@babykosh5415 yeah, my thinking is that there are two tiers: there is "good choice to learn in order to maximize chances of getting some work", and then there is "ok, cool, neat, but this is something I will learn on the job as part of a project". Things like Astro, Svelte, etc fall into the second category (at least that is how it feels in May 2023). A side note: I liked Vue 2 more than Vue 3, but I like React / Next with hooks more than the old style. One got easier, and the other got more confusing.
@@javajoint Vue3...yeah....they got caught up competing with react I think...and forgot to just be "fun"
if this video doesn't mention ocaml + htmx, i'm going to freak out
🫠😂
I'm pretty invested in React, but I think Solid is a great choice, a good iteration of JS frontend technology, with all the knowledge we as a collective gained since the first React.
I think today's React advantage is ecosystem. I know I have a huge ecosystem behind me and can easily grab and reuse lots of things, I hope we can see such an ecosystem with Solid.
I agree on the vibes point, been using Vue since the start and there's none of that pretentious attitude as far as I can see, just silent suffering because cool packages support React first😅
that's because the cool vue packages go out first for asia where no one looks; and it is understandable because its largest community is from that area of the planet
I've not dived heavily into React or Vue, however I looked at both and Vue was instantly intuitive whereas React was 'spaghetti' to me and nothing has changed.
HTML is better
Yes html is spageti not react. If react component is like spageti then you are doing something wrong. Personally I like react because I think it's a closest to vanilla javascript with less magic 🪄
Urgh it's from China
I agree vercel marketing gives off some pretentious vibes but all the devs on the next team at vercel are pretty chill and provide a lot of positive interaction outside of their work roles at vercel. Which has helped me put my guard down. I feel like Theo is the most pretentious in the next space but that’s mostly because him being opinionated gives him more views with clickbait videos… but he does offer some good content from time to time. Will be interesting to see what emerges from the Rust ecosystem for web development in the coming years. React may lose its spot for defacto web dev choice.
Yeah Theo can have some good takes, but what I dislike about him is his ego. He thinks he is always right about everything and acts like a pretentious a--hole a lot of the time. I do like some of his content, but I ended up unsubscribing because of the way he behaves, not because of the things he presents in his content.
@@rand0mtv660 I enjoy Theo but lately I've noticed two trends:
1. He deletes comments with legitimate criticism of any tech he's an advocate of. Not sure how long that's been going on but I'm totally against it.
2. He wasn't as egotistical when he was less known, and I imagine he will become more egotistical as his notoriety increases.
@@rand0mtv660 oh... i was just take a liking to his t3-stack thingy
I stopped watching Theo the moment I realized that watching his videos made my anxiety skyrocket. Just a bunch of random drama and FOMO for useless new technologies
Theo is literally a clown, even ignoring his dumb takes he resembles more a TV reality pawn than a dev
i agree with all your points adam. that's why im going to switch to vue/nuxt for a while and wait for the react community to figure their stuff out
Best decision if you ask me. Nuxt is a game changer and actually fun to work with
React and the Next stuff feels like a cult
😅😅😅
"You WILL use hooks/suspense/RSC and you WILL like it"
It was just recently I really understood that on a couple projects we have pushed the boundaries of what React is capable of. Now we have an entirely new era of state machines within the React ecosystem trying to solve problems that are caused by the nature of the framework. React has been a dear friend whom I have loved and used it successfully on a multitude of applications but I starting playing with alternatives and I feel the same as you about SolidJS. React has been wonderful and forced us to re-think UI frameworks, and Solid feels like a natural evolution away from React. They took all the great parts of React and left the smell.
Super annoyed with Vercel marketing recently. Very pretentious
I build a lot of in-house diagnostic applications, some with a web UI. For this, I still like React, but bare-bones SPA's. No server rendering, just a JS bundle that does the mundane tasks I need it to do. It's all it needs to do, and I think a lot of people over-complicate things when building for the web.
You're doing it wrong, look at this Andrew Clark's tweet : "IF YOU'RE USING REACT YOU SHOULD USE A FRAMEWORK".
Don't know if it's Vercel's money or he just doesn't understand why people liked React in the first place
Thanks for saying this. I'm still hesitant on which framework should be next. I don't feel comfortable in any. I miss the days where we just put some JS in a page without compiling and worked.
You should give Nuxt a try 🤠
What should we use to build projects?
There is a lot of strength going with the market leader - the "no one got fired for buying IBM" effect is SIGNIFICANT - whether it's being able to staff a team, build a skill you might use on a different team, or just not have to remember "oh what was that weird ass tool kit that was all the rage in 2024, how do I use it again?"
I use no framework in my latest project and it's actually not that bad. No overhead, no locking in and have the freedom to adapt to new native js features. Drawbacks are no data binding and no store to sync data.
You can use small state managers outside of any framework.
@@vnshngpnt Yes. Do you have tried one of them? I looked into a few but thought they was a bit over complicated.
I totally agree. I'm beginning to hate what Next is doing to React. Deciding for us how we build applications is just terrible. Wasn't a fan of directives and I certainly dislike having multiple exports with special weird meanings.
Nextjs is not react, you are not force to use it .. the problem is looking at those features as problems instead of seeing how much features you get for free .. building apps, websites from scratch is not hard but takes a lot of times
@@JairoGatjensndrew Clark : You should use a framework if using React.
First RSC working implementation with the help of the react team : Next.
And I don't know what you call "from scratch", a frontend framework + Vite is far from being from scratch. And you'd use a backend framework and not their API routes for any non trivial task anyway.
And ofc too much nonsensical features becomes a problem that can slow you down.
Nailed it. The blunt truth is that the whole push towards esotericism is just low-grade psychological manipulation on developers by an insecure community of tool builders, who are, frankly, not as intelligent as they think they are. If you don't understand 100% clearly how a tool works after reading the docs and seeing examples, it's not you: it's the people building the tools. I only learned this once I started building my own tools (out of a similar frustration) and realized that much of the modern JavaScript ecosystem is overcomplicated-I'd speculate intentionally so, either via malevolence or incompetence.
I honestly agree with some of the points. Im still going to use react because that is part of the tech stack we use at work but I definitely see his argument.
There is nothing in the current FW ecosystem which comes even close to next gen FW like Qwik. Not the speed, or procedures, its that others just simply cant do what it does.
Nobody in the FE community really ask, why Amazon or Ebay is not using react or Next if its so freakin cool. It's just because they're the Wordpresses of the FE world. They dominate, they're everywhere, but they're just not made for high performance, front-facing apps. When did we DEVs become ok with this?
I have asked myself this question so many times. Even though I use React everyday, it sucks!
Nails it. I gave up on React years ago and have used it only when forced to. I love the FP aspect, but useEffect is a curse. And while it made some sense to have a virtual DOM back in the day, it's simply no longer necessary, which makes it dead weight. Solid is infinitely better (although not quite as intuitive as you suggest), and Ryan Carniato is a very nice guy. I was building Solid apps before it reached 1.0. For production.
Then a year or so ago I discovered Astro. I'd wanted to work in vanilla for a long time, but components are really hard in pure vanilla code. But Astro gives me TypeScript and a component architecture and I don't have to include islands of Solid or whatever.
My current sites have no front end dependencies at all. They are just vanilla JS, CSS, HTML. I write them in TS with components and Astro compiles them for me. I deploy to Vercel (you don't have to use Next or React -- they are wising up). I never watch videos (yours is a rare exception), so I wasn't aware of their pretentiousness. That's sad. I know Guillermo Rauch and he's very nice.
But the React team? Oh, hell yeah. They think that they ARE the Web. Google (Angular, Polymer) does, too. I strongly recommend Astro and Solid in islands only if/when you absolutely need it. For a long time now I've pointed out that most "front end" devs are really "React devs" (and now Tailwind) and that they are actually incompetent when it comes to HTML, CSS, JS, Web APIs, and accessibility/usability. They are basically clerical workers making mash-ups of dependencies and React code.
My current sites have, as I said, ZERO front-end dependencies. And they are easy and fast to build. Copy and paste is your friend.
@AngelsShareProject being a web dev for 26 years, I watched as people who really knew all frontend tech get replaced by people who had never seen how standards came to be. React is fine as a UI component library but I don't understand how it is becoming the omnipresent FE and serverside component library, when it hasn't even accomplished the mission of bringing sanity to the frontend. I haven't worked in Rails in several years but I think they made the right call with Stimulus, bring in react and other FE libraries when necessary and leave them out when unnecessary. Something I thought Vercel was getting behind until Next 13. I say that as I make build tools for Next to bring said sanity, knowing I can't escape its vacumn.
Which framework should I use then?
so what do you think is the best direction for a student getting into web dev. I'm in school right now I have experience in html css vanilla JS and wanted to start react soon.
dude i just use whatever i like and ive never liked react
its just where i got jobs
starting a project by myself would probably be vue3 or solid idk
This video is so spot on. As a relatively new (7 months, self taught) dev, I’m so over the pretentious nature surrounding react. One week everything I know is wrong, the next week they’ve changed their minds and now I “need” to do it a different way, and a month later that new way is “wrong” again and I’m dumb if I do it the way they literally told me I “had” to do it last month (“they” being Vercel and many of the React Twitter/RUclips personalities).
Just landed a job, so I don’t have to worry about hyper-focusing on one ecosystem anymore. I adored Vue during the 2 weeks I used it starting out, and this helped convince me to dive back in. Great video and very enjoyable vibes in this video, contrary to much of the content I’ve been consuming over the past 7 months!
I'll never use it because of the same reason, overcomplicated mess, never seen any tech where I can follow the official docs and be wrong and have a react phd user correct me on twitter. Smh.
@@thebirdhasbeencharged it really is a mess right now. It doesn’t come with anything out of the box so if you want to follow a simple tutorial, you have to learn 10 other things first lmao.
Did a deep dive learning react router, redux and react query for this very reason. Fast forward a couple months and now everyone hates all 3 and will only talk about Next 13. Opinions are so strong to the point that the official docs will discourage the use of its own features as well as other libraries. Just a mess.
@@JakeLuden what irks me the most is that all the good stuff is built around it, framer, shadcdn etc😭😭😭
Having things separated is usually better though. Let's think in reverse. Do you expect frameworks to have a native state management solution like Redux built in? Router I can understand. Query logic maybe. But Redux? Are you serious? This must be a joke.
I don't remember React team saying "do it this way" and then "a week later" changing their mind. Can you stop dramatizing? It was years until they stopped recommending create-react-app in their docs. Class components are still supported. No change is forced onto you. "Gradual adoption?" - "Never heard of it."
Now the next team does it's own thing, but it is still improvement overall. Same as the react, no change is forced onto you. Do you have the slightest idea for how long the app router was in beta? For how long server components will be in beta until they become stable? If you *react* to any and every experimental alpha feature and immediately start to think: "Aha! So that is the new way to do things! Let me rewrite my codebase..." - that is entirely your own problem. Not the React or Next team being indecisive and "evil", just you being stupid, nothing more.
With all due respect, you should just shut your mouth up until you have a more valuable opinion to share, rather than overdramatizing about something you have no slightest clue about.
**Kindest regards, 231172145**
@@twothreeoneoneseventwoonefour5 true. people are just being dramatic. The changes happens in months and if you have good fundamentals it is so easy to pick up.
Angular 2: nobody thinks like Typescript
React 18: nobody thinks like React
Totally get where you're coming from on this one. I like the React mindset, it's comfortable for me, but the future of the framework and the Next.js + Vercel spins on it have put a really sour taste in my mouth. I've been happy with an Astro + Preact combo, lately.
Started using nuxt 3 this year…. It’s been hard to touch anything react again
To me reason #1 is the biggest for me. Those vibes are the breadinggound for bad unoptimized code. "best practise" would be a good idea if outcomes would be actually measured, but as it is, someone just claims that a certain way of doing things is the superior one, and just by the perceived authority of that person, it slips in without ever actually being challenged by evidence. The result is really slow code and project structures that take up more time maintaining than the functunal code that actually does something.
whatabout native mobile? is there a solid js for OSX and Android? thanks.
tbh, i'm not all that plugged in on native mobile, so i'm not sure! i know people love RN!
Amazing video, and I do think that vibes are extremely important to consider! We become who we surround ourselves with, so may as well double down on communities you look up to! One of the main reasons I was drawn towards Astro in the first place.
i've been rewriting statmuse.com with astro and i've loved it!
I see your not a big fan of Vercel's NextJS, but how about Remix ?
haven't played with remix, yet, but planning to look at kcd's epic stack soon!
I tell from the start that react is big step backwards 🔙 . Like they not learn any thing from smart ppls that come before them. And force to make all mistake again
gotta be honest here, I haven't finished the video yet but reason number 1 to me seems *very* compelling, and probably how a lot of folks feel out there (myself included), so I'm kinda of afraid to watch the entire video cuz the other reasons are supposed to be even more important lol
haha, i can totally relate with the fear of leaving a giant, proven ecosystem!
your first reason is kinda my main reason... never really liked the react vibes, just used it a bit because of the huge popularity but now I'm moving more towards vue I think... It's all kinda new to me yet, as I come from more of a back-end with JQuery, so I'm not sure of anything yet
Have you considered Svelte as a possibility? And possibly SvelteKit as well?
it's on my list of "need to check it out", for sure! i use @sst-dev and they just added sveltekit support, so i'll take a look soon!
Great points. I also wouldn’t discount “vibes” being a reason. It’s plenty valid.
it definitely matters to me!
Agree. I've been finding it hard to put into words. But "elitist" is exactly the vibe I've been getting. Their marketing seems a bit artifificial. I love the work they do but I find it hard to trust vercel as a company these days
Did he say what he is going to pick instead? I missed that part was multitasking.
for highly interactive sites/apps, i'll likely use solidjs; i'm currently rebuilding statmuse.com with astro (it doesn't have much client-side interactivity).
good for you. I'm staying away from react after a couple of frustrating projects, and will be converting them to blazor this winter. i personally like the modeling and flow better, and since i have to maintain these projects for as long as i work here, I would like everything on the same stack.
Until other frameworks have a react native competitor. React is king.
Ah I don't really like React Native. The only upside is that it is easy to learn/transition to, but ask yourself first - why? Because you work in a company that cannot afford to have a separate (even small) team for mobile? React Native is like Python in the world of mobile. No reason to use for a serious project imo.
I would look further into Flutter for mobile (it's rendering mechanism is both a blessing and a curse) instead. It isn't that compelling yet, but has bright future. Native, on the other hand, doesn't have good future imo. But I digress.
Which is weird because React Native is utter garbage. Great for a product prototype, but the maintainability of a RN app is godawful
Everyone said React is king always end up with abadon project after 2 years.
This felt like a breakup, but you are right. The constant pressure to create new concepts every year or so is too much to keep up with.
I get there are hard problems in web dev, but seems like the solutions are overcomplicated for what they do. The deploy lock in is a big meh too.
Sir, which frameworks do u love??
Right now I'm loving Astro, using it to rewrite statmuse.com. It's not a React replacement, though, and if you're building a SPA you should use something else. SolidJS has a lot in common with React at author-time and I think it has a simpler mental model.
@@adamdotdev thanks sir
Here's what I know. Ask a React fan what other frameworks they've used, and you'll find that they either have not used another framework, to any significant degree, or haven't in a long time. That is, they don't have many/any good modern comparisons. They just know that they like React. Ask the same question to a fan of just about any other framework, and you'll find that most have tried React. In short, React is a fine framework ... until you really see what else is out there. Then, you realize that it doesn't do anything special and it actually doesn't even do it that well. It underperforms on virtually every metric except popularity. (That's not an insignificant metric - it is an important consideration - but let's be honest about it. McDonald's is a popular and successful brand, but is it really the best option?)
Hey, I love McDonalds's :D But yes, React is saved only by its historical heritage, remove it and there is nothing left to compete.
react is not framework
@@RaZziaN1 It is, you write most things while respecting react rules, being hooks ones or whatever, use meta's jsx and so on.
In summary you build your whole app around it, most of other libraries you install do the same and also depend on React.
It's just more minimal than other frameworks.
I'm with you on this one, ever since I've started playing with Solidjs, I've always wondered why can't react be as simple as Solidjs. All these new hooks they provide to solve the performance issues, but then your are never quite sure whether you should always use them. Some say that you shouldn't always use useMemo, others say always use it.
The other thing is that you can't use hooks if your are not in a component or another hook.
In Solidjs, everything is a function, and the beauty of it is that it only runs once. You have to opt-in for re-rendering which I love. I always felt it weird in React that you need to opt-out for re-rendering.
There is no way to tell you you are wrong in your decision. Just use what makes sense and be happy. I can totally relate to your first reason: vibes. Why? Because I use Remix for all of my projects. Needless to say more, I assume. Thanks for releasing this video.
Immutability and unidirectionality felt like general principles, and it was a good exercise to learn to think that way. Server components seem like a specific architecture that happens to be available, not anything general or profound (like resumability), but the same kind of mental shift is being asked. In reality, I predict React solves the compiler, compiles to signals, and that enables resumability. But that won't be available for 3-5 years. It's a good time to try other things and skip the chaotic period in the middle. I'd probably go for Qwik or SolidJS + Astro, personally. But I think Angular will reemerge as a top framework again maybe in 2 years, right before React (but React will continue to carry more momentum of course, and burn out a lot of devs).
Immutability is shit idea that drains the computer memory . And it is an anti pattern to "never use the allocate command more than you need" because memory management is the harder mission of the computer
What about mobile ? do you still use RN ?
It’s all about half-baked server components idea. In fact fetching data and rendering html on server and sending less js to front end seems like a great idea. But passing those props to the components is not well thought in my opinion. They should have thought a server-side context / redux like provider first (as far as I know they’re working on it). And probably the worst is dilemma of choosing server or client components. the moment you realize your code won’t work because you’re in a server component and you have to refactor your code into a new component sucks. The proposition of sending less js code to front end makes you think “I should use less client components” and all of a sudden you find yourself in a situation of making a decision to leave it as a client component or find better ways to utilize server components. Like I said, it’s a half-baked idea and pushing it as a production release without proper helpers affects many of us. About being pretentious part, well they’re doing it just fine :) React and Nextjs are the leader of the market and they act accordingly, I guess they have every right for it. That being said, I really admire their approach. Of course I’d appreciate if they find a better concept instead of being an Apple copycat.
Thanks, I think the Vibes are very important.
I ditched react since 2019 iwas tired of thire way of doing things every time they come up with something we learn it then they change it or come up with more things and everything getting crazy complicated its not worth it
The reality will strike in the most harsh way as always, dissolving all people's wishes as how things should be.
React is the most picked framework to date by majority of companies which doesn't seem to change anytime soon. This is backed by the fact that large companies doesn't have (resource here) to burn to try out new things that are not written in the stone. Why does it take so long to switch from old windows XP to the newest one? Because it's expensive and most of the infrastructure relies on it. If you can't understand that real money is still in React ecosystem, try to put yourself in the shoes of a CEO that has to decide what technology will your company use for the next 10+ years without employing new devs every year just to rewrite your codebase. React is not perfect and no other framework is. It just works and is backed by large company. That's the most important thing for employers - continous cash flow.
New frameworks emerge lie mushrooms after a rainfall. Did we have most of so-sought-after ones two years ago? No. Do we prefer stability and continous support instead of constant change? Yes. We have limited time for brushing up on skills and I prefer to spend my time mastering one thing rather than being a clown that can do a backflip and juggle with coconuts.
I'm also tired of this constant battle between X-framework and "my favorite, fast and state of the art Z-framework...hurr durr!".
I'd rather stick to what is status quo for a long time and if the tides shift, I will invest my time on learning that new approach that will bring money to my household. All of that is just a tool for the work we do.
Reality for you, people are free to use whatever they want, btw then you should just use PHP if you think things can never change, just in the js frontend word look at Angular, it was dominant back then and is now probably rarely chosen for greenfield projects.
And let's not act like switching from React to Solid Svelte or Vue is hard, a half experienced developer could do it in less than a week, those are all the same concepts with a slightly different syntax.
And if you want to keep using the same technology for 10 years your beat bet is probably not the slowest and less coherent solution, even React libraries with thousands of github stars get abandoned regularly, you won't have this problem with a more complete framework.
vue 3 is always the winner
Give Nuxt a try, built in Vue but better
It's a shame Vue doesn't get as much attention. It's so pleasant to use!
I have my eye on Signals, but sadly it feels like they've missed the boat. There are just too many libraries out there for React.
I'm a Java developer and we used to be fans of Vaadin. I switched to React about 1.5 years ago and even today, I still have issues "thinking like React". I'm right there with you. No more React for me. We're switching to Thymeleaf and HTMX. HTMX is the new future. :-)
Great to hear that you're exploring new frameworks for web development! It's always a good idea to try out different tools and technologies to find the ones that work best for you and your projects. It's also refreshing to hear someone talk about moving away from a popular framework like React, which can sometimes dominate the conversation in the web development world.
I totally agree with you that other frameworks deserve more recognition and respect in the industry. Hopefully, as more developers like you try out and showcase the capabilities of these frameworks, the job market and industry will start to take notice. Keep up the great work and happy coding!
I learned React back in 2017. It was quite intuitive to me who was used to two-way bindings in other UI libraries. It also felt limiting because you had all those patterns that also seemed to evolve. Like using Redux. Everyone followed after React and Redux. To be honest, most companies probably jumped on the bandwagon because a big company like Facebook supported the project. So they invested tonnes in React. But seeing all those other Web framework popping up is both positive and worrying - i love new tech but it is not great from a business perspective. Now a lot of orgs are stuck with big apps built in React. There whole strategy is based around it.
I'm a .NET developer so I started using Blazor instead of JavaScript libraries. It is such a bliss not having to switch environments and having a decent component system with intuitive templating syntax and two-way binding support. Not having all of those patterns that JavaScript developers have invented by need but then have fallen out of fashion.
Anxiety around hitching an org entirely onto React (or any framework, really) is a lot of why I've been beating the drum for using web components for, well, components; write once, use anywhere*. Any dev who's been around long enough has watched all kinds of libraries and frameworks come and go. Yesterday, YUI or Bootstrap; today, MUI. Tomorrow, who knows? Web components at least help offset some of the pain around switching to a new UI library, like having to figure out how to re-implement custom controls you already had working elsewhere.
* with a compatibility layer for React, because React doesn't do normal JS events
It's still too early to judge RSC as React in itself has not changed and old react apps will just work. With RSC there won't be changes to existing app code. But libraries would need to add the "use client" thing to work properly. Also the bundling methodology has to be changed to make sure every client component is a file. This is the disruptive change for the ecosystem.
However i too don't like that the react team is outright rejecting signals. The signals pattern used in solid is pretty good so far. Dan has been very good in communicating about the use cases of RSC but i don't see them talking about why signals are a bad pattern for building UIs.
With this being said React will still be my go-to UI framework because it's universal now for UI. It's everywhere from native to terminal. Until there's an alternative this is not going to change.
"but i don't see them talking about why signals are a bad pattern for building UIs" -- I'm not sure they think signals are bad in general, they are just bad for React and the way React works both on technical level and mental model level. To be honest, I like that the React team isn't jumping on the hype train. Signals are hot now, but that doesn't mean they fit everywhere. I like the fact that React team takes time to think about features and implement them in the way they think fits best in React. They might get criticized when a feature comes out, but later many get inspired and/or copy them.
Of course I don't agree with every decision that React team makes, but usually when they do end up shipping a big feature, it ends up being almost revolutionary. Not to say other frameworks haven't done great work because they certainly did their fair share of independent interesting ideas.
I don't get the "if you just think like..." argument. Docs are pretty short and easy to understand. You should be reading docs no matter what you use. Everything has a "way of doing things."
The problem is, none of these other frameworks are as heavily used or supported, the react ecosystem is massive, and you can find answers to almost any problem fairly quickly.
Vue/Nuxt are heavily used and supported. And most React problems are well ... React problems you usually don't have with other frameworks, so it balances things out.
I agree with your point of view. It seems like these days Nextjs has adopted something similar to Astro islands with its use client directive. I would have preferred they switched to something like js chunks streaming like Qwik has done. They made all the fuss, they could have just switched to something better.
So then what are u using instead of React?
I understand the performance argument, but confusion with SSR SSG ISR and the like will still persist with other frameworks and their meta counterparts.
Your post here pretty much *nails* my thoughts on this too. I think it's a matter of time before many React developers will eventually realize that there are much, much better choices now. Especially SolidJS, Astro, Svelte, Quik, etc.
But Solid is my new favorite because it is so much more intuitive, performance screams, but mostly it is much easier to code it correctly without learning a lot of quirks and workarounds for legacy React issues and design problems (such as tying reactivity to components). I keep seeing React folks posting "solutions" to numerous problems with React, without thinking about whether they should even be trying to solve those issues... or just use Solid and the problems don't exist.
Solid (Ryan) has watched React for years, admired it's accomplishments but also learned from its mistakes, and it's just hands-down a better choice for React developers today. Maybe not for Vue devs (it is, but it's less obvious).
But if you're starting something new now, or wanting to branch out and *ride* the wave rather than swim after it a year or two from now, I'd strongly recommend learning Solid. And Astro just adds to that. And SolidStart will provide the remaining major piece to the ecosystem.
I have in same situation, but with Angular. Similar experience, similar problems... In my 8 years of development i learned that not a lot of people fully understand Angular's concepts, including me. The ecosystem is overcomplicated. The documentation is poor. In latest version 16 there was a huge step forward to making writing applications better, but yeah, i feel the same, but from other other framework and i'm looking for alternatives like React.
Let's exchange, lol.
Same, Next 13.4 nonsense with it becoming a Vercel marketing first product + pedantic "you should use a framework if building apps with React" led me to try solid and revisit Vue
Truth is we really don't have a choice, even managers think everything has to be in React. They got it. Remember Beta and VHS?
This will the the easiest point to switch, use client losses you most of the RSC advantages so why not just try the other stuff out there that does server stuff better (qwik or astro) or client side better solidjs , i would love if something like Rakkasjs got the nextjs treatment it has the basket features from around the JS frameworks as a react Meta framework
-client/server only middleware + mixed
- locals : client/server/shared
- custom server only data fetching hook inspiredd by the react query API
-form actions
route guards with access to the locals and request response objects that let's you change them (not read only)
- hattip : like express but better which makes hosting on multiple runtimes possible, workers , deno , bun and node
And finally vite
it's still super rough around the edges though
+1 I've been using it for 9 years. I loved React so much the first couple of years. Now I absolutely hate React. It all went downhill when hooks came out.
Moving to a better thought out and opinionated framework. Sveltekit.
Based.
React indeed is a mess nowadays and they definitely go into the wrong direction, trying to reinvent the wheel and be good at what they're not good. As of today, with plenty of other - faster, easier and more practical - choices, there is 0 reason to use React as 5+ years ago.
The only 2 things that save React from quickly dying are:
1) the big and historically rich ecosystem;
2) the big company behind it that keeps promoting it.
That's why you see all pretentioness and business outlook from Vercel. It's part of marketing to stay a big fish in the pool while other fish is growing.
different things click for different people! react clicks as hell for me, but that's why we have multiple works. a diverse ecosystem is healthy and breeds innovation 😊
great take!
I love the diverse React ecosystem too! There's Vercel, and.... uhm... Vercel...
@@viktor-dy9tr don’t forget about Vercel, and uhmm yess Vercel
If react clicks for you... you probably haven't tried vue :D
@@viktor-dy9tr they were talking about react being barebones ui library, not a framework, but seems like your smooth brain could not comprehend it and went with completely unrelated low effort joke, good job
The Vue community is welcoming you whenever you want 💚
oh look a react hating video, instant sub
i worked with react and honestly, when you were listing down the reasons why you were leaving react, man... i thought i was speaking to myself, it was me telling myself why i should move away from it, and i totally agree, react has made things even more complicated when the point of having or working with good framework is the simplicity of it. react just doesn't there well.. and concepts in react are so unnecessarily difficult to understand and you require considerable time to master them which is probably not a situation you wanna get into when you are on very tight deadline schedule or working on some live systems,
Strong reason for choosing React in a commercial sense is hireability. If you're starting a project for yourself by all means pick whatever you like. But if you want to recruit a team it affects the decision. In saying that I've been working with some 40+ dev teams and our routing logic is all sorts of backwards. And its been enabled to happen because React is unopinionatied about it. Next.js however I've really liked. Its brought opinions to create a complete framework not just a rending utility that React is.
All of that said this is all very subjective but I enjoyed the video. I do get the "vibes" point. I don't know if I've ever loved react but rather fallen into it because its popular.
Criticizing is easy, proposing is hard. What framework will you be using instead?
using astro for the statmuse rewrite and solidjs for anything with lots of client side interactivity
For some reason over the past months I have been feeling almost the same thing. I'm constantly trying new techs such Svelte, Solid, Qwik and others and they all seem to more "realistic" for me. I still love React because it's kinda easy to build applications with something we all know (don't need to fully understand it) and use. But also, at the same time, I want to migrate to one of those techs, firstly to future proof myself and secondly to eventually get out of my comfort zone. Great video!
I’ve never used react because there has ALWAYS been something better. Vue 3 nowadays is too good.
100% agree with the "vibes" sentiment. Gave me an excuse to learn webpack and bundling projects though :)
I've never once noticed React has a vibe.
5 minutes and 40 seconds of maybe yes maybe no maybe rain maybe snow... that's just great... You could have optimized this RUclips video from 5 minutes to 5 seconds achieving the same outcome. Thanks.
Really appreciate this video. I share a lot of your thoughts and I'm only keeping up with react because of my full-time job.
I would say, if you want to stand-out, become a great javascript developer. Don't get locked on frameworks because after all, they are all built with JS/TS. Frameworks will come and go.
The reality is, if you want a corporate job, you need to know React or Angular. But if you're doing freelance development or working on your own project, experiment with new things and choose what's best to solve your problem in a way that you enjoy.
I'm surely trying Qwik for my next side project.
Welcome to the Vue 3 side 🤠 we’ve had signals from the start!
react is making things complicated each day. average developers don’t even understand these new shiny features
Kinda over-generalizing. Yeah React is getting a lot more complicated, but so is the whole web. You want shiny things on your app? You're gonna have to use shiny tools to get it done. Our apps can only be as complex as the tools we use to build them are. Also, I'm not trying to defend React, this is pretty much the case for every ui framework/library out there
@@BLOBBERNATOR bro you don’t always need to get the new shiny features to get the job done. I know someone using PHP and earning thousands of dollars. it’s not always about new its about making something that matters and of course good DX
@@edwinencomienda You can make the absolute best UX ever with only pure js/html/css if you wanted, but it would be a mess and be extremely hard to debug later on. This is mostly what all these frameworks are for... structure and consistency for your apps. Not sure what your point is
@@BLOBBERNATOR my point is the beginning of my comment if that make sense
@@BLOBBERNATOR found the react shill
React is the worst framework of all times. I've to use React in my company, but for my freelance projects I use Vue and now moving to Solid JS.
What parts of react are sticking around for you, besides JSX?
i think generally the component model is everywhere at this point, so there's that. but, i also learned a lot about building web apps with react, so there's plenty to take from it!
I use Svelte when I can, otherwise React ecosystem is too good
Great video. Vercel has also pushed SSR heavy (that is a revenue channel for them) and other tech streamers who play heavy in that sandbox are offended if you question putting server and client code in the same UI component.
The JS / Web world is one of the few software development areas were people treat a developer group as "the gospel." While the React team has great devs on it, there are so many talented people. Yet whatever Facebook throws out there, frontend devs flock to without question.
It is great to see more and more people questioning. Thx for the video
Tbh I trust more Facebook than Vercel. Facebook don't give a f about marking money out of React, they're making billions from people's data, at least we can be confident everything they do is for solving their engineering needs.
Vercel in the other hand ? They just want you to use their frameworks so you host your app there, and adding more and more stuff so you need to spend more with them, preferably vendor locked too if possible.
i felt the same way about solid and quik - if you think like ______ then you’ll get it. i dont buy that argument.
I'm tired of react but I don't wanna leave it
totally reasonable!
I like svelte. Shouldn't I?
i've heard great things, though i don't have any direct experience with it!
Make sure your video is affecting the new learners of next and react
You don't have to see that tower. React offers many ways to get to where you want - so no, I will not leave REACT.
The bewildering framework wars continue!
What prevents you from using React like you did previously?
You don't need to adopt Server Components if it doesn't make sense to you. Your old code keeps working
Possible depreciation of pre server component
@@azdy68 pre server components have been there since 2013 and there's no plan to abandon them 🤷♂
What's your signal to think that they could eventually become deprecated?
@@azdy68 I think core team members moving to Vercel is not a good thing. These things need real dogfooding and current Meta setup is not so ideal anymore to do so properly afaik.
Expo is also planning to use Server Components, Evan Bacon published a demo a few weeks ago btw. Server Components also make sense for React-Native, in particular very large apps that need server driven ui.
On web or mobile, you are not forced to use server components, so this shouldn't worry you much if you don't see the benefits yet.
And I don't think regular components will ever be deprecated or change significantly. Most likely they will become simpler over time thanks to React forget, useEventEffect, records & Tuples etc...
Getting strong "you don't need to adopt hooks if they don't make sense to you. You can keep using class components" vibes. Technically it's correct, I guess. 🤷♂️
Side note, but it's funny how client devices and networks are getting faster every year, yet we insist on moving more work (and cost) to servers. We're moving backwards.
@@ninecrowns7092 Because most users around the globe purchase affordable phones, that have slow hardware, not premium like the apple or flagships from other manufacturers
THIS IS BEAUTIFUL !!!!!!
you'll be back
good content. keep going sir, i just subscribed
Wait, what?? When you were a young dev, react already existed...? But react showed up just a few years ago... (googling) well, almost 10 years ago... but that's just a little while ago to me...
I'm old...
Welcome to the PHP community!