I personally use Nuxt 3 (Vue + TypeScript) + Tailwind/Uno CSS for styling. Prisma/Drizzle as an ORM with PlanetScale (MySQL) or SQLite.
Other popular full stack frameworks are Next (React), Remix (React), SvelteKit (Svelte), Solid Start (Solid.js), Qwik City (qwik), Fresh (Preact + Deno). With them you have server and client code within the same codebase.
TypeScript is a must, every serious framework offers first class support.
For styling, atomic css via Tailwind CSS is extremely popular. There are headless component libraries best used with Tailwind, such as Radix or Headless UI (by the Tailwind team), or libraries built with it, such as Daisy UI or Shadcn (uses Radix + Tailwind under the hood). With Nuxt I usually build everything out from scratch using Uno CSS (basically better Tailwind), or Nuxt UI (with Tailwind).
There are also bunch of high quality React UI component libraries such as Mantine, Chakra, Next UI, MUI, etc.
For backend, every major meta-framework above allows you to write server code and build api routes, usually using Node runtime with a http framework such as Express or Hono. Fastify and Koa are also popular for building APIs. Nuxt uses its own Nitro web server framework (using H3 http framework) which all can be used separately as well.
And then there is Nest.js, awesome and robust backend framework which can be used with any http framework’s mentioned above.
Then there are alternative server runtimes like Bun (much hype around it) and Deno (built by the creator of Node), with its own http frameworks such as Elysia (Bun) or Oak (Deno).
I could go on forever
This is great, thanks. So much out there, it's overwhelming, so I appreciate the overview.
reply