Settings

Theme

Ask HN: What is your go-to stack for the web?

38 points by federalbob 2 years ago · 73 comments · 1 min read


Going back to the web after 10 years, I'm summoning the HN wisdom.

What is your go-to stack for a classic business web site ? for a Saas ? for a landing page ? for [whatever you do here] ?

assimpleaspossi 2 years ago

I ran a web dev business for 20 years. It includes two sites you probably have visited and bought things from. We used HTML for HTML. CSS for CSS and Javascript for Javascript.

Then we used a common and popular programming language to make them all work together.

It was compatible with everything. Worked everywhere. Interfaced with everything. And was as fast as hell.

No additional thinking or learning required.

  • ahofmann 2 years ago

    Yes, exactly. And because all of this is bundled in laravel (and at some point I learned working with the framework), I'm using this since years for almost everything.

nasir 2 years ago

Django: function based views.

UI: Django templates, htmx, tailwind, vanilla js or hypersceript, no build, no node, no npm. Avoiding writing js as much as possible.

Background workers: RQ with 3 priority queues

Deployment: Kamal one command deployment with underlying docker

Hosting: Linode server with backups

Storage: Mounted volume on the machine (maybe s3 eventually).

Benefits:

* High speed of iteration

* No boilerplate mess

* No build therefore no dealing with dependencies and npm rabbithole

* Fast deployment with Kamal (a bit of learning curve but once up just works)

* Much cheaper compared to PaaS. At least 50%.

* Multiple websites on the same instance

Of course I know django quite well so the goal is to remove as much friction as possible.

tored 2 years ago

For web PHP.

PHP has many stable frameworks if you are in to that and if you don't want to use a framework you can run vanilla PHP without a problem.

Dependency management is done these days with composer and it is easy add a dependency, like framework or library, from composer.

PHP has has lot of good tooling like IDEs, linters, testing etc.

Here is a short intro to PHP I wrote a few years ago.

https://news.ycombinator.com/item?id=25222509

throwaway94_30 2 years ago

I pick what I know best and "just works" because of my experience and the framework's maturity. YMMV

Backend: Spring Boot (Java or Kotlin depending on solo vs cooperation)

Frontend: React ("https://hilla.dev/" looks interesting, might try that next)

Database: Postgres

vedranm 2 years ago

These days I am doing HPC software development, so not much web development. Over the last few years I used to work as a senior lecturer and then a junior professor at a university, where my group worked with web tech quite a bit.

We used PHP/Laravel for developing a scientific SaaS prototype [1] and Python/Django for teaching web application development [2]. For documentation (including teaching materials, blogging), we had a preference for static site generator (Jamstack) solutions: we used Sphinx and later switched to MkDocs [3, 4].

[1] https://group.miletic.net/en/publications/#2021

[2] https://group.miletic.net/hr/nastava/kolegiji/PW/#vjezbe

[3] https://group.miletic.net/en/blog/2017-07-29-why-we-use-rest...

[4] https://group.miletic.net/en/blog/2021-08-16-markdown-vs-res...

whodev 2 years ago

I've been using Go, HTMX, Alpine.js, and Turso.

So far I've been loving it. Simple and easy to get started with. Everything works so well togther and is really easy to deploy as a single executable which can include any asset files with the `//go:embed` directive.

lgeorget 2 years ago

PHP and Symfony for the backend, Bootstrap for the frontend. Very classic. DB is MariaDB and Cassandra.

We also have many internal tools in R/Shiny.

mrcsharp 2 years ago

I use .Net & C# for backend development and Vue or Blazor for Frontend. .Net has great tooling that won't get in your way as you work on the project. C# has added lots of great features and is blazing fast nowadays with every .Net release being accompanied by a massive blog post describing all the performance improvements to the runtime[1].

[1] https://devblogs.microsoft.com/dotnet/performance-improvemen...

jasfi 2 years ago

Next.js + PostgreSQL.

I also use Nim for when I need high-performance code, which can be utilized as a Node.js add-on using Denim.

rambambram 2 years ago

Mine is the CHAMP-stack. Consisting of CSS, HTML, Apache, MySQL and PHP.

  • jfengel 2 years ago

    What is Apache in this context? Tomcat?

    • rambambram 2 years ago

      I don't know. Is Tomcat some version of Apache server? It says 'apache2' at my localhost while installing the server, and at the webhost I don't know (might be some other server that can run PHP). I usually don't dive deep into server territory, so I'm a lucky guy that I can focus on the design and the webdev.

      • jakopo87 2 years ago

        Apache Tomcat is a web server for Java web applications, different from the Apache HTTP server (your 'apache2').

  • lioeters 2 years ago

    Is it all running on Linux by chance?

    • rambambram 2 years ago

      I have a hard time finding out if this is also some wordplay, like my own. But yes, it's running Linux at home and probably also at the webhost.

    • sam_lowry_ 2 years ago

      Probably not, because it will be LAMP otherwise.

Zanfa 2 years ago

Rails for SaaS/CRUD, haven’t done anything semi-static in a while, but would probably go with Webflow.

thunderbong 2 years ago

Roda: Routing Tree Web Toolkit fur Ruby [0].

Sequel: The Database Toolkit for Ruby [1]

Front end could be anything including no javascript. Roda makes it very easy to either write APIs or server rendered partials.

I love the simplicity, clarity and performance of this stack.

[0]: https://github.com/jeremyevans/roda

[1]: https://github.com/jeremyevans/sequel

tacone 2 years ago

I'm playing with Sveltekit + Trpc Backend + DrizzleOrm + Postgres. I am using plain Javascript + JSDoc and Typescript checking.

  • Glench 2 years ago

    I have been really impressed with SvelteKit in my production SaaS for about a year now! You can make any type of static/dynamic/combination site, the dev experience is really good, and it feels like it elegantly bridges the front-and-backend (getting data from the back-end, form submission) which is something I've wanted since I started in 2011.

    My SaaS uses SvelteKit, SQLite and Sequelize, but I would probably try Drizzle if I was starting today.

miroljub 2 years ago

Clojure using for the server side https://github.com/kit-clj/kit

htmx for frontend, using the built-in kit htmx module.

Previously I used Clojure, re-frame and websockets using sente. It is very productive, but now I prefer the lightweight feeling of htmx.

chr15m 2 years ago

Full stack ClojureScript on Sitefox with either Sqlite or Postgres, deployed to a VPS with Piku.

almost 2 years ago

Django because in a word of constantly changing frameworks and approaches it’s nice to have something solid. New versions add improvements but Django is basically still the same as it has been for almost 20 years. It’s really fast to build things with as well and the Admin is amazing (just don’t try to overuse it).

Recently HTMX has been a really nice addition, adding some fanciness without writing more JS.

Some bits are just easier to do as full on JavaScript components and for those I use React because I know it and it does the job. Just for bits though (often as small as one component in a otherwise vanilla Django form), SPAs are a pain to write and maintain.

I have a SaaS so that’s mostly what I’m doing.

BerislavLopac 2 years ago

For pure APIs: pyapi-server [0]. For classic Web sites: Starlette [1], with SQLAlchemy Core [2] for database integration. Or, if you prefer something with more batteries included, FastAPI [3].

[0] https://pyapi-server.readthedocs.io

[1] https://www.starlette.io/

[2] https://docs.sqlalchemy.org/en/20/

[3] https://fastapi.tiangolo.com/

sotix 2 years ago

My personal website uses SvelteKit to glue together HTML, css, and a small bit of JavaScript. Most of the website could easily be extracted and deployed on its own or in another framework. I use Svelte primarily to provide a common nav bar across routes and to execute JavaScript that bundles my blog posts to display by date. I enjoy designing my pages by hand, so I prefer this setup to a static site generator. I vastly prefer it to using something like React. I do want to simplify the setup, but it works well for now.

If I were working on a website that needed a backend, I would use htmx and either flask or Django.

threeseed 2 years ago

I've tried so many and still love Scala.js + React / Scala.

One language, one tooling, one set of models etc across the entire stack is just so much nicer.

And you never have to worry about performance, scalability or lack of libraries.

INTPenis 2 years ago

Landing page and a business website can most likely be static, so AWS S3, Cloudfront, ACM, maybe a little lambda if necessary.

Services I tend to start with Flask, Celery, redis and build from there.

irjustin 2 years ago

Pick what you know if you're going to build for a business. Me? Rails, Django and Postgres on AWS. Nowdays, Django on Lambda.

If you're building for fun, whatever you want!

mkl 2 years ago

There are a ton of past threads on this, many valuable, and some huge. You can find them by searching [Ask HN web] (or stack or framework, etc.) in the search box at the bottom. Here are some decent-sized ones going back to 2016, but there are many more. I figure if something is recommended a few years ago and also recently, it's probably good, stable, and well-documented.

Ask HN: If you were to build a web app today what tech stack would you choose? https://news.ycombinator.com/item?id=38059036 (92 points by russianbandit 3 months ago | 208 comments)

Ask HN: What does your self hosted stack look like? https://news.ycombinator.com/item?id=37164315 (52 points by LorenDB 5 months ago | 41 comments)

Ask HN: Which stack is as boring (good boring) and cheap in 2023 as PHP? https://news.ycombinator.com/item?id=35112481 (38 points by alentred 11 months ago | 46 comments)

Ask HN: What would be your stack if you are building an MVP today? https://news.ycombinator.com/item?id=34530052 (459 points by nvln on Jan 26, 2023 | 727 comments)

Ask HN: Solo Dev Stack of 2022? https://news.ycombinator.com/item?id=33046696 (40 points by jstummbillig on Oct 1, 2022 | 81 comments)

Ask HN: Help me pick a front-end framework https://news.ycombinator.com/item?id=32799003 (141 points by bjackman on Sept 11, 2022 | 177 comments)

Ask HN: Web frameworks – which less popular frameworks are you using and why? https://news.ycombinator.com/item?id=31607256 (84 points by vanilla-almond on June 3, 2022 | 147 comments)

Ask HN: What tech stack would you use to build a new web app today? https://news.ycombinator.com/item?id=29626371 (48 points by gt565k on Dec 20, 2021 | 73 comments)

Ask HN: Which tech stack is the most fun? https://news.ycombinator.com/item?id=29625165 (100 points by chickenWing on Dec 20, 2021 | 184 comments)

Ask HN: Simplest stack to build web apps in 2021? https://news.ycombinator.com/item?id=29311761 (99 points by yblu on Nov 22, 2021 | 188 comments)

Ask HN: Which stack for prototyping? https://news.ycombinator.com/item?id=26851533 (57 points by tbronchain on April 18, 2021 | 99 comments)

Ask HN: Fastest/easiest framework to build a web application in 2020? https://news.ycombinator.com/item?id=22161880 (77 points by ryanSrich on Jan 27, 2020 | 89 comments)

Ask HN: What tech stack would you choose for building your next app? https://news.ycombinator.com/item?id=21807469 (39 points by _fwu1 on Dec 16, 2019 | 52 comments)

Ask HN: Go-to web stack today? https://news.ycombinator.com/item?id=18829557 (542 points by capkutay on Jan 5, 2019 | 443 comments)

Ask HN: What stack would you use to build a CRUD web app in 2018? https://news.ycombinator.com/item?id=16508965 (189 points by xstartup on March 3, 2018 | 178 comments)

Ask HN: What tech stack would you choose for a serious, long-term business app https://news.ycombinator.com/item?id=16763981 (44 points by bballer on April 5, 2018 | 78 comments)

Ask HN: Which stack do you use at your startup? https://news.ycombinator.com/item?id=16390851 (88 points by xstartup on Feb 16, 2018 | 126 comments)

Ask HN: What language/framework do you plan to use in your next project? https://news.ycombinator.com/item?id=14864389 (119 points by _pfxa on July 27, 2017 | 258 comments)

Ask HN: Starting a project today, which web framework would you use? https://news.ycombinator.com/item?id=14391951 (94 points by betimd on May 22, 2017 | 155 comments)

Ask HN: What web framework do you use? Why did you choose it? https://news.ycombinator.com/item?id=13254051 (71 points by moraya-re on Dec 25, 2016 | 118 comments)

Ask HN: What is a “boring” web stack? https://news.ycombinator.com/item?id=12866695 (51 points by stevetodd on Nov 3, 2016 | 48 comments)

Ask HN: What are the best web tools to build basic web apps as of October 2016? https://news.ycombinator.com/item?id=12774616 (114 points by arikr on Oct 23, 2016 | 82 comments)

oaxacaoaxaca 2 years ago

Frontend:

- "vanilla" React (no Next.js or any other framework-y bloat)

- MUI

- React Router (v5 because v6 is a pain)

Backend:

- Node

- Typescript

- Express

- Prisma or Sequelize

- Sometimes Django/DRF in lieu of the above

- MySQL or Postgres

Deployment:

- KISS principle: one Digital Ocean droplet, no serverless or any of that

czechdeveloper 2 years ago

BE: .Net minimal API, Entity Framework (SQLite or PG as database) FE: React + Tailwind and few other libraries

apricot13 2 years ago

JavaScript (react/nextjs/eleventh) if it's a small project and I want to get it up and running quickly.

CSS or SCSS depending on complexity

If it's something that needs logins or more common features I'll usually switch to rails it just gets all the tedious stuff out of the way!

gregnavis 2 years ago

I love vanilla Rails (that includes Hotwire) + Postgres + Heroku + Tailwind. I do often use Rubocop and some other rolling, and want to package that as a project starter kit.

I’m looking forward to seeing Rails 8 in action, as is going to make building PWAs easier.

truckerbill 2 years ago

Mithril and xstate if it’s needed. Backend plain Go or Bun.

I don’t know why more people don’t use mithril

grigarav 2 years ago

Front-end: A few static sites (i.e. landing page) + Angular. Back-End: A few C# APIs with Redis for caching. Database: MongoDB + SQL Server. Deployment: Docker Containers on Azure via DevOps Pipelines (one-click deployment).

ssss11 2 years ago

Backend: Node with sqlite, Postgres or MySQL. Front: Vue with Bootstrap

JohnDeHope 2 years ago

I've moved everything to ASP.Net Core Blazor. I've been developing web apps on Microsoft's stack since Wrox's ASP 3.0 book. It's always been a pleasure.

Perceval 2 years ago

Notepad/TextEdit are my go-to HTML/CSS/Javascript/PHP editors.

When I got more serious at one point in my life I used BBEdit.

I found Firefox's development tools very useful as well.

meowtastic 2 years ago

Astro SSR, deployed with Caprover on Hetzner Ubuntu machines. Tried Django, Next.js, React+Go/Gin, Blazor. Never been more productive in my life.

cjs_ac 2 years ago

Python/Flask, HTMX, SQLite or Postgres, Bulma CSS.

callamdelaney 2 years ago

HTMX, Tailwindcss + TailwindUI blocks + Flask + Sqlite & Litestream to s3 on baremetal. Celery & Redis for background tasks.

albelfio 2 years ago

Sst.dev and remix.run are a pleasure to work with

romantomjak 2 years ago

Go, postgres, redis, vue, tailwind css. Been wanting to experiment with htmx, but haven’t gotten around to it yet.

dylanzhangdev 2 years ago

sveltekit + supabase/pocketbase

acrooks 2 years ago

these days I’m often using Supabase on backend, Nextjs+Vercel frontend

it has increased my speed to market massively. I mostly work on enterprise CRUD apps so getting things like SSO and API for free on Supabase is a great time saver

and then some apps require more specialized functionality and for that I’ll leverage the AWS stack

saasjosh 2 years ago

ExpressJS back-end + NextJS front-end is the most productive one for me.

austin-cheney 2 years ago

Node, TypeScript, ESLint, Tauri, and a bunch of custom ESLint rules and a bunch of custom unit tests.

coding123 2 years ago

Saas with a bit of data engineering mixed in: Mongo elastic react (nextjs) gql python spark LLM

santiagobasulto 2 years ago

For SaaS, React in the frontend, Django + DRF in the backend. Postgres as DB. That's it.

AussieWog93 2 years ago

For a website? Wordpress honestly works pretty well if you don't install 20+ plugins.

fredwimberg 2 years ago

Backend: FastAPI + Pydantic + SQLModel (Python) Forntend: Vue/Nuxt Database: Postgres

ivyirwin 2 years ago

For SaaS, React frontend and Laravel/Lumen on the backend. DB is usually Postgres.

sidharthv 2 years ago

SvelteKit, with Zenstack handling access control on top of Prisma. Postgres as DB.

jasondigitized 2 years ago

Vue 3 + Nuxt + Tailwind + Supabase + Google Cloud Run = Luddite Friendly

  • gazby 2 years ago

    Hey, you dropped this: /s

    But more seriously, given this is HN, I honestly can't tell anymore.

sam_lowry_ 2 years ago

Postgrest + Petite-vue + One of the many classless css frameworks.

  • sam_lowry_ 2 years ago

    On a second though... Openresty would be my go-to choice for performance-critical parts of the backend.

michalg 2 years ago

Elixir, Phoenix LiveView, Postgres, TailwindCSS

martinsnow 2 years ago

Laravel backend

React frontend

pilgrim0 2 years ago

solid and tauri for apps, astro for content sites (with a headless cms if it’s big)

  • johrpan 2 years ago

    Which headless CMS do you recommend?

    • pilgrim0 2 years ago

      Honestly? I dislike every single one and I avoid it when possible. It’s a matter of aligning the UX with the client’s preferences and expertise. Last project I used contentful, it has a lot of features, so it’s a good choice for a project which will scale.

    • skipchris 2 years ago

      very small and indie, but i’ve really enjoyed SpinalCMS.

e61133e3 2 years ago

HTML & CSS

baby 2 years ago

Rust and vuejs

ha1zum 2 years ago

express, pm2, postgres, jquery

M95D 2 years ago

For personal use or at work?

Personal use:

- OpenWrt

- Hiawatha webserver

- PHP

- SQLite if really necessary

Work:

- not my decision

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection