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.
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#
State Management (Frontend)#
Redux / Redux Toolkit, the OG.
Zustand, minimal, hooks-based.
Jotai , atomic state.
MobX , observable-driven.
TanStack Query, server state, caching, background sync. Often replaces general state libraries.
Forms / Validation#
Build / Tooling#
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.