I Almost Stopped Using My Favorite Library Because Of This...

แชร์
ฝัง
  • เผยแพร่เมื่อ 22 ก.ย. 2024
  • TH-cam CORRUPTED MY FIRST UPLOAD SO PLS LIKE AND SHARE THIS ONE SO THE ALGO DOESN'T KILL IT ❤️
    So thankful tRPC is more accessible than ever before. Everyone deserves DX this good. HUGE shoutout to the create-t3-app team for leveling up the developer experience even further
    create.t3.gg
    github.com/t3-...
    #t3stack #fullstack #webdevelopment
    ALL MY VIDEOS ARE POSTED EARLY ON PATREON / t3dotgg
    Everything else (Twitch, Twitter, Discord & my blog): t3.gg/links

ความคิดเห็น • 95

  • @t3dotgg
    @t3dotgg  ปีที่แล้ว +58

    THE FIRST UPLOAD WAS CORRUPTED IDK WHAT HAPPENED, IT'S KILLING THE ALGO PLACEMENT SO PLS SHARE THIS VIDEO

  • @flipperiflop
    @flipperiflop ปีที่แล้ว +48

    The new syntax seems great - one of the main reasons for me to not use T3 was the idea of all these files, what are they doing, how do I work with this, but having comments like "YOU PROBABLY DON'T WANT TO EDIT THIS FILE" helps a lot to understand that it is just some files that makes the thing work, and abstracting some cryptic syntax behind "import api from api" is a really neat thing, making the DX better.

  • @zombiefacesupreme
    @zombiefacesupreme ปีที่แล้ว +20

    I was weirdly annoyed when I first saw the folder changes.
    But, after I got over my initial, irrational fear of change, it was pretty clear to see how the new folder structure helped explain the way everything works.
    I really love all the comments. Super approachable for new people. Great work, y'all!

  • @лилпипка
    @лилпипка ปีที่แล้ว +10

    The moment you imported data from new function i was like WOW it can be THAT easy and type-safe? Definitely, now I'm going to try t3-app with trpc. I previously bootstrapped a t3 project, but it seemed messy due to the many new technologies I wasn't familiar with. Since then, I've tried Prisma and Next Auth, and they are pretty incredible. I hope I will love trpc too.

    • @Disorrder
      @Disorrder ปีที่แล้ว

      Try TypeORM, you’ll find it much more flexible than Prisma

    • @kiranojha8811
      @kiranojha8811 ปีที่แล้ว +3

      @@Disorrder except for the millions of unsolved issues

    • @лилпипка
      @лилпипка ปีที่แล้ว +2

      @@Disorrder For my project Prisma worked really well and I felt good DX. It had some troubles with migrating on supabase but both of them quickly updated documentation on how to fix this

  • @MikeHTMLAllTheThings
    @MikeHTMLAllTheThings ปีที่แล้ว +2

    This was EXACTLY my experience. Had to dive in and use it and troubleshoot to understand what all the files did. Still haven't fully wrapped my head around it though, will probably take me a while. But using it has been amazing!

  • @DarkzarichV2
    @DarkzarichV2 ปีที่แล้ว +2

    So about folder structure organisation
    Have you heard or maybe even tried Feature Sliced approach? It's really great

  • @leotravel85
    @leotravel85 ปีที่แล้ว +1

    Coudln't this be made it like a monorepo using npm workspaces so that we could use it to make more complex projects with independent packages for backend/frontend?
    I really think this would make it more suitble for real life large projects, where these technologies would really be useful, not small projects where this extra complexity is more of a burden than anything.

  • @ChristianKaden
    @ChristianKaden ปีที่แล้ว

    I looked at trpc for some weeks now and yes, it looked very intimidating and it was pretty difficult to wrap your head around it at first glance. My first try was to rewrite my ongoing learning project (based on NextJS and MongoDB) into trpc, but... it was nightmare. Writing the code for trpc manually from zero was not a pleasant thing to do. I gave up this approach a few days ago and chose another one: install a fresh t3-create-app and copy stuff over from my existing project. That was a blast! Much more approachable. I'm still not finished though, but I got comfortably familiar with the higher level use cases (hooks etc) and learned Prisma on the fly, huge bonus. What is finished so far works like a charm. I ran into much fewer bugs thanks to the frontend backend typescript connection. I still couldn't write trpc from scratch, but I already looked at the comments and I'm more confident that when I need to write it from scratch at one point, I will be able to learn it much better. Thanks for providing the new t3-create-app experience!

  • @kevinzunigacuellar
    @kevinzunigacuellar ปีที่แล้ว +1

    I haven't used trpc yet. I haven't had an API heavy project to justify using it but I am very excited to do it. The autocompletions feel like magic

  • @jkr2006
    @jkr2006 ปีที่แล้ว +5

    I think it would be awesome to add monorepo support to this, ( I know t3 turbo exists, that is the one I used ), since there is some mental burden in the decision making when deciding between create-t3 or t3-turbo.

  • @BarisPalabiyik
    @BarisPalabiyik ปีที่แล้ว +1

    I migrated my t3 project to the new t3 version. Feels pretty nice, previous one wasn't so bad but this is definitely an improvement. Funny thing is, Thanks to Next I don't deal with dependency updates on my own, and now thanks to t3 I don't (most of the time) have to handle my next project dependencies much. Join the Discord server, me and many others help each other there a lot. Not gonna lie, it feels like a we are huge dev team working in the same company, because all of us go out our way to answer questions on questions tab and solve problem on other chat rooms, it's admirable.

  • @HassanElMghari
    @HassanElMghari ปีที่แล้ว +6

    This is the first time I’ve seen an app with tRPC that had a folder layout that made this much sense.
    Great video. So excited to use this in my next side project!

  • @davbrito
    @davbrito ปีที่แล้ว +1

    It happens also with TanStack Router and TanStack Tables. Those are powerful tools but when it comes to ease of use and learn, they fail on excess of complexity.

  • @manasseh152
    @manasseh152 ปีที่แล้ว +1

    Is there a timeline for upgrading to the new app directory in Next.js 13?

  • @cabrerabywaters
    @cabrerabywaters ปีที่แล้ว

    I really like that approach. It makes it a lot more "approachable" for people who do not know what trpc is. I also like to include the word "hook" on it just to remind myself that it is a react hook rather than an API call, as you can also use direct api calls (without react query). Major thumbs up to the code change and to this awesome video!

  • @alexandruaxentioi3006
    @alexandruaxentioi3006 ปีที่แล้ว +3

    Thanks for the fast update!

    • @t3dotgg
      @t3dotgg  ปีที่แล้ว +4

      Doing my best 😅 thanks for watching the updated one asap!

  • @rdow
    @rdow ปีที่แล้ว

    I just saw create t3 app for the first time last week. CT3A is how I learned about tRPC. It took very little time to start using it productively. Having things laid out well, a simple example, and lots of comments made a big difference.

  • @xidnebwoz
    @xidnebwoz ปีที่แล้ว +2

    The clearer structure helps me understand tRPC.

  • @MarkDeibert
    @MarkDeibert ปีที่แล้ว

    Oh man did I need this tutorial. tRPC wasn't making total sense to me. This helped a lot. More detailed tutorials on T3 app guts would be awesome.

  • @Supersnoopadoop478
    @Supersnoopadoop478 ปีที่แล้ว

    Thanks for the tip about restarting the typescript server. I’ve noticed when typescript stops working and have just restarted vs code in the past. This should help avoid having to do that!🎉

  • @thekwoka4707
    @thekwoka4707 ปีที่แล้ว +1

    I didn't find tRPC to be that hard to learn. To me it was super straight forward from the get go.

  • @_jacobdev
    @_jacobdev ปีที่แล้ว

    The cuts on this video are buttery smooth 🔥

  • @Mitsunee_
    @Mitsunee_ ปีที่แล้ว

    I was gonna look into making changes like this, I'll use your proposal as reference when I start using tRPC in my existing project :)

  • @НейроАстральнаяСова
    @НейроАстральнаяСова ปีที่แล้ว

    Thank you for all your efforts in making T3 and your videos! moving to T3 stack!

  • @Trzimajewski
    @Trzimajewski ปีที่แล้ว

    I feel so fkn good being the Portuguese maintener of the docs, incredible work of you guys, appreciate that.

  • @mooshy5944
    @mooshy5944 ปีที่แล้ว

    Definitely a welcomed change!

  • @orosales123e
    @orosales123e ปีที่แล้ว

    Thank god, tRPC was the most confusing part of the T3 stack unsurprisingly. I’ve been stuck on that until this video. Thank you!

  • @Disorrder
    @Disorrder ปีที่แล้ว +2

    When I started to use trpc after Nest.js, I was confusing how to scale my project, how to write more routers than just one example. In Nest I have controllers which are my url methods for REST API and services which are business logic. Usually 1 controller method calls 1 service method. But service can depend on multiple other services. That’s why Nest have Dependency Injection. It’s clean and simple structure.
    But in tRPC I didn’t find good recipes for it. Should I use trpc router as controller and singleton for service? Or I should create some composable function for service? Or call procedures inside procedure? Or something else?

    • @mahmutjomaa6345
      @mahmutjomaa6345 ปีที่แล้ว +1

      You can do whatever you want. If you come from Nest.js, .NET Core or Spring you can think of it as router = controller, procedure = controller method.
      Personally I group by concerns. For example I could make a feedbackRouter and sendFeedback procedure or I can just put the procedure into the userRouter because it is a concern of the user and I don't have to think about pretty/logical URL paths. The good thing is that refactoring is much easier in case you wanna change things.

    • @TheWalrus_45
      @TheWalrus_45 ปีที่แล้ว +1

      Same here, I can't get my head around it no matter how many of these videos I watch. Also how do you scale it?

    • @rand0mtv660
      @rand0mtv660 ปีที่แล้ว

      @@TheWalrus_45 What do you mean how to do you scale it? From a code architecture/organization standpoint or from an infrastructure standpoint (deploying more instances etc.)?

    • @TheWalrus_45
      @TheWalrus_45 ปีที่แล้ว +1

      @@rand0mtv660 infrastructure pov, like can you use nginx or another load balancer?

    • @rand0mtv660
      @rand0mtv660 ปีที่แล้ว

      @@TheWalrus_45 Hmm ok I'm not really familiar with that since I never required it, but I'm guessing any tutorial talking about how to scale Next.js API routes should be appropriate. tRPC here is just using Next.js API routes so you should be looking into how to scale those. This shouldn't be really tied to tRPC as far as I know.

  • @JasonChannelOne
    @JasonChannelOne ปีที่แล้ว

    Love the honesty!

  • @seannewell397
    @seannewell397 ปีที่แล้ว

    Do we need to get Anders and Alex on why we have to restart TS Server? I know there was perf convos earlier and the new tRPC made huge improvements there, but it isn't just tRPC I've had to do that exact same restart flow.. 👀

  • @SimplyMerlin
    @SimplyMerlin ปีที่แล้ว

    just got a notification from youtube for this upload, might be saved by the algo after all?

  • @petter9078
    @petter9078 ปีที่แล้ว

    This update felt very good to use. Good stuff!

  • @haaxor1689
    @haaxor1689 ปีที่แล้ว

    We're definitely gonna use t3app as base template for our React course next semester :) It's long overdue to throw CRA out and show something fresh.

    • @mqix3741
      @mqix3741 ปีที่แล้ว +1

      At my college peak web tech is jquery, php, laravel....

  • @F.a797
    @F.a797 ปีที่แล้ว

    This is amazing, I'll adopt this in my project. I'm using SvelteKit-trpc so I don't even need the weird [trpc] file which makes this even better.

  • @catholic_zoomer_br
    @catholic_zoomer_br ปีที่แล้ว

    The only question I really have is that when I used .query({ ctx }) it finds the context (ctx), but not when using mutation. My workaround for this was just instantiating a new Prisma client, but I know that's wrong

  • @odoenet
    @odoenet ปีที่แล้ว

    Nice update. Still feel like trpc has more boilerplate than I'd like, but the benefits are amazing.

  • @twiksify
    @twiksify ปีที่แล้ว

    Assume that I want to expose my application using multiple front-ends (web, mobile, cli, etc.) Is there a way to extract type-safe API definitions using tRPC from a separate back-end repository? I'd rather not clutter a single repository with multiple tech-stacks.

  • @luctielen
    @luctielen ปีที่แล้ว

    Ctrl shift p for the windows users .. - there's also Linux Theo!
    Joking aside, great to see that the t3 team cares so much about these kind of things.

  • @MrBrandenS
    @MrBrandenS ปีที่แล้ว

    The only thing I'm not sure about with trpc is the design to dev workflow. Typically we do design and then frontend dev with backend trailing which helps as things are mostly ironed out by then. We will have to shift it to where the back end comes before the front end to get that type completion benefit potentially. I like the ts enforcement so it's probably worth adapting the process in some way. What does your guys process look like with trpc incorporated?

    • @t3dotgg
      @t3dotgg  ปีที่แล้ว +1

      You’re missing the benefit of tRPC. If the frontend devs aren’t writing their own procedures, don’t use it.

  • @seyyedkhandon
    @seyyedkhandon ปีที่แล้ว

    Thank you.
    can you please tell us about zodios, ts-rest and trpc a comparison?

  • @priceless5386
    @priceless5386 ปีที่แล้ว

    Beginner questions, will we need tRPC when react server components and the new react use() hook is released?

  • @KholofeloMoyaba
    @KholofeloMoyaba ปีที่แล้ว

    My only struggle with trpc is when websockets and subscriptions are involved. I have had to hack my way around a couple of things there. An example using sockets would be great.

  • @DioArsya
    @DioArsya ปีที่แล้ว

    lol, I've watched and followin your contents for like a year now. Funny thing is... I forgot to subscribe... wtf lol, sorry, subed now :) thank you btw

  • @pif5023
    @pif5023 ปีที่แล้ว

    Dunno if I am doing something wrong but what I dislike about tRPC is that it requires to share the type of the router wherever you need to create a client. That is requiring me to add a rootDir for every service I want to create a client for in my client app configuration. That takes advantage of the mono repo but makes me a bit uncomfortable.

  • @will-nw6gv
    @will-nw6gv ปีที่แล้ว

    hi Theo. do you have any thoughts on content management systems or more generally on interfaces designed to manage a product within a company?

  • @kirso
    @kirso ปีที่แล้ว

    Actually I recall you setting up trpc in your first Pokemon video. I was like WTF....

  • @meaningmean
    @meaningmean ปีที่แล้ว

    Love it. 👍

  • @solomonogu1393
    @solomonogu1393 ปีที่แล้ว

    This is making it the 3rd time in which the server router folder structure has been changed
    Hope this stays for long before been changed again

  • @seannewell397
    @seannewell397 ปีที่แล้ว

    I really wanted to watch the corrupted version.

  • @kenneth_romero
    @kenneth_romero ปีที่แล้ว

    idk if this also works for vscode, but usually saving again fixes some errors from lsp's as it reloads them. at least for helix you can see the lsp is loading again, and in vim too.

  • @anhdunghisinh
    @anhdunghisinh ปีที่แล้ว

    Fr, my 1st experience with Trpc is "is this Redux for API?" cuz there are so many boilerplate to keep track of.
    Btw i create a T3 app 1 months ago (2 Dec last year):
    "ct3aMetadata": {
    "initVersion": "6.11.0"
    },
    How up to date is this version compare to latest?

  • @ANONYMOUS-qx4yx
    @ANONYMOUS-qx4yx ปีที่แล้ว

    that intro is what I say when learning anything😂😂

  • @taylorswe
    @taylorswe ปีที่แล้ว

    I've seen a few people using CT3A and instead of restarting the typescript server, they'll reboot VS code lol

  • @codernerd7076
    @codernerd7076 ปีที่แล้ว

    The main problem with T3 app tgat its hell to upgrade to the more new T3 App version.

  • @optimbro
    @optimbro ปีที่แล้ว

    So, I almost gave up learning NestJS due to its syntax and DI etc, I think T3 is made for people like me, for a full stack infrastructure. Thanks everyone for the hard work. I was a nice clickbait title though 😂😂

  • @gabrielbianchi2246
    @gabrielbianchi2246 ปีที่แล้ว

    How do I update my old t3 app to be in line with the most recent changes?

  • @norliegh
    @norliegh ปีที่แล้ว

    ngl this makes a lot of sense. thanks for the proposal theo

  • @brennan123
    @brennan123 ปีที่แล้ว

    I'm about to abandon trpc because I can't for the life of me figure out how to get dependent queries (a query that loads data and then used that data to make additional API calls) to work. React's idiotic architecture of not allowing conditional `useQuery` makes it so that I have to pass null into my trpc queries and return either the actual response or a null result. This completely infects type safety down the road and halfway defeats the purpose of having type safety. Might as well be Golang if I am going to have to add a gazillion `if err != nil` like expressions in my code just to work around this issue. And I also have to make my schema have optional fields when they really are supposed to be required just to work around this. Anyone figured this out in trpc?

    • @t3dotgg
      @t3dotgg  ปีที่แล้ว

      Can you make a query do two things? You shouldn’t need dependent queries in a BFF architecture like tRPC

    • @brennan123
      @brennan123 ปีที่แล้ว

      @@t3dotgg It's something I can look into but it's not ideal. In my app I have "events" and for each event there are multiple tabs (each one loading its own data but dependent on the original event.id). I'm thinking of changing it up so that only 1 query exists per component and I don't even render the sub components until the event query is finished. Performing 2 queries all the time would have unnecessary redundant API calls when I already have the data in the frontend.

  • @chizidotdev
    @chizidotdev ปีที่แล้ว

    It’ll be a lot easier to pull the api out as it’s own package in a monorepo if you need to in the future…

  • @seannewell397
    @seannewell397 ปีที่แล้ว

    Julius is the MVP.

  • @DarkzarichV2
    @DarkzarichV2 ปีที่แล้ว

    How is scalability and testability with T3 stack?

  • @hojdog
    @hojdog ปีที่แล้ว

    If I build a next app with trpc and then we decide we want to consume the endpoints separately from let’s say a flutter app, is that easily done?

  • @kupyn
    @kupyn ปีที่แล้ว

    an alias for api would be great, because the import in nested routes are annoying

  • @osah712
    @osah712 ปีที่แล้ว

    You know whats even worse... when you get the t3 stack and then nothing aligns anymore because they made architecture changes but no one at trpc or at t3 updated their docs :)

  • @akosbalint3485
    @akosbalint3485 ปีที่แล้ว

    Can I use it with Nextjs and SSR easily?

  • @태평-m1w
    @태평-m1w ปีที่แล้ว

    is there downside to use create t3 app? like using create react app

  • @avid459
    @avid459 ปีที่แล้ว +2

    when blazor/razor pages can do backend and frontend in just one file with strong types, you realize trpc is probably headed in the wrong direction with all its proprietary looking syntax or probably it has a long way to go. most likely the former.

  • @jordanmckoy1935
    @jordanmckoy1935 ปีที่แล้ว

    :pepedance:

  • @dirty-kebab
    @dirty-kebab ปีที่แล้ว

    I defo subbed before wth TH-cam

  • @creatorsremose
    @creatorsremose ปีที่แล้ว

    I love how every version of trpc introduces an even steeper learning curve and every video about it is like "if you just get over that, it's best thing ever". Will this thing ever mature beyond side-project material?!

  • @youngdevdejv3993
    @youngdevdejv3993 ปีที่แล้ว

    Theo could you please stop with these clickbaity titles

  • @andrzejzielinski9213
    @andrzejzielinski9213 ปีที่แล้ว

    Clickbaity much?

  • @quintencabo
    @quintencabo ปีที่แล้ว

    I looked at it for nuxt but then I saw that nuxt already does this with their $fetch function