6

What would you use for building the baclend of a moderately complex web application that probably will have a small userbase?
Ruby on Rails
Django
ASP.NET Core
Spring/Springboot
Node.js
Deno

If what you would like to use something else that is not listed feel free to tell about it in the comments

Comments
  • 12
    Probably just pick the tool I'm most familiar with.
  • 6
    Either what @lotd said or something that you’ve been dying to experiment with, if it’s the sort of project where that makes sense. But out of those mentioned, I’d use Node.js (I rly like Nestjs framework) or dotnet, depending on the complexity and what would best suited for the project in question.

    I don’t know Ruby, so can’t say nothing about Rails. I steer clear of Python for hopefully obvious reasons, and Deno is just really not quite there yet to be even remotely useful.
  • 1
    I will go with something I am familiar with..... Ruby on Rails
  • 1
    Probably Spring Boot or even Quarkus
  • 2
    Sinatra or Flask, Rails and Django are always overkill.
    And ruby and python are the only backend languages I care about :)
  • 1
    For me it would be
    Nextjs and Chakra UI for frontend
    Express/fastify with PostgreSQL for backend
  • 1
    Node TS Express TypeORM MySQL
  • 2
    Kinda depends on your definition of “moderately complex”

    Conservatively I’d say Spring Boot. But for a small user base I’d probably try to leverage serverless tech like AWS Lambda/Step Functions if possible.

    Serverless can potentially save you a fair amount of money if you don’t expect a huge amount of traffic since you don’t have to pay to keep VMs running. But again it depends on the complexity of your application.
  • 1
    Of course you can still technically use components of those frameworks in a serverless model. I just mean I’d compose my app out of many small Lambda functions rather than running a Spring Boot monolith on EC2 or even Kubernetes.
    That’s just me trying not to pay huge monthly cloud bills lol.
  • 1
    I'd do it on golang with just builtin http server (and maybe some gorilla mux) if I want something nice and easy. If I want something cool and modern - actix on rust. If it is for customer who often want Java(cause all the devs are java), then just SpringBoot
  • 1
    I'll look for a boilerplate similar to my use case in whatever language
  • 0
    From that list it would be Django - because Python is a pretty friendly language.
  • 0
    Ill be the first to say asp.net core, also because its a developer friendly language.

    Django would be my second pick.

    All are good options, but if you want to learn something new, and don't know either of them, this is your chance to expand your horizon 😀
  • 1
    Personally, I love me some MERN stack, but it's really whatever you're most familiar with
  • 0
    @LLAMS
    Also, if the app is mall enough, which it is, you can skip AWS, rent s 2-5 USD/month VPS and go for the Monolith approach.

    That is cheaper, more manegeable as a 1 msn operation and you avoid architecture decisions that do not fit in your use case.
  • 0
    For backend I'd pick:

    https://rocket.rs/ + Redis + Postgres (if necessary).

    For frontend I'd pick:

    JSON API (just serialize Rust structs through Serde) + Curl.

    But my pick isn't necessarily great advice. It makes sense for me.

    As others have said: For productivity pick what the plane you have logged the most flight hours on -- and for the greatest kick pick the exotic one with the flame decals.
  • 1
    @mundo03 The pricing model for Lambda, API Gateway and DynamoDB is pretty generous.
    I have a small app that consists of 2 lambdas behind an API gateway talking to 2 Dynamo tables, and because the traffic is so low its so cheap its effectively free.
  • 1
    Flask for sure, literally the simplest API i can make, and super extensible
  • 2
    @LLAMS i went over and checked AWS and GCP and you are good damned right.
    I'll take a deeper look.

    Thanks for this.
Add Comment