Alex Kutas' blog.

The evolution of SPA build tools

In my frontend career, I've used different tools for making Single Page Applications, now referred to as Web apps.

At first those tools were called task-runners. I remember projects migrating from grunt to gulp.js.

Then, a new era of bundlers started. Ok, I would say it was webpack era. I remember projects migrating to webpack 2 from webpack 1. For a while webpack coexisted in projects with task runner.

Then, I started using Next.js as a build tool. I was using React, so it is a good default frontend setup. It used webpack behind the hood which made it compatible with tons of libraries. And it had built-in routing, so I didn't need to care on setting it up as well.

With recent updates, Next.js became less pleasant to use, to put it mildly. So, I'd say now is an era of Vite. How is it different from Webpack? I don't know, it looks to me as just "The current tool" for building SPAs. I use it with react-router as in pre-next.js time. Feels good so far.

What is going to be the next build thing for SPA? Frankly, it looks like things are where they were in 2018. React, bundler as a build tool and react-router. So, I imagine this is a safe place to be for the next couple of years. Then, let's see.