DEV Community

Cover image for What is your preferred Tech Stack?

Posted on

What is your preferred Tech Stack?

I'm wondering which Tech Stack you prefer especially for your web development projects. What are the advantages of your favorite stack?

Top comments (34)

vinceramces profile image
Vince Ramces Oliveros

None. You'd never stick to one stack to solve a particular problem. Clients, Employers and hipsters prefer new technologies. That's why I couldn't stick to one tech stack, but a more robust tech that others couldn't compete with.

djnitehawk profile image

my goto stack right now is:

  • frontend: svelte + tailwind css
  • backend: .net core web-api
  • db: mongodb

i choose this stack because it's the best balance between:

  • ease of development
  • ease of maintainability
  • efficiency of resulting code
  • cross platform deployment

for those interested, i've developed a c# dotnet new template project for quickly scaffolding a web-api project for mongodb.

patryktech profile image
  • GitLab
  • Docker{,-compose}
  • Postgres or PostGIS (I occasionally add other DBs)
  • Django for back-end
  • Vue.js for front-end
  • Seeing as I can't design, Quasar framework for Vue
  • Have worked with Graphene (GraphQL) and DRF (Rest)... I think I like Graphene better (single api endpoint, query without {under,over}fetching), but both are very pleasant to work with
  • Pytest, Cypress, Jest for testing

I think GitLab-CI is wonderful to automate building containers, running tests, and deploying. GitLab's issues give you nice boards, so I open issues for things I am working on (e.g. add Login component), give it the appropriate labels (front-end, in process, high priority), and move it around Kanban boards.

Docker makes setting up dev environments very easy. Even though many people disagree, I love running DBs in docker. Then I can easily add postgres, postgis, redis, mongo, elasticsearch, etc. to any project. Once the containers are built, I can just click a "deploy" button, and I have a simple script that stops my project, and brings it up with the latest version.

I am a big fan of using RDBMS for anything that manages user accounts. Postgres and Django support JSON fields, so I can easily add NoSQL features to it. I am currently planning to add ElasticSearch to my website, but that will still be added after PG, and not a replacement.

  -> let Django handle connection
    -> save model
      -> in post save handler, queue Celery task
        -> make Celery serialize object and upsert into ElasticSearch
Enter fullscreen mode Exit fullscreen mode

Django because Python is beautiful, Django does everything you need, meaning fast to start with, no reinventing the wheel, but you can easily extend it.

Vue.js because it uses ES6, and no ugly JSX (personal preference - if you read this and like JSX, don't get offended :)

Pytest, because why would you use anything else?

lewiskori profile image
Lewis kori

This is definitely my favorite stack too vue + django + docker = heaven.
I haven't used graphene in production though. Still stuck on DRF.

patryktech profile image

I've heard that Ariadne is easier to extend than Graphene. Judging by the mess that the multiple inheritance is in Graphene, I am not surprised.

I'll have to give that a try, soon. If you want to implement graphql, I highly recommend you try both.

nalajala4naresh profile image

DB : MongoDB
Backend : python with DRF on docker & AWS ECS
front-end : React

xtrmcoin profile image

Can you please help me deploy quasar build files to django server ?

kiendangtran profile image
Kien • Edited

Most of my project are enterprise app so I'd prefer

  • Spring cloud to build Restful API,
  • Front-end using ReactJS + ReduxJS + Material UI,
  • gitlab for CI/CD. I dockerized both BE & FE so I could deploy them to a k8s cluster or docker swarm for small project.
  • I managed infrastructure using terraform.
  • Sometime when I need to build mobile app, I'd use Flutter + Firebase
burhanuday profile image
Burhanuddin Udaipurwala

Seeing you use React in your frontend, any particular reason that you use Flutter instead of React Native?

kiendangtran profile image

I personally dont like javascript so I'd avoid using it as much as possible. I use it for FE web app 'coz there are no other choice

collimarco profile image
Marco Colli

Ruby On Rails. It's efficient and it gives you everything you need. I've been developing with it since 2010 for passion, then I launched several successful businesses with it (starting from 2017).

Here's some websites that I have built with Rails, PostgreSQL and minimal frontend (HTML, CSS, JS):

phpandcigars profile image
PHP and cigars
  • Stylus
  • Grunt
  • jQuery
  • MariaDB
  • PHP with own framework
  • Elasticsearch
  • Vagrant VM with Ansible
  • PHPStorm for IDE.

I would not argue, that the stack is better, than an other tech stack, but i know them well enough to be productive.

patryktech profile image

I would not argue, that the stack is better, than an other tech stack, but i know them well enough to be productive.

Luckily, the question isn't about "the best," but our preferences, so there are no wrong answers :)

devmount profile image

Exactly! 😊

matthewbdaly profile image
Matthew Daly

I spent four years at an agency that did mostly Phonegap apps, and at the time my preferred stack was:

  • Django and Django REST Framework for the API
  • PostgreSQL and Redis as data stores
  • Angular 1 for the app

In 2015 another dev joined and given that I was the only dev of three who knew Python, I felt we needed to standardize our back ends so someone else could pick it up if I got hit by a bus, so we decided to go with Laravel for future development since we all knew PHP.

Later, after leaving that place, I switched from Angular to React. I'm currently building an app with the following stack:

  • Laravel
  • GraphQL
  • MariaDB
  • Redis
  • React

I'd prefer to use Postgres over MariaDB, but otherwise it's my preferred stack.

lorenzk profile image
Lorenz Kitzmann

Still Ruby on Rails in the back, HTML with just enough JavaScript in the front. Sometimes VueJS if the app requires it.

grantwatsondev profile image
Grant Watson

My favorite stack right now is React/Node/Firebase. But that is because its what I am currently working with at work. On my next project, on as different stack I may be working with PHP and Laravel and that may become my favorite.

devusman profile image
Usman Suleiman

Frontend: React.
Backend: AWS
No particular advantage other than I'm very familiar with them and that leads to faster and better development.

redeemefy profile image

AWS is a back-end stack? I think you are confused on what is a back-end stack.

devusman profile image
Usman Suleiman

Well, I use AWS Lambda, AppSync and a bunch of others. I believe they power my app from the "back", so I just call them my back-end stack.

mariusjaskunas profile image
Marius Jaskūnas • Edited
  • Backend - .NET core
  • Frontend - Vue.js with jest for testing.
  • Database - Depends if relational database is needed. For relational I use Microsoft SQL Server. I don't find it slowing me down
  • Wrapping everything up with Docker to simplify the run of App.
redeemefy profile image
redeemefy • Edited

I have been working with interpreted languages. Did Python for a year doing Data Science and building ML models. I have been using JS for over a year now doing UI with Nuxt. Now I'm using JS for a very nitch use case in the health industry doing ETL work. With this type of work, I'm also using Java and looking the way to move to Kotlin. To echo what Vince is saying, if you stay building CRUD apps, the default is a front end framework (Vue, React, Angular, Svelte), a backend framework (Django, Flask, RoR, Spring), and a database (relational or document), other than that there is not much to it.

When you start writing code for different kinds of problems outside Web/CRUD, there is no stack. It is the right tool for the job.

For CRUD, any of the frameworks mentioned above will serve you well. All of them are good tools with good docs.

saint4eva profile image

C# and .NET. With them, I can do all things.

yunusemredilber profile image
Yunus Emre Dilber
  • Ruby on Rails API for backend (with Postgresql DB)
  • React/Redux for frontend
  • Flutter for mobile

And tech stack is really depends on what you are doing. It's just a beautiful stack.

fyodorio profile image

MEAN For The Win 🤟
(MongoDB, Express, Angular, Node.js)