Another comment of mine: The fact that the creator of Rails DHH has a million dollar business supporting decade old codebases and a huge customer base and only
It's funny how every developer that became rich used a batteries-included framework like rails or laravel. While JS devs that try indie hacking for example are shipping a bunch of stupid small projects like AI wrappers
Sometimes I think JS devs purposefully makes the frontend harder just to say it’s now harder than the backend (100% ego). And as a consequence of that, we now need 10 devs to render a button on a page
I stopped watching Theo because he's so hype-driven. If he acts like there's a new, game-changing technology every 2 days, it just makes me assume nothing matters. And then it always annoys me that he pretends like it's such a big deal, every single time.
@@DavidsKanal Theo is pushing a methodology, and he's either unaware or unwilling to admit it. He promotes an approach and set of assumptions that guides HIS process, and helps HIM be successful. Which is fine until he refuses to acknowledge that other ecosystems are just as (and usually more) productive as Next.js or some boilerplate repo.
@@semyaza555 he literally said in the video that larvarel and Ruby were game changing technologies and are still great to use. Did y’all even watch it?
That's why Java and C# are still widely used. They have mature battle-tested frameworks such as spring and .net. We don't have to worry about the frameworks being abandoned in the future.
Java is used by banks, it is not possible to be abandoned. Javascript is that young kid that thinks they can do better, ignoring their predecessor's solution, in the end they used static typing and solid patterns just like what Java development already implement.
What I find most ironic is that almost every single person in the Laravel community has hands-on experience with React/NextJS/ etc. and therefore possesses the right to talk about both tech stacks. On the other hand, these Theo/Theo-like disney characters have only seen the JS side of things and have never written a single line of Laravel in their entire life, yet making a comparison against Laravel. I just don't understand how is that even possible? Show me one JS dev who has written a decent amount of Laravel code who is doing the comparison. So isn't it logical for all of us to come to the conclusion that JS-only devs have absolutely no idea what they are talking about?
Theo is a problem in the web dev community. He is creating a generation of new devs that feel entitled to call all the other frameworks trash, without even trying them. He is nothing more than a junior developer disguised as an experienced developer. If you spend 99% of your time trying out new fancy JS frameworks instead of studying the underlying web dev technologies (covered by Rails and Laravel for example), you will always be a junior
@@DanielBergholz FAANG effect in full swing. Although Twitch is not part of the FAANG but it works. These ex-Big tech guys are well connected and have easy access to VC money.
If Vercel makes batteries included framework like Laravel or start pushing NextJS into that direction then Theo will start liking all the batteries over night.
The thing I hate about JavaScript in general is that there’s no stability in the ecosystem. Front end development is a mess. Hundreds of css / ui libraries, several frameworks, auth providers etc. What makes backend nicer than front end is stability. But what happens when you bring JavaScript to the backend? You get more instability. (NestJS, Nextjs, T3 stack, Adonis, Express, Fastify) (prisma, drizzle, knexjs, raw queries,) etc. It gets annoying, but I appreciate the huge advantage of being able to build full stack apps very fast with just 1 language.
Yea, with all due respect I have for Theo, he's full of shit. When he opened the "create t3 app" and the first thing he said was that he'll replace Prisma with Drizzle, this is part of the problem. Things are always changing in a meaningless way.
Theo is 100% part of the problem here. He is constantly making videos about frameworks "dying" and how everyone should use the new one that just launched and is super unstable. Then unexperienced JS devs start watching his videos and making wrong decisions on their jobs, propagating this issue even further
Let me summarize what is going on in JavaScript Land: Selling Shovels in a Gold Rush (also they dont want to sell you that excavator, that would lower their shovel sales numbers.)
What about all that code wrote in Prisma? Fuck that, rewrite that and don't complain hahaha, while on Rails I have 10 years projects with the same ORM and everything still works, this is what stable means.
Yeah dude, since I started coding in 2020, I've seen so many things being crowned "the way" to do things in the JS ecosystem, and then in 4 years, they're "just trash" now. It's crazy to think the technologies I used at the beggining, since I really thought they were the best, like Apollo, TypeORM, GraphQL, were all hype. It's really hard at this point to trust anything coming out of the JS ecosystem long term.
It's great to see other people think like me on this one. I'm not a Rails or Laravel developer I'm more on the Java side but the idea is same. I don't remember the last time that a library that I use got "failed" and that I have to use another library instead.
Man, you can see that Theo never worked for a real company with legacy code when they say that you can "just create a new project and paste your code". Things are not that simple in real life. I can't believe that he has worked for 4 years on twitch and part of that leading projects, he must have left a huge amount of technical debt behind when he left, there is just no way that someone who thinks like him is not leaving technical debts from right to left when they leave a company.
Good frameworks make the hard, trivial. JS frameworks make the trivial, hard to build, hard to deploy, and harder to maintain. But as the kids say maybe its just a skill issue after 27 years as a dev.
So glad that I came across your video, I really wish for more people to adopt this sober perspective, instead of drowning in hype for the next best thing. JS ecosystem became really such a mess, there's a library for everything and there's also another library for the same thing but done better, allegedly. Instead of learning standards, people now learn libraries. Instead of learning SQL, now you have to learn API of the newest hottest ORM, instead of learning authentication, you can choose to pay for a ready solution (and also learn its API). It's about time to get back to throwing stones I guess.
I am always amazed at the amount of stuff constantly "dying" and changing in the webdev area of programming. I focus on cybersec but in uni we see a bit of everything, so some of our projects consist of making full stack web apps. Seeing so many frameworks and libraries is honestly overwhelming at times and, if it were just up to me and the scale of the project was a tad smaller, for the projects I'd just use Go, HTMX and Tailwind lmao
Theo is a big fan of building projects that are extremely coupled to certain serverless technologies like vercel, supabase, netlify. Having a bunch of route.ts with serverless actions DOES NOT compare to having a real backend.
Great video, sums up how I feel about JS after working on the front end for 12 years. Do you have any opinions on Ember JS? It is more opinionated and has more included out of the box than other JS frameworks.
At this point I just completely gave up on JS (for side projects) and migrated to Elixir + Phoenix. I hope in the future I can migrate to that professionally as well
Great video, couldn't have said it better myself. Side note, while i prefer frameworks like Rails and Adonis 6 looks great, what are your thoughts on NestJS?
The ultimate JS framework should have a Subway Surfer gameplay video following you inside their docs, so that the zoomer JS devs don't zone out. Seriously, their actions are only driven by dopamine.
I started learning laravel a couple of months ago to be able to build an app for our company. The experience is fantastic and everything is just there with documentation and a community that is super helpful and friendly. Then I'm currently working on a Node js project and everything seems misplaced and "immature" compared to laravel... So yeah, JS is super amazing doing front end work, for the backend... It's still powerful, but not mature enough to rely on it for projects... That's just my opinion, could be right-angle or wrong.. But only time will tell us.
18:14 does theo think there is a single all-in-one framework for php? Symfony, Codeigniter, Phalcon or Cakephp are huge and serving different needs while Laravel focused on best developer experience, but all of them are batteries included frameworks and have been around for more than a decade
its good for those getting started, but nodejs is packed with independent packages like zod, trpc, and independent orm like prismajs, drizzle. its good to see one framework that has everything in place. but they might not be up to latest trend. just like how ui framework like mantine and chakra is opinionated with their own stacks, where some prefer to use tailwind based gui like shadcn, or tailwind ui or core ui. now even chakra have a new branch that is flexible to use tailwind ui or traditional styling. so i guess since there are many pieces of options out there, its pretty much depends on the team to choose which lego pieces to join them.
Very nice video, thanks! In my early career, I would love been involved in the JS world. New things now and then, rebuild everything, keep fighting for the best way ™ is my way. Nowadays, I just want to deliver value, ship stuff and know this will be long-lasting. Not that I'm not to be blamed, I have some SPAs still around that I helped build. But I had that gut feeling that something was wrong, and decided to stick with Rails. Never regretted.
I was just surprised that the guy who just did CSS at Twitch finally admitted that he didn't actually build T3 himself and it's other peoples work. Just like his channel which is just other peoples content.
Some breadcrumbs... 1. JS is *relatively* new to being considered a "real" language for building serious apps (and technically, it still is hardly considered one because we need TypeScript), so we haven't established great patterns (React, Vue, Angular, Ember, Solid, Svelte, etc. are all because people are seeing what they believe to be better patterns, despite them all having a lot of similar concepts). I don't think it'll be long before the "best solution" for certain domains (such as ORMs) are established and we can start integrating the de facto libraries into the other frameworks. 2. JS is relatively new to the back end and hasn't had a chance to catch up with the languages that have been there for decades longer 3. JS always starts out focused on the front end, so now that we're moving to the back end more and more, it's not just about building a good back end: it's about integrating the front and back end, which has been where the vast majority of innovative work has been done. Until that's truly "nailed down", these "meta frameworks" are remaining largely focused on their "lane". 4. JS devs just want to have Node installed on their system. They don't want to add a whole stack like XAMP or Docker containers in order to have dev servers and DBs, so services are a handy way to get things up and running (usually for free until you have serious traffic). 5. Too many shared hosts don't allow Node, so we need serverless, which means we can't simply have a DB on the server, so we need to rely on either the serverless host's services or an external service for numerous things. 6. JS devs *can* learn to manage servers, but it's not generally a topic in JS dev courses, bootcamps, etc., so the percentage of JS devs that can manage a server is shrinking. I think you both have points, but the truth is that there are lots of pros AND cons to the JS ecosystem. I think we need to stop creating completely new solutions and instead work together to make one solution better. (e.g. combine efforts together into one ORM lib), and then the frameworks need to start integrating them by default, but allowing simple ways to plug in alternatives in their place if someone wants (e.g. switching email providers in Laravel).
I haven't heard so much truth in a while. Unfortunately JS causes decision fatigue and for new developers thats pretty bad. Long time ago developers stopped thinking about solving the problem, now is all about using the newest tech and you always feel behind
and one thing clerk is more than an auth solution ,means beyond db buf call and does add a lot of functionalities and advanced that can avoid the native code that you have to ship to the prod. really really reduces it ... paying such start up is worth it beside being sustainable for the future as OSS
First of all, thank you, Daniel! I've been telling my fellow coders for quite some time about the upcoming burst of the tech and JS bubble. You just came up with such a great video that now they can hear someone else saying the real thing rather than just me.
Tu é brasileiro?? Eu assisti o video inteiro e quando fui comentar entrei no canal e vi a bandeira, caramba teu sotaque passa por um nativo perfeitamente, pelo menos pra mim q tbm n sou nativo, show mano é nois, sou dev a 4 anos mas nesses ultimos meses venho aprendendo o jeito rails de se viver
Tamo junto mano! Muito obrigado 🙌 Eu já trampo pra gringa a um tempo mas o meu inglês na frente da câmera tá um desastre kkkkk se tudo der certo vai melhorar com o tempo
Fantastic video - absolutely nailed it. The fact of the matter is for smaller teams and companies that have to keep things running without re-inventing the wheel every month, solid dependable tech stacks are the one. Earned a sub.
Yup, that's really true what you say, Daniel! Comparing MERN with Rails is off imo. The fact that js libs are spread all over the place and there is no single, well integrated framework is just insane. Sometimes I wish back the old times of Rails, J2EE, yes even the no-js times!
I started my career with Java, and decided to move to JS/Python ecosystem. I have a Masters and a Bachelors in Computer Science and have worked on several projects on the backend and front end, never have I ever seen such a messy ecosystem like JS. I started learning Express, then people told its deprecated use something else, ok I tried something else. Then comes auth, Passport.js is deprecated and use a third party auth. Why does auth have to be so complicated? Other languages have one solution thats it, you follow that. Then I moved to Spring boot, which the JS ecosystem loathes for no reason, and understood why they hate it. It does every thing for you, which the JS ecosystem doesnt want, they want to every single thing on their own. Files? files package, logger? logger module? auth service provider? router? some package. And then typescript comes, the entire world wants typescript and half of that shit doesnt work. Which is why I was never taught JS/TS on the backend through both of my degress, I regret wasting a lot of my time on JS backend especially. Every company has its use case, but there are cases where express shines, which is also why we have a lot non- monolithic architectures these days. But for God sake, stick to a single approach/strategy. Such a nice video man! keep it up.
The node ecosystem is a byproduct of a decade at 0% interest rates and free VC money. Those guys are nuts. They will pay 50$ / month to host their low traffic SASS when they can host it for 5 bucks and save themselves some decision fatigue.
Great video! The dude is unprofessional at this point. Many of this little tools are, oftentimes, unstable or at the risk of not being maintained anymore. JS devs are constantly trying to find the new and shinny and many of them don't even know how a setTimeout works. I love JS but I try to avoid using it on the backend. 4:54 One day Prisma is the one and true, and suddenly... I left a comment in the original video triggered by that exact same moment.
I can understand you. I'm not a php/laravel dev but java/spring boot dev, which also gets shit on by js communit for boilerplate code, which you're IDE or framework tooling does for you for like 99%. And ignore huge free and oss package with consistent and backward compatible behaviour and other benifits. Also long history and time tested history of building complex reliable systems.
This hit me so much, I have been a JavaScript developer for 2 years and working on 3 start-up companies so far, I felt like the JavaScript industry has been constantly evolving and changing to the point where I feel so exhausted and I don't know what to choose anymore, I really wish like maybe there's a framework which is opinionated, reliable, well maintained and I don't need to care much about the rest on JavaScript because I don't have time, I also have to learn other things to keep track with the tech industry. Then, I switched from NextJS to Remix and Laravel and feel much more productive than ever.
Nice video man. I've liked the transition you did to the english language. I've learned some stuff with your tutorials. And I'm engaged to learn NextJS and Adonis. I'm feeding my portfolio with these technologies in order to pick my first freelance jobs. Do you think it's still a good choice for a beginner like me?
Thanks! As a JS developer, the more frameworks you can add to your portfolio, the better. However, if you are a beginner I recommend focusing just on 1 first. Pick which side you want (frontend or backend) and then go study the most used JS framework for that area
@@DanielBergholz Thanks my friend! So... I'm intending to focus on NextJS. But it seems that I'll be stuck with Vercel deployment if I do that. I want the freedom to be able to upload the webpage wherever I want, you know? Can I deploy/upload NextJS project to other platforms like Hostinger, etc? I was a Wordpress developer for a long time. So, now I'm trying to get used to all these JS environment. And your channel is helping me a lot. Thanks in advance for your attention. I wish you a great week.
@@fabiocorreagomes Great question. In theory, you can deploy Next.js anywhere, the only problem is that it won't be easy like Vercel and you lose a bunch of benefits like automatic caching, image optimization etc
@@DanielBergholz Hmm, I see... I'm also watching the most recent videos that you've posted, related to all this JS battle between frameworks and libs. I'm seriously considering focusing on Laravel with React + Vite. Maybe that'd be a good a idea to have a knowledge on a most solid language/framework (like PHP). Because we never know when all this frameworks will fall 😅 Thanks for your answers man. You deserve lots of success with your channel. Greetings from Belo Horizonte
There’s a difference between a package going out of vogue and stopping working. While prisma might not be hot on twitter, it’s not gonna stop working anytime soon
Possibly the best reaction video I have watched so far. I am a react / node / next dev and seeing the unbiased arguments and point of view of someone who has much broader knowledge and experience is very interesting and refreshing. Subbed!
May be the real Js framwewokr are the driends we made a long the way. In a serious note Ty for your video and your hard work! Laravel saved my soul! Un saludo desde Mexico 🇲🇽❤🇧🇷
I on the other hand try to get the best of both world, for example I use .NET for backend and react.js for frontend, and the only reason for using something like react Next.js or Angular is SPA fast transition, good UI's good user experience, which most clients seems to like, you know like the old good days of jQuery , but imagine it evolved and became a framework now,
Many Gatsby employees didn't like the acquisition because the ones there put a lot of effort into the platform they built with the latest changes they do and with the acquisition they have to redo a ton of work to build the compostable architecture for Netlify, most Gatsby employees quit after the announcement of the acquisition, others where fired months later.
I've working with javascript for years in my career, then I realized the exhausted of javascript packages and breaking changes. You're right, it treat me like a child, everything should be using a package. I watched the Theo video then found your videos makes me more convinced about how to think like an adult for looking right and wrong.
I'd like to add a point here. sometimes you'd be working with two packages that may be relatively obscure.. and they don't work together for some reason. good luck finding a solution in the forums then.
I agree with most of everything here, but one thing I will say is that the Rails "frontend" stuff has churned over the years, too. We started with SJR, then turbolinks with jQuery, then turbolink with alpine, then turbo and stimulus. This is only over an 8 year period.
Valid point, but it still doesn't even come close to the JS madness, though. Furthermore, in essence, even after all these changes, it's still the good ol' mvc, right?
Daniel, não sei muito inglês mas acompanho a sua saga migrando para Ruby a um tempo. Como anda os estudos? Já conseguiu migrar efetivamente ? Grande abraço, entendi bem o vídeo mas meu inglês não é tão bom
Eu acabei migrando pro Elixir no final das contas (somente pra projetos pessoais). Eu não pretendo parar de trabalhar profissionalmente com JS (pq tem muito emprego)
Thank you for your point of view. I’m starting to get a bit tired of this JavaScript ecosystem and explore a little more Django with Python which has everything as a framework.
What you think about Django? For a person who want to try different language, what you recommend php/laravel or python/django? Or Ruby/Rails in 2024 ? Thanks for the answer))))
Impressionante como a comunidade JS é fragmentada. Rails é de longe a melhor referência de framework e comunidade focada pra resolver os problemas, e não surfar em qualquer hype
Primeiramente salve brazuca, sucesso e mantém a pegada no inglês vai dar certo! When I switched to Django, I really understood what a batteries included framework is. I've worked with Flask, Express, and Fiber (a Go language framework). There's no comparison! This marketing that coding bootcamps do with hyper modular libraries just increases anxiety in beginners.
i guess theo is trying to show those template or starter like t3 trying to be closer to laravel as battery included , not saying it will replace. also being flexible on those element of batteries is offers a great learning curve as well dx about the indepth structure of it and easily can opt out from it and easily inject your adapter as a form of plugins. or something beside being MVC.. it like deecentrized element of battery of as being blockchain for being battery included by itself.
I must also say that, unlike rails and laravel, django was not a as stable as i thought and should be used for small projects since cooperation with other python libs (and we all know python is a soup of libs) is not really performatic.
I paused the video at 5minutes, and said the exact same kind of thing: "hmmmmmm well... where to start... Bundling packages together with Next, IS NOT having a full framework" 😂 I'm still in the video but it is great, thanks for sharing :) This 5min thing is why I'm trying to build a better template with a friend including a REAL framework (nest and later maybe adonis?) for the backend part of it
This video is extremely painful to watch. It feels like I'm trying to teach an entitled kid that the mature tools have existed for 20 years for a reason. Contrast that to a JS framework that dies 6 months after its creation. Theo himself loves making videos about frontend tools dying all the time
@@DanielBergholz I do think he was really someone I looked up too at some point, but now his content feels like its always made in a rush and is unrelevant or not super interesting to watch... I feel like the information is not super valuable anymore, heck I don't even have FOMO not watching hahaha