
Class vs. Functional Components in React
Class and functional components are key to React development. In this article I explore differences, advantages, and when to use each in modern React apps.
Articles
The guides are the practical part of this archive: working explanations for a specific web development problem, written to show the decision as well as the answer. The subject varies, but the aim is consistent: enough context to use the technique sensibly rather than copy it blindly.

Class and functional components are key to React development. In this article I explore differences, advantages, and when to use each in modern React apps.

Discover advanced responsive web design techniques with CSS Grid, clamp(), container queries, and JS enhancements for performance‑optimised, adaptive sites.

_app and Custom _document in Next.jsCustom _app and _document in the Next.js Pages Router: shared layout, application setup and server‑rendered HTML, with historical Next.js 8 examples.

The JavaScript event loop manages asynchronous tasks in a single‑threaded environment. I explore how it works with the call stack, task queue, and microtasks.

Create interactive interfaces with HTML, CSS, and JavaScript, using semantic controls, accessible state, event handling, and progressive enhancement.

AbortControllerHow to prevent race conditions in JavaScript with AbortController, including stale search results, request cancellation, and browser support caveats.

Cross‑browser compatibility ensures a consistent user experience across different browsers. Best practices, CSS, and JS techniques, and testing strategies.

next/link for Client‑Side Navigation
Event delegation in JavaScript manages child element events via a single parent listener. Here, I explore how it works, its benefits, and practical use cases.

The React Context API explained with Provider and Consumer examples, prop drilling trade‑offs, shared app state, and when context is not the right answer.

Merging objects in JavaScript is straightforward once you know the tools. This guide covers Object.assign(), spread syntax, and overwrite behaviour.

FormDataSubmit native forms with JavaScript and FormData without losing files or repeated values. Let Fetch set the multipart boundary and handle failures correctly.

Event bubbling and capturing in JavaScript explained through propagation phases, event delegation, target/currentTarget, stopPropagation(), and handler order.

JavaScript frameworks streamline development with reusable components, state management, and optimised rendering. Here, I compare React, Vue.js, and Angular.

GET, POST, JSON, and ErrorsThe Fetch API for beginners, including GET requests, POST requests, JSON handling, response.ok, and why failed fetches need explicit error checks.

Tagged template literals let you intercept and reshape template literal output. This guide explains the syntax and why the feature can be useful.

Escape and unescape special characters in JavaScript for strings, HTML, regular expressions, safe output, parsing, and practical data handling.

Integrating CMSes with HTML, CSS, and JavaScript enables dynamic, flexible content management. Here, I explore best practices, performance tips, and SEO.