Frameworks#

JavaScript has the largest framework ecosystem of any language. The big splits are: where the code runs (browser, server, both), and how strong an opinion the framework holds about everything around it.

Frontend (UI Frameworks)#

  • React , by far the most-used. Component model, JSX, hooks.

  • Vue , approachable, progressive adoption.

  • Svelte , compiles to vanilla JS; minimal runtime.

  • Solid , React-style API, fine-grained reactivity.

  • Preact , 3 KB React alternative.

  • Lit , web components.

  • Alpine.js , lightweight, sprinkle on server-rendered HTML.

  • htmx , HTML-attribute-driven; tiny client, server-driven UI.

Full-Stack / Meta-Frameworks#

These build on a UI framework and add routing, server rendering, build, and data fetching.

  • Next.js , React-based; the most popular meta-framework.

  • Remix , React, web-standards focused; merged into React Router.

  • Nuxt , Vue’s meta-framework.

  • SvelteKit , Svelte’s.

  • SolidStart , Solid’s.

  • Astro , content sites; ships zero JS by default.

  • Qwik , resumable, optimized for slow networks.

Server / Backend#

  • Express , the long-time default; minimal, callback-style.

  • Fastify , modern, high-performance.

  • Koa , by Express’s author; async-first.

  • Hono , ultra-fast, runs on every JS runtime.

  • NestJS , TypeScript-first, decorator-driven, Angular-style.

  • AdonisJS , Laravel-like; batteries included.

  • Feathers , real-time + REST APIs.

Mobile#

  • React Native , the dominant cross-platform option.

  • Expo , managed RN with build / OTA / deploy tooling.

  • Ionic , web-tech mobile apps.

  • NativeScript , direct native API access.

Desktop#

  • Electron , bundle Chromium + Node; the de-facto choice (VS Code, Slack, Discord).

  • Tauri , Rust + system webview; smaller, lower memory.

  • Neutralinojs , lighter Electron alternative.

Testing#

  • Vitest , Vite-native, Jest-compatible API.

  • Jest , the long-time standard.

  • Mocha + Chai, classic.

  • Playwright , end-to-end browser tests.

  • Cypress , end-to-end browser tests.

  • node:test , built into Node 20+.

State Management (Frontend)#

Forms / Validation#

Build / Tooling#

  • Vite , modern dev server + Rollup builds.

  • esbuild , extremely fast bundler.

  • Turbopack , Vercel’s Rust-based bundler (Next.js).

  • webpack , still common in legacy projects.

  • Rollup , library-focused.

  • Parcel , zero-config bundler.

Pick a Stack#

For a typical 2026 web product, defensible defaults.

  • Frontend: React or Svelte.

  • Meta-framework: Next.js (React) or SvelteKit.

  • Backend: Fastify or Hono if separate from the frontend; otherwise the meta-framework’s server.

  • Tests: Vitest + Playwright.

  • Schemas: Zod.

  • Bundler: whatever the meta-framework chose; otherwise Vite.

These stack choices fight each other less than most alternatives.