tanner is a genius 🤯, tanstack-start is awesome, when it hit stable v1 many devs will move to using it instead of next.js.
@ErniePaschall11 күн бұрын
Indeed, I am starting to look at it now. Thanks Jack!
@Hypawolf9 күн бұрын
I am waiting for stable release as well. Been using NextJS for a while and honestly it's getting more of a hassle to do things in it.
@armanrozika8 күн бұрын
@@Hypawolf the feel i am feeling when switch from react-router to tanstack-router, life is soooo much much easier
@KaranSethia246 күн бұрын
isnt this exactly what people say when a new js framework is launched, I remember people said the same thing about remix svelte qwik etc
@aibulat187110 күн бұрын
Returning WebStream from Server Functions -- definitely a great feature!
@TianYuanEX11 күн бұрын
Tanstack start is infinitely better then Next.js for websites that lean more into interactivity (webapps) then static content (blogs/landing pages/portfolios) purely due to the philosophy the framework was built on
@jeresalem10 күн бұрын
Absolutely. And for static content we have Astro.
@rijkvanwel11 күн бұрын
I see Tanstack, I press like
@JagaSantagostino11 күн бұрын
Man of culture
@AbhiShake-pl3cf11 күн бұрын
I agree with what tanner said. The directive that nextjs went for is too magical. How do we pass headers? How do we alter how its sent? I didnt think it would be useful due to my bias towards vercel but it is deffo useful
@PraiseYeezus11 күн бұрын
'use client' is bad enough, why would I want to control caching through a string? I can only imagine the headaches that will come from self hosting where Next overwrites cache headers...this is the same issue that makes Laravel annoying
@AbhiShake-pl3cf10 күн бұрын
@@PraiseYeezus more trouble for opennext people
@dzigizord65679 күн бұрын
@@PraiseYeezus "use tanstackstart" is the best directive
@bidikong11 күн бұрын
Can’t wait to use it. Hopefully beta and v0 will come soon enough. Great video, as usual ❤
@BrunoDias-v9g7 күн бұрын
Does it make any sense to use GraphQL with Tanstack Start? Are there any examples? Great video 👍
@carlosricardoziegler26507 күн бұрын
Nice content !!!!! What about the state of request ? I mean we can use suspense to show loading, we can handle error and show some user feedback's, in this case we dont need more trpc ? More performant ?
@abdulmustapha53211 күн бұрын
Honestly, these days all I like to build with is Tanstack Router in a mono repo with Hono RPC + OpenAPI Typegen. Serve my client on a CDN for free, run my Hono API on a machine. Life is just easier this side of the fence.
@jherr10 күн бұрын
That's a good SPA setup.
@FuzzyAnkles10 күн бұрын
great content as always! 🔥
@Adityacode10 күн бұрын
Only god knows, how and where the "use cache" stores the cached values? Is it in memory or is it http caching or what ?
@jherr10 күн бұрын
The standard adapter is in memory. But you can override the adapter to put it wherever you want. You just need to implement get/set.
@Adityacode9 күн бұрын
@jherr Thanks a lot, I was searching through the docs but didn't find it.
@abhi.r89 күн бұрын
I am so confused with all the updates I a newbie in react where should I start please anyone answer me
@dzigizord65679 күн бұрын
tanstack start is such a fresh start and such a logical and intuitive way to add server layer on top of the already amazing router. next is shovelling their way too hard, the way that most of us do not want to be the default, plus next router is crap compared to tanstack
@kim-s1y7v10 күн бұрын
what is your vscode color theme?
@softgripper10 күн бұрын
Hey Jack, punted you a mail re: audio sync. Hopefully it reaches you. Thanks again for another great video.
@MattChinander7 күн бұрын
A nice change to the TS router/start example would have been to follow the Remix pattern where to fn is called through something like useFetcher and the server fn returns the updated value of the count. Avoids doing another request for the loader
@tannerlinsley6 күн бұрын
This is coming and will be built on the new server function middleware/context primitives we just merged in.
@mahendrakumar-eu6hw11 күн бұрын
I will use whatever my organization using whether tanstack or next😂 If you don't you're fired
@jherr10 күн бұрын
That's just generally good advice. Not so much the getting fired part. But the "use what the rest of the company is using" advice is pretty good unless you have an extremely compelling business based case not to.
@brian-mcbride8 күн бұрын
This is looking nice. I really prefer Astro as my main "base" as I can have islands that are not React. React is ok, but it always bothers me the various anti-patterns and, in a large way, lack of innovation compared to Solid, Svelte, etc. SSR is great for Vercel in revenue. They sell servers after all. But I am way more into hybrid or SSG approaches when available.
@mohammadmousavi604610 күн бұрын
Hi Jack, which font do you use for VS Code?
@MahmoudAhmed-mf6lb10 күн бұрын
That's Cursor not VS Code
@jherr10 күн бұрын
JetBrains Mono. Specifics are in the description.
@rariber11 күн бұрын
I cant stress enough how much I hate how Nextjs server actions works
@jeresalem11 күн бұрын
Can't way to move on from Next.js!!!
@dataeaseterlaos492010 күн бұрын
I'm a fan of tanstack 🎉🎉🎉🎉
@monogram63579 күн бұрын
Both of them are cool, I like both and use both of them :|
@rand0mtv6609 күн бұрын
I think I've read on twitter that single request mutation + invalidation will come to Tanstack Start, so in your example there wouldn't be a separate request to re-fetch the loader data. It would all happen in a single request like it happens in Next.js All in all, Tanstack Start seems very promising.
@jherr9 күн бұрын
That'll be interesting to see.
@rand0mtv6609 күн бұрын
@jherr hopefully I didn't just read something wrong, but it popped up briefly on my Twitter feed.
@jherr9 күн бұрын
@@rand0mtv660 I wouldn't doubt it. I think the intention is to have all of the functionality of NextJS covered and then some. But currently Start doesn't work with 19. Which means that RSCs are currently not supported. So returning an RSC update payload, which is what Next does in this case, would at least right now, not be possible. Which leaves returning new loader content, but that would need to be an interesting hybrid (maybe multipart encoded) payload since you've got the return of the server function itself as well as the loader content coming back. And then there is also the issue of whether or not you are using RSCs when they do become available. Next has the advantage in that case that we don't have a choice, you have to use RSCs, so you can architecturally depend on them. That wouldn't hold true for Start if he supports both RSC and non-RSC cases. Woof, this stuff is getting complex.
@tannerlinsley6 күн бұрын
@@jherr Don't complicate it that much. We have always been able to return json from an api endpoint. The main difference with server functions is that they now have transferrable context on top of the payload/result going/coming across the wire. So it should be trivial without 19 or server components to allow middleware to send/receive additional data (like single-flight mutation payloads/streams) on top of what appears on the surface as a simple server function that mutates or fetches some data.
@ecoded303310 күн бұрын
Tanstack is the manstack
@codernerd707611 күн бұрын
What happened to this framework when Tanner cannot keep working on it for any reason?!
@__-se3tf10 күн бұрын
A community forms while he's still active. Tanner hasn't been the top contributor to TanStack Query for a while now.
@VincentDECAUX13 секунд бұрын
Tanstack is a copy of Remix. But it's nice, I like this approach really.
@taunado10 күн бұрын
Tanstack Start vs React Router + Vite?
@tannerlinsley10 күн бұрын
I literally built this out of frustration with RR lol😅
@taunado10 күн бұрын
@@tannerlinsley :D Thanks, I'm excited to fire it up.
@harunalrd8 күн бұрын
@@tannerlinsleyayoo im waiting your router because frustation with RR 😂
@aminbeee10 күн бұрын
At least Tanstack app makes it easier to debug .. NextJS is too ambiguous
@codefinity7 күн бұрын
9:29 If it's just a GET, just co-locate that in as a fetch function with GET instead of making non-mutational things a server action?
@aibulat187110 күн бұрын
const count = await getCount() -- that appears much cleaner compared to separate loader(). It pretty much vanilla js, very easy to understand, and does not require to learn a specific API. Same can be told about `export async function serverFunc()` compared to createSserverFN()
@scepta669410 күн бұрын
But you wouldn’t/ shouldn’t fetch data with server actions? Hence always POST. Just have the call directly in the server component no ?
@inversebrah10 күн бұрын
boost
@fortunatomarcelo156710 күн бұрын
Remix?
@taunado10 күн бұрын
is now React Router + Vite
@vovasvidinsky136910 күн бұрын
Who can please explain how it diff from just call rest api from FE? What benefit from all these server actions if I don’t use SSR?
@JeromeMeichelbeck10 күн бұрын
Rule of thumb: if you don't see any benefit, you probably don't need it.
@nikoryu-lungma8 күн бұрын
Oh, this thing again? I honestly could not give less f*** than I already did with these things. For me, anything that works, I'll take it. Just let me know what the tradeoffs are, so that I can measure them.
@gyros916211 күн бұрын
And here we are coding counter with making requests to the server