Ask HN: Simplest stack to build web apps in 2021?

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • Scout APM - Less time debugging, more time building
  • OPS - Build and Run Open Source Unikernels
  • SonarQube - Static code analysis for 29 languages.
  • htmx

    </> htmx - high power tools for HTML

    > What are its cons?

    Is very pragmatic. That means your whole investment in the arcane ways of JS are dust. Not hipster at all.

    ---

    More seriously, Is of little issues here. You setup and it works, so is not something that lead to "generate content" like other setups.

    I found only a significant issue (to me) (https://github.com/bigskysoftware/htmx/issues/596) but then I do something that have never done in long time with a JS library: I poke into the source and fix it myself. Far easier than expected! (ie: The code is plain!)

  • Ember.js

    Ember.js - A JavaScript framework for creating ambitious web applications

    If you want a batteries included framework, take a look at ember. [1]

    It tries to manage a lot automatically via the ember-data module (which also makes queries automatically, e.g. left/right joins etc) so it shines with predefined rules and constraints, lots of former rails people seem to contribute to it these days.

    [1] https://emberjs.com

  • Scout APM

    Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

  • microblog

    A microblogging web application written in Python and Flask that I developed as part of my Flask Mega-Tutorial series.

  • lucky

    A full-featured Crystal web framework that catches bugs for you, runs incredibly fast, and helps you write code that lasts.

  • kemal

    Fast, Effective, Simple Web Framework

  • Meteor JS

    Meteor, the JavaScript App Platform

    If you need full-stack and want to build quick take a look at https://www.meteor.com/.

  • Tailwind CSS

    A utility-first CSS framework for rapid UI development.

  • OPS

    OPS - Build and Run Open Source Unikernels. Quickly and easily build and deploy open source unikernels in tens of seconds. Deploy in any language to any cloud.

  • fastapi

    FastAPI framework, high performance, easy to learn, fast to code, ready for production

    As an aside (and as a Python/Flask user on several past projects) I'd also recommend taking a look at FastApi. (https://fastapi.tiangolo.com/)

    I've not used it in depth yet, but from a poke around the overall design and syntax seem very nicely thought out (much more logical/intuitive than Flask, honestly) and it's very fast.

  • full-stack-svelte-prototype

    > They all look complicated and require lots of configs and plumbing to get started.

    I felt the same way so I made my own full-stack "framework" just for me centered around the Svelte component library which I love:

    https://github.com/Glench/full-stack-svelte-prototype/

    Been using it in production and really really happy with it. Obviously kind of stinks to not have community support but so far it hasn't been a huge issue.

    It basically sets up all the crap that I don't want to have to think about while keeping a tight coupling between the front-end and back-end (which is how I develop) — clear separation of code that runs on the server vs the client (with code splitting and CSS generation), rendering pages on server and hydrating client components, communicating between the server and client, re-rendering components when new data arrives. It really fits my needs well.

  • fastapi-fullstack-boilerplate

    A full stack boilerplate for FastAPI

    Even for stateful apps, I reach for FastAPI now. It's just so expressive. For the "full stack bits" there are plenty of libraries, it's just a little work to stitch them together.

    This is my boilerplate: https://github.com/ttymck/fastapi-fullstack-boilerplate

  • Strapi

    🚀 Open source Node.js Headless CMS to easily build customisable APIs

    And gives you built in api to create, read , update and manage access, so its almost like a combination of wp + hasura kinda, and it comes in one docker image to host, you can choose between sqlite3 and postgres for the db.

    Hugo for building my static web pages and page templates, after that I either render it statically with hugo (and serve it with nginx) or migrate the final file into template folder for my python app

    Then for the dynamic content, i just use flask and jinja2 to serve the pages, along with fastapi if i need to built a custom api (i try to handle it with strapi and only build my custom api if i need to)

    [strapi](https://strapi.io/)

  • Flask

    The Python micro framework for building web applications.

  • Echo

    High performance, minimalist Go web framework

    For backend I'd say -> Golang, PostgreSQL, Redis. I've just worked with Vue.js but I've seen some of the React codebases and don't really appreciate that complexity. Vue does a far better job and simplifying things.

    With Golang, you actually don't need a mega framework to get started, you can use small libraries that will do the job for you without doing any magic behind the scenes. (Like, for sure you can use echo[0] but you would probably be happy with mux[1] and it's middlewares itself). And it's not uncommon in Go codebases to repeat yourself. I'd argue that's a much better paradigm than polluting your codebase with 10k indirect dependencies, the garbage that is the Node.js ecosystem.

    [0]: https://echo.labstack.com/

  • mux

    A powerful HTTP router and URL matcher for building Go web servers with 🦍

  • django-ninja

    💨 Fast, Async-ready, Openapi, type hints based framework for building APIs

    For everyone opposing Django to FastAPI, please take a look to the excellent Django Ninja: https://django-ninja.rest-framework.com/

  • imba

    🐤 The friendly full-stack language

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts