DEV Community

K.M Ahnaf Zamil
K.M Ahnaf Zamil

Posted on

1

My favorite stack for web applications, and why I use it

If you are a full stack developer, or just a web developer in general; you might have heard the term "Tech Stack" or just "Stack" in general. Basically, it is a set of technologies that you use to make your web applications. Pretty simple right?

There are many popular stacks which are used from small startups to big companies. These stacks include but not limited to:

  • MERN: MongoDB, Express, React, Node
  • MEAN: MongoDB, Express, Angular.js, Node
  • LAMP: Linux, Apache, MySQL, PHP etc.

When I make a web application, I want a tech stack that is lightweight, and easy to use/manage.

I call it the PERP stack (weird name)

  • P: Python
  • E: (E)nginx
  • R: React
  • P: PostgreSQL

Since I use Python and TypeScript as my primary languages, I use these for making my applications. On the backend, I use Python Flask (specifically) as my web framework. I use Ariadne with Flask as I like to use GraphQL instead of REST, whenever possible.

Flask is an unopinionated and lightweight web framework. It comes with the bare essentials, and there are tons of extensions which you can integrate to make your application, which is why I use it instead of a complete web framework like Django.

For the frontend, React is a must for me. I don't like any other frontend frameworks/libraries except React (just my own opinion). With React, I use URQL or Apollo client as the GraphQL client. Also, I forgot to mention that this will all be in TypeScript (because types are OP). UI-wise, I use Tailwind CSS, and Headless UI (Tailwind components for React, Vue, etc).

As my database, I leverage SQL over any other type of "main" database, specifically PostgreSQL. Of course, I would use something like Redis for user session and caching. The reason I use SQL is because it provides you with structured tables, so that the data always follows the same format and pattern. Relational functionality is also another pro to it. Foreign keys, joins, etc, are very useful SQL functionalities.

This is basically the set of technologies that I like to use for making my web application. Of course, there might be other better alternatives, but I just use it because I am more comfortable with using these. And it's not that bad. Let me know what tech stack you use for your web application, in the comments below. Hope you enjoyed this post :)

Hostinger image

Get n8n VPS hosting 3x cheaper than a cloud solution

Get fast, easy, secure n8n VPS hosting from $4.99/mo at Hostinger. Automate any workflow using a pre-installed n8n application and no-code customization.

Start now

Top comments (0)

Cloudinary image

Optimize, customize, deliver, manage and analyze your images.

Remove background in all your web images at the same time, use outpainting to expand images with matching content, remove objects via open-set object detection and fill, recolor, crop, resize... Discover these and hundreds more ways to manage your web images and videos on a scale.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay