IF YOU WANT TO SEE A PROJECT I BUILT WITH A HYBRID RSC STACK CHECK OUT MARKER THING - JUST RELEASED IT github.com/pingdotgg/markerthing Also they didn't pay me for this vid but I talk about the deploy partners a lot in this so check them out too Clerk - clerk.com/? Vercel - vercel.com/?ref=theo PlanetScale - planetscale.com/?ref=theo Axiom - axiom.co/?ref=theo Upstash - upstash.com/?
chapters for theo :) 0:00: intro/quick history 4:47: what was the "t3-stack" again?? 6:53: what's gonna change? / what's new and interesting? 28:06: the RSC question 49:12: summary of the future of the stack 49:37: alternatives to the t3-stack 50:13: bling sounds cool 53:21: theprimeagen crying rn
I only beat you by like a year 😅 seriously tho don't worry, that stack is still growing in relevance and all the skills directly transfer over even if we swap out every single library
0:00 Intro 4:50 T3 Pieces 6:56 Typescript 10:33 tRPC 11:18 NextJS 12:45 Prisma 18:42 Tailwind 22:43 AuthJS 28:06 The RSC Question 38:05 Art time, with Theo 42:30 Emojer Example 49:10 Summary 49:42 Alternative Stacks Thanks for the T3 stack! I'm a relatively new developer (started learning React in June last year), and the T3 stack has enabled me to create a full stack application, with auth, which I didn't think was going to be possible for years with my limited knowledge. Keeping everything in a TypeScript world, along with the ease of tRPC makes it so easy to throw an application together! EDIT: Seems I was a bit slow compared to @tsuki! 😢
I think the biggest thing to help the t3 stack rn would be ts speed. 90% of the benefit is just intellisensing the props of some random trpc route that youve forgotten the input/output of. Its sometimes taking 3seconds for regular intellisense stuff which just kills the DX. Makes it scary to add more parts into my monorepo
completely agree. honestly the lightweight DX of the app router using kyesly-planetscale on edge functions is just so refreshing (apart from data writes). also have a monorepo and don't want the bloat
This guy is a beast! He explains complex concepts with such ease, it's such a treat. I tried explaining this concepts to potential employers or potential clients and failed miserably!
Yes, the typescript and vscode editor performance thing has been driving me insane. Especially when I was new to typescript and it would throw and error that made no sense. Reloading vscode usually solves the problem but its more time waste.
Lol I just made the decision to start learning T3 stack yesterday, kinda really lucky this video came out a few hours ago literally just before I started watching your tutorial
What are some of the big reasons for this? I'm not going to even pretend to be an expert on backend/databases/tRPC/prisma/etc., but I started my full stack career with MERN and was finally looking to upgrade to T3, but continue to use MongoDB. I have successfully gotten Prisma set up to work with MongoDB, and I feel that my data is "safe" because of my MongoDB/mongosh knowledge, for instance if I decide to change the schema as I'm building, etc. I have little SQL experience, but... maybe this is just the time to start getting it? PlanetScale, Supabase, etc.
@@aaronmotacek9343 generally SQL based databases for smaller applications are more efficient and easier to develop with. NoSQL databases definitely have their own use cases, and I personally find them much easier to develop with (unless you are using prisma)
Several elements could help you * looking at cqrs pattern * looking at http cache * cache in php exist like you have in the front end part, it's just calling the implementation. Without counting alll other caching system in place that exist since several years (and not specific to any server language) like varnish to list an old one.
I jumped at college on the mean stack. Knowing angular 1 helped me getting my first job although I quickly jumped to react when it did jsx since angular was very heavy weight and opinionated. I made an universal rendered react ps store clone as my graduation project. My school didn't know of node yet at that moment. I'm definitely going to try out your stack!
When I think about React Server Components, I prefer something like Astro. If we are going to render on the server into plain HTML - Astro lets you go use any framework. Of course, Astro is MPA where NextJS still uses a lot of client routing.
I'm new to this ecosystem. Compared to gamedev, which is like a small forest, this shit is an entire shallow to deep ocean biome.. billions of years ago when it was all lava I was going to try out t3 stack, and you say it's already changing. Again. Well.. bring it on.
What about Supabase? Nice integrations with Vercels suite, works well with next 13 and server components already. Good documentation, works well with Prisma, they also offer their own ORM. I’ve been having an awesome DX with Supabase. Thought it was gonna be mentioned as an alternative 🚀
i'm also curious about this tho, (as someone choosing between supabase, railway and planetscale). can anyone elaborate in what way is planetscale more desirable than supabase (as theo mentioned), i'm kinda new to backend.
Despite the distance in knowledge, I am impressed and very motivated with the idea, since my natural process of self-learning and making web apps led me to use this stack or ecosystem and it makes a lot of sense to me.
I really think your TS server/editor issues may come from Prisma. Lot's of people have reported very bad VSCode behavior with Prisma, but I've rarely seen or heard of the same issues on different TS based stacks that don't use it. I've not restarted server or reloaded editor in ages. For example these last 2 years only I have worked on 3 completely different setups at 3 different TS based companies (Manjaro Lenovo, Windows Dell XPS, Mac M1 base specs) and it has been flawless (VSCode at least, can't say the same with Teams for example) Not saying there are no issues, sometimes gets mildly slow, but if you are really having to restart the server/editor, I would say the fault is somewhere else. And as I said, not the first time I see someone complaining about VSCode TS performance while using Prisma. This week alone I have heard it/read it on Twitter from 3 different people.
I am working with a mono repo with a decently large backend and I can confirm this. It has gotten to the point for us where we get no intellisense at all when working on the backend with prisma client, and on the front end we have to frequently restart. I tried swapping to kysely and the problem went away. It's even funny to see the cutoff point, as soon as I include the context object in my backend endpoint typescript server nearly instantly crashes or stops functioning, calling the types on the prisma client self referential. Not only would I not recommend prisma for bigger sites or startups that can see themselves growing a bigger tRPC backend, but I would strongly advise against it unless you wish to have to refactor the entire thing once it has grown to that size. Just like us.
I wanted to use t3 but because the backend and frontend are so intertwined, if I wanted to support multiple frontends (client, seller, admin, mobile) I would need a dedicated and frontend agnostic backend. Oh well, such a shame. Some projects just aren't made to mesh with t3
Check out Create T3 Turbo if you want to see what building a mobile app in the same project looks like. Also stop building based on the possibility you’ll need 7 different clients. You will never actually need 7 different clients.
it’s weird to here Theo talk with Fred and Ryan and reference T3 stack as though it is also a framework or “app” proper when in and of itself it is too loosely defined to even qualify as a stack. You know darn well T3 was in fact for TRPC, Tailwind & Typescript lol but even if we take you at your word - this would serve the community better as a website / learning hub for your recommended technologies versus whatever this is. Big fan of Theo but i would just like to see the credit and spotlight go to the projects directly instead of T3 intercepting / blurring the lines between credit due. Plus, doing this makes it impossible for your followers to keep with the latest and greatest of each library, now there’s some arbitrary concern that exist inherently for each dev between following T3’s package versus manually managing each lib.
From my perspective as a product creator, why on gods earth is a good idea to run frontend code in the backend? This was done before and then changed with spas and etc... There were a reason for that, every day clients devices get more and more powerful, why not run the majority of stuff there? and only run what really needs to be keept safe on the server? Why pay the extras fees to a serveless code provider to generate client side code if you can render that in the client with pratically the same results and for free? Why do we need to keep running in circles?
@@t3dotgg looking forward, I mean, You stated that the current version of twitch as a spa is not "the ideal tho", what possible could be that twitch is not doing right that a ssr approach could solve...
I liked your T3 full stack tutorial. I was wondering if you plan on uploading more fullstack tutorials in the future? If you do could you do a fullstack tutorial using Remix, Vercel, prisma and planetscale.
for me next-auth is still the way to go, it's open-source, 100% free, great abstraction over a very complex problem, well maintained, future proof. react-server-components pretty much invalidate the need for tRPC in most cases, mutations will need to be addressed, but I have trust in the Nextjs team still very happy with the idea behind t3 stack, just hope it keeps true to its original goals and adapts
Well maybe I should start learning about the SAWK stack and give this one some time, I will probably be checking this one out very soon anyways because it seems amazing
I made a website using t3 with ~30 users a month ago. The problem was 8-10 second cold start times (I guess due to Prisma). I switched to a Docker deploy following the t3 docs and now there's no cold-start time, so the site loads in
Vanilla extract is compiled js in css and tailwind is compiled css in js. Tailwinds defaults, docs, and speed to get setup in new and test projects are what make it the winner for me.
Great content per usual. Has anyone tested Drizzel? Does it improve performance over Prisma? Especially in cold starts. Cant find clear answers on how Drizzle would improve prefromce over Prisma
Is there any update on the interaction boundary? any ideas on how to bridge between RSC data fetching and mutations? Do we use use RSC data fetching + tprc mutations for now? or better to stick with trpc queries & mutations? If anyone has any resources to share on how to best integrate next 13 app dir with TRPC I would really appreciate it. Unsure how to best tackle the interaction boundary right now...
@@alexanderlay-calvert8784 I really don't see how. With a simple call like this: export const testQuery = async () => { return await trpc.example.randomQuery.useMutation().mutateAsync() } It throw error: Invalid hook call. Hooks can only be called inside of the body of a function component.
TS performance is such an enormous issue right now it happened after I installed zod in an Angular project, it's so bad that i dont even expect autocompletion now i just type the code manuaaly and check the terminal for errors and i am on a relatively fast desktop PC i5 9400F + 16GB DDR4 3200
I’m relatively positive you said what the t3 stack stood for and it wasn’t the clearly made up explanation of “T then… 3 other letters??” But I’m too lazy to go look it up, and this is the internet where whatever you post today is true until somebody catches u frauding, so keep it up LFG T3!