Hey there, I am doing research into choosing a productive technology stack for a new product. It's a web application.<p>I have mostly been doing go microservices and react UIs but the complexity of microservices and writing our own code for things that are not in our core domain such as identity/authn/authz or writing code for various communication layers just to do simple CRUD makes development very slow and expensive.<p>So what would you choose for a modern productive web app stack?
It kind of depends how big this is going to get. I'm using Java/Spring/Thymeleaf right now for an "enterprise" project but that has certain considerations: it may have a 20+ year long lifespan, it may in the future have to be worked on by inexperienced developers. So Java is a nice choice because it pretty much forces you to write self-documenting OO code. Spring Boot is good here because it has default implementations for practically everything (login, security, etc) and you don't have to write custom code that someone will have to maintain. But it has a fairly long learning curve.<p>On the other hand I've used Python/Flask in previous projects and that's nice because it's quick and easy. If you just want to write a few CRUD methods/endpoints that are a thin web veneer on top of your database, and it's for use by a small group of users, that's much more "productive". Quick to learn and start, and then you can add more functionality (like authentication) on incrementally when you need them.