I like them boring: php mvc backend with an sql database like MySQL. HAProxy does TLS termination and failover/loadbalancing. Varnish does response caching/esi processing.
Responses are rendered according to accept header in the request, so the "api" is also the web application (with a different view renderer basically).
For the web view, traditional links/forms as much as possible. Those things can always be upgraded to do XHR loads as a progressive enhancement.
I'm sure none of these concepts are popular with the HN crowd.
Depends on needs. I used CherryPy with MongoDB for my first project at my current job. Have used ASP .NET Core but I’m all favoring Python recently. Once the Rust ecosystem becomes fully batteries included I may consider them though I’m leaning towards Django and itching to build something with it recently. Python lets you write a lot of code quicker and find libraries that solve your issues quicker.
Disclaimer, I mostly do internal tooling, and the honest answer would be Jenkins+Groovy scripts. I am not sure it counts for the purposes of this question :-)
Seems like any time I need to do some actual web-page, somebody else might need to look at, I settle at:
* Vue.js
* Node.js backend
* PouchDB as database
I have million unfinished projects in more esoteric stuff, such as purescript/elm/clojure. Purescript seems to be winning over on that front.
Google Cloud and Firebase. Free tiers available for experimenting ;)
Caddy is very versatile as web server, proxy, load balancer, etc. And plays well with gRPC.
For middleware, golang is enough. Gorilla and go-kit add useful helpers.
As far as frontend, I've used Bootstrap, Foundation, etc. But prefer building custom solutions with things like D3.JS and Babylon.JS. Stripe Elements is also really nice.
meteor.com, it's all-in-one and works out of the box. For example, no need to install/configure DB to get started(it spins up configured one locally for you). If you want to go live to production, it's single command to deploy and they offer hosting service that's reasonably priced.
Responses are rendered according to accept header in the request, so the "api" is also the web application (with a different view renderer basically).
For the web view, traditional links/forms as much as possible. Those things can always be upgraded to do XHR loads as a progressive enhancement.
I'm sure none of these concepts are popular with the HN crowd.