So how do you choose the right one? The choice should primarily be based on previous experience. If someone has already worked with JavaScript on a slightly larger scale, it will probably be an easier choice for them than, for example, Ruby. The language and framework's "learning curve" also plays an important role, as do the actual requirements of the project. Programmers also very often focus on speed – in most cases, this is completely irrelevant.
I believe that a large number of people, including competitors in Tour de App, will choose a popular framework such as Next.js. Next has been around for quite some time and is probably the largest React framework currently available. It contains many built-in features that can come in handy:
- Simple Developer Experience (DX) – composing pages and server functions is straightforward, without complicated typing, and Next abstracts most problems away.
- RSC – React Server Components: Rendering the frontend on the backend
- Server Actions – calling the backend using regular JavaScript functions.
Another modern full-stack React competitor to Next.js is TanStack Start. It is a considerably younger framework that is more "low-level" and theoretically more difficult to understand. However, it provides many features that Next does not have and that TanStack Start adds. These include built-in data validation, running on Vite (which also makes things such as containerization easier; Next is notoriously difficult to use with Docker), and significantly better type checking (thanks to TanStack Router, Start can, for example, validate links in redirects).
Another alternative you can use is Nuxt. It is built on Vue, unlike Next and TanStack, which primarily run on React. It contains most of the modern features offered by the other frameworks and will be more than enough for the Tour de App competition.
Some of you may already be wondering whether the advanced features offered by these frameworks are even necessary for a competition like Tour de App. As an organizer, I would probably say: no. Many competitors unnecessarily complicate their projects, which can result in a confusing application. I would not be afraid to separate the backend from the frontend, even though this comes with some disadvantages. It also adds a lot of flexibility to your stack. Some popular choices include:
JavaScript Backend
- Elysia (backend) – Elysia makes it easy to call the backend from the frontend and integrates with many frameworks.
- Express (backend) – Express has dominated the JS ecosystem for many years and is still a popular and simple library for backend development.
Non-JavaScript Backend
- Spring Boot – Java? In 2026? Surprisingly, Java has become a very usable language over the last few years. The verbosity that Java used to get so much hate for is long gone. And if you still don't like it, you can try alternatives such as Kotlin.
- Laravel – PHP is a language that IT students at high school often come across, and it is stereotypically seen in programming circles as a language with a less-than-great reputation. However, the opposite is true with the arrival of PHP 8 – PHP has caught up with all the other languages, and Laravel (a PHP framework for web development) is widely used. One of the reasons is that it provides working authentication, routing, and database migrations almost immediately after creating a project, without the need for complicated configuration like with competing frameworks.
- Django – Python is often recommended as one of the first programming languages to learn and can be a good option for beginners.
On the frontend, you can still use libraries such as React or Vue, which are very popular in full-stack frameworks.
TL;DR
- Your choice should be based on what seems suitable at the time, not on what other people promote as the "best". It is about experimenting, and Tour de App is perfect for that.
- To get started, it is definitely worth trying Next or Nuxt.
© 2026 students can grow, z.s. – Released under the CC BY-NC-SA 4.0. license

