Web Development
A growing collection of web-development references — practical, example-driven documentation on the core technologies of the web. To choose between frameworks, start with the Web Frameworks Comparison.
Sections
-
Web Frameworks Comparison — a sourced, dated comparison of 42 web frameworks (client-side UI frameworks, meta-frameworks, server-rendered view layers and CSS frameworks) on popularity, growth, talent pool and jobs, ease of use, ecosystem, productivity, runtime performance, bundle size and Core Web Vitals, with charts, one summary table and recommendations by purpose.
-
What is CORS? — what Cross-Origin Resource Sharing is, how the browser and server negotiate it, and how to validate origins correctly on the backend.
-
Web Accessibility — what web accessibility is, the WCAG A/AA/AAA conformance levels, legal accessibility standards in Spain, Europe, and the USA, and validation tools.
-
E2E Testing in the Browser — automated real-browser testing with Playwright, Cypress and Selenium: the WebDriver, WebDriver BiDi and CDP protocols, writing and debugging tests, cross-browser validation, screenshots, videos and traces, visual regression, accessibility checks, CI/CD and flakiness, and AI agents that take control of browsers (Playwright MCP and CLI, Chrome DevTools MCP, computer use), script-less AI testing and securing browser agents, plus a downloadable cheat sheet.
-
Web Development IDEs & Tools — editors, IDEs and browser developer tools for web development.
-
HTML & CSS Reference — structure, layout, styling, forms, and performance, covering modern HTML5 and CSS from the ground up, plus a downloadable cheat sheet.
-
Sass Reference — the SASS/SCSS CSS preprocessor: syntax, variables, nesting, mixins, functions, and modules, plus a downloadable cheat sheet.
-
JavaScript Development — modern ECMAScript, core browser APIs, and the surrounding developer-tooling ecosystem, plus a downloadable cheat sheet.
-
Node.js — the runtime behind dev servers, build tools, server-side rendering and full-stack JavaScript: modules and npm, the event loop, streams, HTTP servers, the built-in test runner and type stripping, plus a downloadable cheat sheet.
-
Bootstrap Reference — the Bootstrap 5 CSS/JS framework: the grid system, components, utilities and the Utility API, customization, and JavaScript behavior, plus a downloadable cheat sheet.
-
jQuery Reference — DOM traversal/manipulation, events, effects, and AJAX with jQuery 3.x, when to prefer native APIs, plus a downloadable cheat sheet and a self-test questionnaire with verified answers.
-
React Reference — components and Hooks, state, effects, Suspense, forms and Actions, data fetching, SSR/SSG/RSC, and build and deployment with React 19, plus a downloadable cheat sheet.
-
Next.js — the App Router and the Pages Router: file-system routing, layouts, Server and Client Components, SSR, CSR, SSG, ISR and hydration, Partial Prerendering and Cache Components, data fetching, Server Actions, caching, Route Handlers, metadata, authentication, security, testing, and deployment with Next.js 16, plus a downloadable React + Next.js cheat sheet.
-
Angular Reference — components and templates, signals, the built-in control flow and
@defer, dependency injection, RxJS, the HTTP client, routing, forms, testing, and SSR and performance with modern standalone Angular, plus a downloadable cheat sheet. -
ASP.NET Reference — three lineages, each in its own sub-section: ASP.NET Web Forms (postbacks, ViewState, server controls, on .NET Framework 4.8.1), ASP.NET MVC (Razor) (MVC 5, Web API 2, OWIN, Identity 2, also on .NET Framework 4.8.1), and ASP.NET Core (Blazor) (the minimal hosting model, middleware, Minimal APIs, MVC & Razor Pages, the Blazor cluster, SignalR & gRPC, EF Core, authentication & authorization, and deployment on .NET 10) — plus a history of how they relate, a framework decision guide, and three downloadable cheat sheets.
-
Tailwind Reference — the utility-first CSS framework: the utility-first workflow, states and variants, responsive design and container queries, dark mode, theme variables and the OKLCH palette, Preflight, the utility families, CSS-first customization with
@theme/@utility/@custom-variant, arbitrary values, build and production, and a v3-to-v4 upgrade guide for Tailwind CSS v4, plus a downloadable cheat sheet. -
TypeScript Reference — the typed superset of JavaScript: the type system and structural typing, unions and narrowing, interfaces, generics and type-level programming, the utility types,
satisfiesand assertions, modules and declaration files,tsconfigand the compiler, decorators, and JavaScript interop and migration, plus a downloadable cheat sheet. -
Vue.js Reference — the progressive framework: reactivity and the Composition API with
<script setup>, template syntax and directives, components (props, events,v-model, slots, provide/inject), composables, the built-in components and transitions, single-file components and tooling, Vue Router, Pinia, testing, SSR, and Vue with TypeScript, plus a downloadable cheat sheet. -
Java Reference — the Java language the Java web frameworks below are written in: syntax, the type system, generics, collections and streams, records and pattern matching, concurrency and virtual threads, Maven, and JUnit 5/Mockito testing, plus a downloadable cheat sheet.
-
Vaadin Reference — the server-driven Java web framework: Flow (Java UI) and Hilla (React + type-safe endpoints), the component set and layouts,
Binderdata binding, theGrid, routing, server push, the Element API, Lumo/Aura theming, Spring Boot and Jakarta EE integration, security, testing, and production deployment, plus a UI component libraries survey and a downloadable cheat sheet. -
JSF (JavaServer Faces) — the component-based Jakarta EE web UI framework (Jakarta Faces 4.1 on Mojarra and MyFaces): the component tree and request processing lifecycle, Facelets views and templating, Expression Language, the standard components, conversion and validation with Bean Validation, navigation and view parameters, CDI backing beans and scopes, Faces Flows, Ajax and WebSocket push, composite and custom components, state saving, security, PrimeFaces and OmniFaces, Jakarta EE servers, Tomcat + Weld, Spring Boot via JoinFaces and Quarkus, testing, deployment and migration from
javax.faces, plus a downloadable cheat sheet. -
Thymeleaf — the server-side Java template engine: natural templates, the Standard Expression syntax and attribute processors, fragments and the Layout Dialect, Spring MVC forms, validation and i18n, Spring Security integration, template security, htmx, Alpine.js, SSE and WebFlux, assets and email, testing, extension and production tuning, plus a downloadable cheat sheet.
-
JSP & Struts — the classic Java server-side view stack and its action framework: servlet fundamentals, Jakarta Pages (JSP), the Expression Language and JSTL, custom tags and tag files, Model 2 MVC, Spring MVC with JSP, Jasper, security and testing, then Apache Struts 7 — configuration, actions, results, interceptors, the ValueStack and OGNL, validation, tags, themes, Tiles, plugins and Struts 1 migration, plus a downloadable cheat sheet.
-
GWT (Google Web Toolkit) — the Java-to-JavaScript compiler and widget toolkit: modules and the compiler, deferred binding, JsInterop and Elemental2, widgets, panels, UiBinder and cell widgets, GWT-RPC, RequestBuilder and RequestFactory, SafeHtml and XSRF security, code splitting, GWTTestCase testing and the move to J2CL, plus a downloadable cheat sheet.
-
Python Reference — the Python language itself: core types and control flow, functions and scope, OOP and decorators, modern features — type hints, dataclasses,
asyncio— the standard library, and unit testing with pytest and mocking, plus a downloadable cheat sheet. -
Django — the batteries-included Python web framework (Django 6.1): project structure and settings, models, the ORM, migrations and query optimisation, URLs, function-based, class-based and generic views, middleware, templates and partials, forms, the admin, authentication, permissions and security (CSRF, CSP), caching, email, the Tasks framework and Celery, signals, i18n and time zones, contrib apps and GeoDjango, async views and Channels, REST APIs with Django REST framework and Django Ninja, GraphQL, testing, deployment, Docker and Kubernetes, and upgrading from older releases, plus a downloadable cheat sheet.
-
PHP and Laravel — PHP web development with Laravel 13 on PHP 8.3 to 8.5: how PHP serves the web (the request model, PHP-FPM and FrankenPHP), plain PHP for requests, forms and output escaping, sessions, uploads, PDO, authentication and web security, then Laravel’s structure, service container and Artisan, routing, middleware, controllers and validation, Blade, Vite, Livewire and Inertia, the query builder, migrations and Eloquent, authentication with Fortify, policies, Sanctum and Passport, APIs and JSON:API resources, the HTTP client and the AI SDK, queues and Horizon, events, broadcasting with Reverb, scheduling, mail, cache, storage and localization, testing with Pest and Dusk, deployment, Docker and Sail, Octane, monitoring, and upgrading from older releases, plus a downloadable cheat sheet. The language itself is covered in the PHP Reference.
-
Rust Reference — the Rust language for web developers: ownership, traits and async Rust as used by Rust web frameworks, serde for JSON, and compiling Rust to WebAssembly for the browser with wasm-bindgen and for WASI runtimes, plus a downloadable cheat sheet.
-
Axum — web applications and APIs in Rust with axum 0.8: routing and extractors, tower middleware, server-side templates with askama, htmx, static files and single-page apps, WebSockets and Server-Sent Events, file uploads, sessions, CSRF and security headers, and full-stack Rust with Leptos and Dioxus, plus a downloadable cheat sheet.
-
Swift Vapor — web applications and APIs in Swift with Vapor 4.122: routing, Leaf templates and HTML DSLs, forms, sessions and CSRF, static files and uploads, WebSockets and Server-Sent Events, authentication, and sharing Swift code with iOS clients, plus a downloadable cheat sheet.
-
WebRTC & WebSockets — real-time web applications — chat, videoconference and multiplayer games — with the WebSocket protocol, WebRTC and XMPP, and the SignalR, Socket.IO, uWebSockets.js, Django Channels, Spring WebFlux, Atmosphere, Swoole and Laravel Reverb servers, plus a downloadable cheat sheet.
-
Media Optimization — loading, caching and rendering media in the browser: native HTML images with
srcsetand lazy loading, BlurHash placeholders, Next.js Image, React image libraries, Angular NgOptimizedImage, and video playback with adaptive streaming, plus a downloadable cheat sheet.