DEV Community

Cover image for The perfect Stack for building type-safe applications in 2025

The perfect Stack for building type-safe applications in 2025

Anmol Baranwal on February 05, 2025

Trying to pick the best tech stack in 2025 is very hard, especially with all the new frameworks that are getting released. It's more than just typ...
Collapse
 
bobbyiliev profile image
Bobby Iliev

Nice! Great post as always 👏

Collapse
 
anmolbaranwal profile image
Anmol Baranwal

Thanks for reading, Bobby! 🙌 Appreciate it.

Collapse
 
syakirurahman profile image
Syakir

Great post, Anmol 🔥

Collapse
 
anmolbaranwal profile image
Anmol Baranwal

Thanks Syakir! 🔥 Time to build something nice :)

Collapse
 
dfordp profile image
Dilpreet Grover

Encore.ts seems a great framework. I will check it. Thanks for sharing ❤️🔥

Collapse
 
anmolbaranwal profile image
Anmol Baranwal

Thanks for reading Dilpreet! I was really surprised by how easy the docs are and getting those pre-made instructions for the cursor made life so much easier.

Collapse
 
steven_ramirez_9a9a24610d profile image
Steven Ramirez

Good article but, ultimately, I must agree in the negative. Considering the number of well established, properly typed, server side languages, TS seems like the worst choice. And with regards to performance and scalability, anything React related is always a poor choice.

Collapse
 
pl_1998 profile image
Pakagrong Lebel • Edited

Is that so? Im quite new to doing full-stack related stuff. Typescript seems to be fine with me but I use it with next.js a lot, not create-react-app anymore. Seems to be bad practice. What else is out there you think might be better? Id like to learn more about it.

Collapse
 
syeo66 profile image
Red Ochsenbein (he/him)

Nah, Goth-Stack does it for me

Collapse
 
anmolbaranwal profile image
Anmol Baranwal

This is the first time I've heard about it. You can also use Encore.go: encore.dev/go!

I just used TypeScript for the scope of this article (since I'm more inclined towards it).

Image description

Collapse
 
yashksaini profile image
Yash Kumar Saini

Great guide Anmol,

Collapse
 
anmolbaranwal profile image
Anmol Baranwal

Awesome. Thanks for reading Yash!

Collapse
 
serhiyandryeyev profile image
Serhiy

Fundamental work! Thanks!

Collapse
 
anmolbaranwal profile image
Anmol Baranwal

Thanks for reading man.

Collapse
 
naclcaleb profile image
Caleb H.

Hot take: anyone looking specifically for a “type-safe” stack should avoid JS/TS on the backend, it’s not truly typed!

Collapse
 
anmolbaranwal profile image
Anmol Baranwal

Yeah, Rust or Go can be better, I just covered TS because I'm more inclined towards it. Encore also provides go backend framework if you prefer working with that: encore.dev/go!

Collapse
 
cmacu profile image
Stasi Vladimirov

Similarly anyone looking for reactive stack should avoid react on the frontend since it’s not truly reactive…

Collapse
 
cmacu profile image
Stasi Vladimirov

You lost me at next/react… in 2025… I guess if you are looking for the least performant solution with the worst memory then it’s a decent choice.

Collapse
 
anmolbaranwal profile image
Anmol Baranwal

It depends on the context. Some of the points may be valid, but you're choosing raw performance over developer experience.

If performance is the top priority, there are of course better options. But if you're balancing speed, ecosystem and developer experience, this is still a strong choice in 2025.

Collapse
 
cmacu profile image
Stasi Vladimirov • Edited

What part of the developer experience makes React a strong choice?

  • Maybe it's the part it's not a framework, but a "library"?
  • Wait, is it the documentation (:puke)?
  • Hmm, maybe it's the learning curve? But really?
  • I guess it's the tooling (vite/vitest)... Oh snap
  • I got it... It's the rules of react/rules of react state/rules of of react styling/rules of ??, sorry had to double check if they had invented a new rule while I was typing this
  • PR comment: Don't forget about useCallback and useMemo, useGrandma and please don't ever useGrandpa? What do these actually actually do? And let's not talk about useImperativeHandle.... (background screams)
  • I am telling you it must be because they are following the web standards. html/templates? Nope jsx. Routing/location? nah, react routing! css/styling? No way, styled components. SSR, how about "use server"..
  • Perhaps it's the fragmented ecosystem because its always fun to compare class components, server/client components, hooks, observables and 10 other ways you can learn to manage state at your next job.
  • Must be the typescript support! React must be written in typescript? Right? Right? OK, it doesn't matter. Don't worry, there are dozen of functions like forwardRef that don't support generics.

Wait, what is developer experience? Ahhh, getting paid to know all possible edge cases and write more code than necessary to get the job done... That's why. Now it makes sense!