HACKER Q&A
📣 calind

What's your choice for the classic web app stack?


If you need to start developing a new web application tomorrow, what would be your choice for a db/backend/frontend web stack?

I've also created a Form to record answers at: https://forms.gle/27nxzrLMCe83uNzr7


  👤 vtemian Accepted Answer ✓
Serverless all the way. There are a lot of good options out there, with AWS being quite flexible.

The onboarding for other developers is also painless. I've recently experiment with AWS Amplify and even if is not quite there yet, is pretty close.

Lambda, cloudfunctions, https://supabase.com/, https://hasura.io/, AWS Amplify, https://aws.amazon.com/serverless/.

For frontend, I would go with either React or Vue, both with a huge community and already a lot of builtin solutions. I would 100% start with a design system, maybe material UI.

Nothing fancy, low maintenance and painless onboarding/development experience.


👤 rciorba
It really depends on the use-case. Async Python is nice for IO-heavy APIs If CPU-heavy workloads are likely, I'd probably look into using go.

In terms of FE, it really depends on the skill-set in the team. I went for Vue over React when we had to have a bunch of backenders whip up a FE simply because it's more opinionated and we didn't want to have to make as many choices when getting started. Also, just rendering HTML on the server side can still get you a long way

For the DB, again, it depends on your use case and what your data-model looks like, but I think a relational DB like postgres is a safe choice 99% of the time. You might need to couple it with something else on occasion (I've reached for elasticsearch more times than I can count)


👤 flavius37
Depending on the app type:

* If the app it's a CRM like (with lots of DB entities) I will go with Python Django, MySQL, vue.js

* For Browser apps or desktop apps that has few endpoints I will go with Golang (https://go-app.dev/) for backend and frontend.

* For a mobile app: React, the backend depends on performances, Golang or Python Django.

* IoT app (may need to process sensors data, analyze, and visualize): Golang, ClickHouse, vue.js

If it's a very simple app (e.g. a dashboard) I will be using: https://go-app.dev/ with SQLite.


👤 dherault
Well, I've tried a lot of options, here is my take on this:

- React + ViteJS for the frontend

- No backend (or Firebase functions, GCP Run, or similar)

- Firebase as the database (beats everything I know for 90%+ of projects)

- A strong design system such as TailwindCSS is a must


👤 aregsar
Five options I’d consider depending on which language I am most familiar with: Php Laravel with live wire/alpinejs Ruby rails with Hotwire Elixir Phoenix with live view Python Django with htmx/alpinejs Javascript nextjs or nuxtjs or redwooodjs

👤 listine
Depends on the requirements but it would be one of / a combination of:

    * Database: PostgreSQL
    * Backend: Python + Django / fastAPI or Scala + Play
    * Frontend: React