A lot of people ask me why I have not bothered myself with NextJS, Svelte, and a million other cool frameworks out there.
I have been building websites for decades, and I have built websites that have been used by millions of users for a long period of time. Some of my websites are 15+ years old.
My oldest website is running PHP and uses the Codeigniter framework. All others are in Java and primarily Spring Boot.
There is something called the Lindy effect. Java is as Lindy as things can get in tech. Java has been around for a long time and has solved a lot of problems that many other techs might not even have encountered. Java has been used by large enterprises, small enterprises, startups, and military tech.
The thing with Java and Spring Boot is that it is slightly harder to learn them; once you have learned and spent some time with these techs, it is a breeze to develop and change them.
The problem with many other technologies is the opposite. They are a breeze to start with, then come some version changes, and suddenly things, break. Angular 1 and Angular 2 are very different. React has undergone similar version changes that have been breaking for many.
NextJs recently moved from a “pages” based router to an “app” based router. This was a major change that became controversial.
Java, on the other hand, is extremely robust. You can still write code like it is 2016, and it does not matter. You can still use fairly old versions, and it does not really harm you much.
Java is arguably the least resource-intensive way to develop applications these days. Rust and Go are supposedly better but are considered exotic.
I can scale Java apps for dozens of cloud nodes, and it works just perfectly; sometimes handling 1000s of requests per second. Java’s inbuilt multi-threading system allows you to properly utilize your IO to db, which is very hard to achieve in say, PHP.
Having said this, I am not saying other frameworks are worthless. It is just the case for the kind of sites I built. I had to scale with a shoestring budget and nonexistent resources to manage resources. I wanted something robust, and Spring Boot was that.
But there are perfectly valid reasons to use PHP, Django, Rails, and NextJs. For example, I have found PHP 7+ and Larval to be absolutely brilliant web frameworks. Rails works fantastic for enterprise applications where you have to launch something very very quickly.
Do not bother using Spring Boot if you are building something that is unlikely to be turned into a bigger project. For example, your personal website can be hosted using PHP or NextJs.
If you want to just serve static content or very minimal server interactions, please consider Laravel or NextJs.