Book 02
Web Development
The languages, protocols and rendering strategies behind applications that run in the browser.
Contents
- 01AJAXAsynchronous JavaScript and XML1AJAX (Asynchronous JavaScript and XML) is a technique for loading server data in the background with JavaScript and updating part of a page without a reload.
- 02Angular2Angular is a complete, TypeScript-based web framework from Google with components, routing, forms, an HTTP client and dependency injection built in.
- 03Bundler3A bundler is a build tool that combines JavaScript modules and their dependencies into a few optimized files that browsers can download and run quickly.
- 04CMSContent Management System4A CMS (content management system) is software that lets people create, edit and publish website content through an editor instead of writing code.
- 05Code Splitting5Code splitting is a technique that breaks a web app's JavaScript into smaller chunks loaded on demand, so the first page load downloads only the code it needs.
- 06Cookie6A cookie is a small piece of data a website asks the browser to store and send back with later requests, often used to keep users logged in.
- 07Core Web Vitals7Core Web Vitals are three metrics that measure a page's real-user experience: loading speed (LCP), responsiveness (INP), and visual stability (CLS).
- 08CORSCross-Origin Resource Sharing8CORS is a browser security mechanism that lets a server declare which other websites may read its responses when they make requests from JavaScript.
- 09CSRClient-Side Rendering9CSR is a rendering approach where the browser downloads a mostly empty HTML page plus JavaScript, then builds the page content on the user's device.
- 10CSSCascading Style Sheets10CSS is the style sheet language that controls how HTML content looks on screen, including colors, fonts, spacing, layout, and animations.
- 11CSS Grid11CSS Grid is a two-dimensional CSS layout system that arranges elements into rows and columns at the same time, making complex page layouts simple to build.
- 12Debounce12Debouncing delays a function until a burst of events has paused for a set time, so a search box sends one request after typing stops, not one per keystroke.
- 13DOMDocument Object Model13The DOM is the browser's in-memory tree of objects representing a web page, which JavaScript can read and change to update what the user sees.
- 14Domain Name14A domain name is the human-readable address of a website, such as example.com, which the DNS system translates into the IP address of the server that hosts it.
- 15ES ModulesECMAScript Modules15ES modules are JavaScript's built-in module system: each file keeps its own scope and shares code with other files through import and export.
- 16FlexboxCSS Flexible Box Layout16Flexbox is a CSS layout model that arranges items in a single row or column and controls how they grow, shrink, align, and share the available space.
- 17Frontend17The frontend is the part of an application that runs in front of the user, usually in the browser, drawing the interface and responding to clicks and typing.
- 18HTMLHyperText Markup Language18HTML is the markup language that defines the structure and content of web pages, such as headings, paragraphs, links, images, and forms.
- 19HTTPHypertext Transfer Protocol19HTTP is the protocol that browsers, apps, and servers use to exchange web pages and data through a simple cycle of requests and responses.
- 20HTTP Header20An HTTP header is a name-and-value line sent with an HTTP request or response, carrying details such as the content type, caching rules or credentials.
- 21HTTP Status Code21An HTTP status code is a three-digit number a server sends with every response to tell the client whether the request succeeded, failed, or needs more action.
- 22Hydration22Hydration is the step where JavaScript in the browser takes over server-rendered HTML, attaching event handlers and state so the page becomes interactive.
- 23iframeInline Frame23An iframe is an HTML element that embeds another web page inside the current page, commonly used for videos, maps, payment forms and third-party widgets.
- 24JavaScript24JavaScript is the programming language that runs in web browsers to make pages interactive, and it also runs on servers through runtimes like Node.js.
- 25jQuery25jQuery is a JavaScript library that made selecting elements, handling events, animating and making AJAX requests easy with one short, cross-browser syntax.
- 26JSXJavaScript XML26JSX is a JavaScript syntax extension for writing HTML-like markup inside code, used mainly with React to describe what the user interface should look like.
- 27Lazy Loading27Lazy loading is a technique that delays loading images, videos, scripts or other resources until they are actually needed, usually when they scroll into view.
- 28Local Storage28Local storage is a browser feature that lets a website save text as key-value pairs on the user's device, where it stays even after the browser is closed.
- 29Media Query29A media query is a CSS rule that applies styles only when the device or browser matches conditions such as screen width, orientation, or a dark color scheme.
- 30Minification30Minification is the process of shrinking code files by removing whitespace, comments and long names without changing behavior, so web pages download faster.
- 31Next.js31Next.js is a React framework that adds routing, server-side rendering, static generation and server code, so a whole web app can be built as one project.
- 32npmNode Package Manager32npm is Node.js's default package manager and the world's largest software registry; it downloads a project's dependencies and tracks their versions.
- 33Polyfill33A polyfill is code that adds a modern web feature to older browsers that lack it, so developers can use the standard API everywhere without special cases.
- 34Progressive Enhancement34Progressive enhancement is a web design strategy that starts with a basic page that works for everyone, then adds richer features where browsers support them.
- 35PWAProgressive Web App35A PWA is a website built with modern web APIs so it can be installed on a device, work offline, and behave much like a native app from a single codebase.
- 36React36React is an open-source JavaScript library for building user interfaces from reusable components that update automatically when their data changes.
- 37React Hooks37React hooks are functions such as useState and useEffect that let a function component keep state, run side effects and share logic with others.
- 38Responsive Design38Responsive design is an approach to building web pages whose layout, images, and text adapt automatically to any screen size, from phones to large monitors.
- 39SEOSearch Engine Optimization39SEO is the practice of improving a website's content and technical setup so that search engines can find, understand, and rank its pages for relevant searches.
- 40Service Worker40A service worker is a script the browser runs in the background, apart from the page, to intercept network requests and enable offline use and push messages.
- 41SPASingle-Page Application41An SPA is a web application that loads a single HTML page and then updates content with JavaScript, so moving between views does not reload the page.
- 42SSGStatic Site Generation42SSG is a technique that renders a website's pages to plain HTML files at build time, so servers or CDNs can deliver them instantly without extra work.
- 43SSRServer-Side Rendering43SSR is a technique where the server builds the full HTML for a page on each request, so users and search engines receive ready-to-read content immediately.
- 44State Management44State management is how an application stores, updates and shares the data that changes while it runs, and keeps the interface in sync with it.
- 45Svelte45Svelte is a front-end framework that compiles components into small, efficient JavaScript at build time instead of running a large framework in the browser.
- 46Tailwind CSS46Tailwind CSS is a utility-first CSS framework: instead of custom stylesheets, you style elements with small, single-purpose classes right in your HTML.
- 47Throttling47Throttling makes a function run at most once per interval, however often it is called, so scroll and resize handlers update steadily without running every time.
- 48Transpiler48A transpiler is a tool that translates source code from one language or language version into another at a similar level, such as TypeScript into JavaScript.
- 49Tree Shaking49Tree shaking is a build optimization that removes code a program never uses from the final bundle, based on which ES module exports are actually imported.
- 50TypeScript50TypeScript is a programming language built on JavaScript that adds static types, catching many bugs before the code runs, and compiles to plain JavaScript.
- 51UI ComponentUser Interface Component51A UI component is a self-contained, reusable piece of an interface, such as a button, a form or a card, that bundles its markup, style and behavior.
- 52URLUniform Resource Locator52A URL is the address of a resource on the web, made of parts such as a scheme, a host, a path and a query string that tell a browser where and how to fetch it.
- 53Virtual DOM53The virtual DOM is a lightweight copy of a page's element tree kept in JavaScript memory, which UI libraries compare to update the real DOM efficiently.
- 54Vite54Vite is a fast build tool for web projects: it serves code to the browser almost instantly in development and bundles it into optimized files for production.
- 55VueVue.js55Vue is an open-source JavaScript framework for building user interfaces from components, known for its gentle learning curve and reactive data.
- 56Web Accessibility56Web accessibility is the practice of building websites that everyone can use, including people who rely on screen readers, keyboards, captions, or zoom.
- 57Web Browser57A web browser is an application that fetches web pages from servers and turns their HTML, CSS, and JavaScript into the interactive pages you see on screen.
- 58Web Worker58A web worker is a browser feature that runs JavaScript on a background thread, so heavy computations don't freeze the page's user interface while they run.
- 59WebAssembly59WebAssembly is a compact binary code format that runs in web browsers at near-native speed, letting languages like C++, Rust, and Go power fast web code.
- 60Webpack60Webpack is a module bundler that follows an app's imports and combines its JavaScript, CSS, images and other files into optimized bundles for the browser.
- 61WebSocket61WebSocket is a protocol that keeps a single connection open between a browser and a server so both sides can send each other messages instantly at any time.