Dev.to WebDev 🛠 Dev 👁 0 📖 2 min read

Tech Stack Choices

There are so many languages and frameworks that a beginner is so confused what to choice, he only gets told to learn backend, but which tech stack? why this? why not others? what if i had to switch tech stacks in futu

There are so many languages and frameworks that a beginner is so confused what to choice, he only gets told to learn backend, but

  1. which tech stack?
  2. why this? why not others?
  3. what if i had to switch tech stacks in future?
  4. should i master multiple tech stacks to get job?

are some of the questions which pops in every beginner's mind, and i was in this stage too. Lets discover some of the most famous tech stacks, their use cases.

  1. Python - Flask/FastAPI/Django

-> Django is used in Instagram and Pinterest, this is a framework which has ORM, auth, admin panel, routing, and security features in built. Used for large web applications.

-> FastAPI is asynchronous(will discuss upon this in upcoming blogs) API framework of Python OpenAPI documentation and Pydantic(for type validation), also comes with Swagger docs. Used for REST API's, and building microservices.
(This is my favourite tech stack as well :))

-> Flask is lightweight microframework which offers flexibility. Used in webhook services.

Example :
Assume a kitchen which has everything - ovens, fridge, utensils, store-room, You don't need to build everything from scratch. You just configure things according to your restaurant's needs. This is Django. You mainly focus on implementing your business logic instead of building all the basic infrastructure yourself.

Flask is where you get an empty kitchen with basic utilities and you decide what all to keep in it. You get routing, response handling and request handling, but you choose authentication, database, and validation library.

FastAPI is a modern restaurant kitchen, made for efficient order processing - Multiple orders can be handled without unnecessarily waiting for one another.

Level of easiness : Flask > FastAPI > Django

  1. Javascript(Node.js) - Express.js/Nest.js -> express.js is flexible node.js framework. Used for lightweight API servers, CRUD applications. its a kitchen which needs place to receive orders, somebody cooks, and final food is sent out. You dont need complicated management.

-> nest.js is framework built with typescript. Uses dependency injection and modular architecture(organizing your appl. into small, self-contained functional units)
from previous example, now your kitchen has grown, you need different set of people to handle different things, billing, cooking

  1. Java - Springboot -> It simplifies configuration, dependency injection, database integration, security, and microservices development. Let me explain - Assume you manage a big restaurant with 100+ employees. You cannot just tell everyone to cook, you will have to structure different dept. and divide responsibilities. Thats where spring boot is helpful- database integration, dependency injection, services all are different dept.

Some use cases :

AI chatbot -> FastAPI
Machine Learning API -> FastAPI
MVP Development -> FastAPI/Django
Lightweight RESTAPI -> express.js
Banking/E commerce application -> Java Springboot

Since i mostly use FastAPI, i'll be covering more upon this in next blog.

📰 Read the original article on Dev.to WebDev

Originally published by Dev.to WebDev. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.