Home

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

4 pointsby calindover 2 years ago
If you need to start developing a new web application tomorrow, what would be your choice for a db&#x2F;backend&#x2F;frontend web stack?<p>I&#x27;ve also created a Form to record answers at: https:&#x2F;&#x2F;forms.gle&#x2F;27nxzrLMCe83uNzr7

6 comments

vtemianover 2 years ago
Serverless all the way. There are a lot of good options out there, with AWS being quite flexible.<p>The onboarding for other developers is also painless. I&#x27;ve recently experiment with AWS Amplify and even if is not quite there yet, is pretty close.<p>Lambda, cloudfunctions, <a href="https:&#x2F;&#x2F;supabase.com&#x2F;">https:&#x2F;&#x2F;supabase.com&#x2F;</a>, <a href="https:&#x2F;&#x2F;hasura.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;hasura.io&#x2F;</a>, AWS Amplify, <a href="https:&#x2F;&#x2F;aws.amazon.com&#x2F;serverless&#x2F;" rel="nofollow">https:&#x2F;&#x2F;aws.amazon.com&#x2F;serverless&#x2F;</a>.<p>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.<p>Nothing fancy, low maintenance and painless onboarding&#x2F;development experience.
rciorbaover 2 years ago
It really depends on the use-case. Async Python is nice for IO-heavy APIs If CPU-heavy workloads are likely, I&#x27;d probably look into using go.<p>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&#x27;s more opinionated and we didn&#x27;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<p>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&#x27;ve reached for elasticsearch more times than I can count)
flavius37over 2 years ago
Depending on the app type:<p>* If the app it&#x27;s a CRM like (with lots of DB entities) I will go with Python Django, MySQL, vue.js<p>* For Browser apps or desktop apps that has few endpoints I will go with Golang (<a href="https:&#x2F;&#x2F;go-app.dev&#x2F;" rel="nofollow">https:&#x2F;&#x2F;go-app.dev&#x2F;</a>) for backend and frontend.<p>* For a mobile app: React, the backend depends on performances, Golang or Python Django.<p>* IoT app (may need to process sensors data, analyze, and visualize): Golang, ClickHouse, vue.js<p>If it&#x27;s a very simple app (e.g. a dashboard) I will be using: <a href="https:&#x2F;&#x2F;go-app.dev&#x2F;" rel="nofollow">https:&#x2F;&#x2F;go-app.dev&#x2F;</a> with SQLite.
dheraultover 2 years ago
Well, I&#x27;ve tried a lot of options, here is my take on this:<p>- React + ViteJS for the frontend<p>- No backend (or Firebase functions, GCP Run, or similar)<p>- Firebase as the database (beats everything I know for 90%+ of projects)<p>- A strong design system such as TailwindCSS is a must
aregsarover 2 years ago
Five options I’d consider depending on which language I am most familiar with: Php Laravel with live wire&#x2F;alpinejs Ruby rails with Hotwire Elixir Phoenix with live view Python Django with htmx&#x2F;alpinejs Javascript nextjs or nuxtjs or redwooodjs
listineover 2 years ago
Depends on the requirements but it would be one of &#x2F; a combination of:<p><pre><code> * Database: PostgreSQL * Backend: Python + Django &#x2F; fastAPI or Scala + Play * Frontend: React</code></pre>