World Wide Web - An information space where documents and other web resources are identified by Uniform Resource Locators (URLs), interlinked by hypertext links, and accessible via the Internet
Hypertext - A text displayed on a computer display or other electronic devices with references (hyperlinks) to other text that the reader can immediately access
URI - A unique sequence of characters that identifies a logical or physical resource
URL - A standard that defines URLs, domains, IP addresses, the application/x-www-form-urlencoded format, and their API
Core Web Protocols & Languages
HTTP - An application protocol for distributed, collaborative, hypermedia information systems
HTTP cookie - A small piece of data that a server sends to a user's web browser
Usability - The extent to which a product can be used by specified users to achieve specified goals with effectiveness, efficiency, and satisfaction in a specified context of use
User interface design - A craft in which designers perform an important function in creating the user experience
Paper prototyping - A widely used method in the user-centered design process, a process that helps developers to create software that meets the user's expectations and needs
Material Design - Google’s open-source design system for building beautiful, usable products
Human interface guidelines
Apple HIG - A set of recommendations to help you create apps that look and behave consistently across all Apple platforms
GNOME HIG - A guide for creating high-quality, consistent, and usable applications for the GNOME desktop
Psychological concerns
Seven stages of action - An idealized description of the cognitive and physical steps an individual takes to achieve a goal
1: Forming the target.
2: Forming the intention.
3: Specifying an action.
4: Executing the action.
5: Perceiving the state of the world.
6: Interpreting the state of the world.
7: Evaluating the outcome.
Attention - The cognitive process of selectively concentrating on one aspect of the environment while ignoring other things
Metacognition - An awareness of one's thought processes and an understanding of the patterns behind them
Principle of least astonishment - A general principle that states that the result of performing some operation should be obvious, consistent, and predictable, based upon the name of the operation and other context
Affordance - A property of an object that indicates how it can be used
Stroop effect - A demonstration of interference in the reaction time of a task
Fitts's law - A predictive model of human movement primarily used in human–computer interaction and ergonomics
Core Web Vitals - The subset of Web Vitals that apply to all web pages, should be measured by all site owners, and will be surfaced across all Google tools
Three-tier architecture - A client–server architecture in which presentation, application processing, and data management functions are logically separated
Microservices architecture - An approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms
Resource-oriented architecture - A style of software architecture and programming paradigm for designing and developing software in the form of a network of resources
Background processing - The execution of tasks in the background, allowing the main application to remain responsive
Sidekiq - A simple, efficient background processing tool for Ruby
Web Application Architectures
Single-page application - A web application or website that interacts with the user by dynamically rewriting the current web page with new data from the web server
JAMstack - An architectural approach that decouples the web experience layer from data and business logic, improving flexibility, scalability, performance, and maintainability
API Architectures, Styles & Patterns
REST - A software architectural style that was created to guide the design and development of the architecture for the World Wide Web
SOAP (legacy) - A messaging protocol specification for exchanging structured information in the implementation of web services
GraphQL - A query language for APIs and a runtime for fulfilling those queries with your existing data
gRPC - A modern open source high performance Remote Procedure Call (RPC) framework that can run in any environment
json-rpc - A stateless, light-weight remote procedure call (RPC) protocol
Webhook - A method of augmenting or altering the behavior of a web page or web application with custom callbacks
Progressive web app - A type of application software delivered through the web, built using common web technologies including HTML, CSS, JavaScript, and WebAssembly
React - The library for web and native user interfaces
Core Concepts
Component - A fundamental building block used to create user interfaces
Props - A mechanism for passing data from a parent component to a child component
Children - A special prop that allows components to be composed
Key Props - A special string attribute you need to include when creating lists of elements
Rendering - The process of React asking your components to describe what they want to look like
Event Handler - A function that is executed in response to an event
State - A JavaScript object that stores a component's dynamic data
Controlled Component - A component where React state controls the value of an input element
Hooks - A set of functions that let you "hook into" React state and lifecycle features from function components
Strict Mode - A tool for highlighting potential problems in an application
Side-effect - A term that refers to any operation that affects something outside of the function being executed
Refs - A feature that provides a way to access DOM nodes or React elements created in the render method
Context - A way to pass data through the component tree without having to pass props down manually at every level
Portals - A feature that provides a first-class way to render children into a DOM node that exists outside the DOM hierarchy of the parent component
Suspense - A component that lets you specify a loading indicator for a part of the component tree
Error Boundary - A React component that catches JavaScript errors anywhere in their child component tree
Preact - A fast 3kB alternative to React with the same modern API
Vue.js - A JavaScript framework for building user interfaces
Angular - A web framework that empowers developers to build fast, reliable applications
Svelte - A UI framework that uses a compiler to let you write breathtakingly concise components that do minimal work in the browser, using languages you already know — HTML, CSS and JavaScript
Ember.js - A framework for ambitious web developers
HTML-First Frameworks
htmx - A library that allows you to access AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes
htm - A JSX alternative using standard tagged templates, with no transpiler necessary
Syntax & Templating
JSX - A syntax extension for JavaScript that lets you write HTML-like markup inside a JavaScript file
MDX - An authorable format that lets you seamlessly write JSX in your Markdown documents
State Management
Redux - A JS library for predictable and maintainable global state management
React-Redux - The official React binding for Redux
Fastify - A fast and low-overhead web framework for Node.js, designed for optimal performance and developer experience
Express.js - A minimal and flexible Node.js web application framework
Koa - A new web framework designed by the team behind Express
Nest.js - A progressive Node.js framework for building efficient, reliable and scalable server-side applications
Hono - A small, simple, and ultrafast web framework for the Edges
API Tools
tRPC - A tool that allows you to easily build & consume fully typesafe APIs without schemas or code generation
Go Backend Frameworks
Echo - A high performance, extensible, minimalist Go web framework
Fiber - An Express inspired web framework built on top of Fasthttp, the fastest HTTP engine for Go, designed to ease development with performance in mind
Next.js - A React framework for building full-stack web applications
Nuxt.js - A free and open-source framework with an intuitive and extendable way to create type-safe, performant and production-grade full-stack web applications and websites with Vue.js
Astro - The web framework for content-driven website
Rust Full-Stack Frameworks
Leptos - A cutting-edge Rust framework for the modern web
Web cache - An information technology for the temporary storage (caching) of web documents, such as HTML pages and images, to reduce bandwidth usage, server load, and perceived lag
Content delivery network - A geographically distributed network of proxy servers and their data centers
Point of presence - An artificial demarcation point or interface point between communicating entities
Forward Proxy Servers
Squid - A caching proxy for the Web supporting HTTP, HTTPS, FTP, and more
CDN Providers
Cloudflare - A global network designed to make everything you connect to the Internet secure, private, fast, and reliable
Cloudflare Workers - A serverless execution environment that allows you to create entirely new applications or augment existing ones without configuring or maintaining infrastructure
Cloudflare Workers Bindings - A mechanism that allows your Worker to interact with resources on the Cloudflare Developer Platform, providing better performance and fewer restrictions than REST APIs for accessing resources from Workers
Amazon CloudFront - A content delivery network (CDN) service built for high performance, security, and developer convenience
Lambda@Edge - A feature of Amazon CloudFront that lets you run code closer to users of your application
Google Cloud CDN - A content delivery network (CDN) that accelerates delivery of your web and video content
Azure Front Door - A modern cloud content delivery network (CDN) that provides a secure and scalable entry point for fast delivery of your global web applications and content
Surf - An advanced Go HTTP client with Chrome/Firefox browser impersonation, HTTP/3 with QUIC fingerprinting, JA3/JA4 TLS emulation, and anti-bot bypass
Typhoeus - A library that wraps libcurl in order to make fast and reliable requests
Ruby Net - A collection of classes that implement client-side internet protocols
httpx - An HTTP client library for the Ruby programming language
Puppeteer - A Node.js library which provides a high-level API to control Chrome/Chromium over the DevTools Protocol
Playwright - A framework for reliable end-to-end testing for modern web apps with a single API for Chromium, Firefox, and WebKit
Playwright for Go - A Go library to automate Chromium, Firefox and WebKit with a single API
Cypress - An open-source, JavaScript-based testing framework that enables developers to write, run, and debug end-to-end and component tests directly in the browser for modern web applications
WebDriver - A remote control interface that enables introspection and control of user agents
Selenium WebDriver - A tool that drives a browser natively, as a user would, either locally or on a remote machine
WebDriver BiDi - The BiDirectional WebDriver Protocol, a mechanism for remote control of user agents
Selenium IDE - An open source record and playback test automation for the web
Docusaurus - A static-site generator. It builds a single-page application with fast client-side navigation, leveraging the full power of React to make your site interactive
mdBook - A utility to create modern online books from Markdown files
Content management system - A computer software used to manage the creation and modification of digital content
SharePoint - A web-based collaboration and document management platform that enables organizations to securely store, share, and manage content
Nextcloud - The industry-leading, fully open-source, on-premise content collaboration platform
WordPress - A free and open-source content management system written in hypertext preprocessor language and paired with a MySQL or MariaDB database with supported HTTPS
Wiki Systems
Wiki software - A collaborative software that runs a wiki, which allows users to create and collaboratively edit pages or entries via a web browser