We would then break down the demo HTML into templates, which we would render in the backend, and work from there.
There would be JS for interactive components - first Knockout (viewmodels, terrible idea), then React (which would let you separate the state from presentation).
Backend templates + React frontend components was IMO the optimum, as long as your POST handling logic was sensible and data-oriented rather than some OO nightmare (https://wtforms.readthedocs.io/en/3.2.x/fields/#the-field-base-class).
You didn't have to implement the API separately from the frontend to later discover that your frontend developer worked really... fast. And implemented their own understanding of the problem domain. These days, if you're super unlucky, you discover that your frontend has been blessed with some non-standard component wrappers, which wrap components, which wrap components, which wrap... And somehow types in TS docs still have no links, so good luck finding what they mean by TData, especially if TData comes from a different codebase.
tl;dr: The tldr is in the title. I want sanity back :D
cranberryturkey•4mo ago
Leftium•4mo ago
Try playing Sverdle with JS disabled! https://sveltekit-template.vercel.app/sverdle
> Unlike the original Wordle, Sverdle runs on the server instead of in the browser, making it impossible to cheat. It uses <form> and cookies to submit data, meaning you can even play with JavaScript disabled!
lcnPylGDnU4H9OF•4mo ago
I know you already called it out but there really is something funny about this. The primary reason I recall for node's popularity is that it means you only have to know one language. I guess that's still true...