Do we need Turbo Drive in 2025?

Hey! I just read this article: Do we need Turbo Drive in 2025? - Rob McCormick, and I think it brings up a good point.

I would love to hear from other developers who use Turbo Drive. Have you conducted similar experiments? How did they go? What challenges did you encounter?

For very simple applications, like the one in the article, it seems feasible to completely ignore Turbo Drive. However, it offers some valuable features that I believe are worthwhile, such as maintaining player state while navigating the website, among others. Since I don’t do much frontend work, I might be missing some aspects.

What do you think is different about 2025 that wasn’t true previously?

One of the things that TurboDrive does is pave the cowpaths for a site that isn’t really heavy into JS. It just applies some patterns (pre-fetching, head recycling, and JS form handling) that make everything faster than full page request/replace cycles.

If you are applying a few (or more) sprinkles of JS to your app, or are spending any amount of effort on actually using JS to make your app work at a basic level, then also having TurboDrive happening on those same routes might be duplicated effort, or might confuse you at some point.

Just my two pfennigs.

2 Likes

Testing against localhost is pretty pointless… you’d have to go very out of your way to make one thing visibly appear slower than another.

Isn’t it missing the point that the head recycling means the browser doesn’t even consider the assets required in the head, whereas a full page load has to do cache considerations as a minimum ?

I don’t have any data or specific research, but you can consider that everything is getting faster: internet speed, servers, and client machines. Maybe this can make some of the optimizations irrelevant for most applications.

From the article, what I mostly agree with is that Turbo Drive does a lot of things that the browser already does, but I think that faster navigation isn’t the main point of using Turbo Drive right now; it’s a bonus.

Good point, I didn’t realize he was using localhost, I just noticed the simplicity of the application.