-
> 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!)
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
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
-
microblog
The microblogging application developed in my Flask Mega-Tutorial series. This version maps to the 2024 Edition of the tutorial.
Flask Mega-Tutorial: https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial...
-
lucky
A full-featured Crystal web framework that catches bugs for you, runs incredibly fast, and helps you write code that lasts.
-
-
If you need full-stack and want to build quick take a look at https://www.meteor.com/.
-
-
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.
-
> 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.
-
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
π Strapi is the leading open-source headless CMS. Itβs 100% JavaScript/TypeScript, fully customizable, and developer-first.
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/)
-
-
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/
-
-
For everyone opposing Django to FastAPI, please take a look to the excellent Django Ninja: https://django-ninja.rest-framework.com/
-