DEV Community

Cover image for What is your preferred Tech Stack?

What is your preferred Tech Stack?

Andreas on December 27, 2019

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

Collapse
 
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.

Collapse
 
djnitehawk profile image
Dĵ ΝιΓΞΗΛψΚ

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.

Collapse
 
patryktech profile image
Patryk
  • 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.

PUT/UPDATE
  -> 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?

Collapse
 
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.

Collapse
 
patryktech profile image
Patryk

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.

Collapse
 
nalajala4naresh profile image
nalajala4naresh

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

Collapse
 
xtrmcoin profile image
xtrm-co-in

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

Collapse
 
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
Collapse
 
burhanuday profile image
Burhanuddin Udaipurwala

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

Collapse
 
kiendangtran profile image
Kien

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

Collapse
 
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):

Collapse
 
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.

Collapse
 
patryktech profile image
Patryk

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 :)

Collapse
 
devmount profile image
Andreas

Exactly! 😊

Collapse
 
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.

Collapse
 
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.

Collapse
 
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.

Collapse
 
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.

Collapse
 
redeemefy profile image
redeemefy

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

Collapse
 
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.

Collapse
 
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.
Collapse
 
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.

Collapse
 
saint4eva profile image
saint4eva

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

Collapse
 
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.

Collapse
 
fyodorio profile image
Fyodor

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

Collapse
 
jimmymcbride profile image
Jimmy McBride

React with Redux. I usually use firebase for auth and set it up with a restful node backend, but I want to start moving to using the firestore more.

Collapse
 
ajinkabeer profile image
Ajin Kabeer • Edited

At work, I use React for front-end and Node.js with MongoDB as the back-end for my current project.

For one of my side hustle, I use GatsbyJS, Contentful and Netlify aka JAM stack 🔥.

Collapse
 
raghavmisra profile image
Raghav Misra

Not sure if MERNT exists. If not, I hold rights to that phrase.

MongoDB, Express, React, NodeJS, and Typescript are my go to for literally any full stack project.

Collapse
 
mikolaj_kubera profile image
Mikolaj Kubera

Elm, Elixir, ReThinkDB
Stylus, gulp

🥰🥰🥰

Collapse
 
perkinsjr profile image
James Perkins

MEAN or Angular Node and Firebase

Collapse
 
darthbob88 profile image
Raymond Price

At the moment, C#/.NET Core for the back end, with React for the front, but I try to maintain some familiarity with other frameworks.

Collapse
 
digitalvillainy profile image
Roberto Rivera

I default on LAMP but if the project needs it I will use a MEVN. Really depends on how the data needs to be updated.