Main 300 - Web and Application On this page
300 - Web and Application
300 - Web Technologies and Concepts
300 - Foundational Concepts
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
HTML - The World Wide Web's core markup language
CSS - A simple mechanism for adding style (e.g., fonts, colors, spacing) to Web documents
Real-time & Messaging Protocols
WebSockets - A technology that makes it possible to open a two-way interactive communication session between the user's browser and a server
WebRTC - A free and open-source project providing web browsers and mobile applications with real-time communication (RTC)
Server-sent events - A technology to enable servers to push data to web pages over HTTP or using dedicated server-push protocols
MQTT - A lightweight, publish-subscribe, machine to machine network protocol for message queue/message queuing service
AMQP - An open standard application layer protocol for message-oriented middleware
Data & Event Specifications
JSON Merge Patch - A JSON format that describes changes to be made to a target JSON document
OpenAPI spec - A standard, language-agnostic interface to HTTP APIs
CloudEvents - A specification for describing event data in a common way
ActivityPub - A decentralized social networking protocol based on the ActivityStreams 2.0 data format
API Tooling
Redocly CLI - An open-source command-line tool that helps you lint, bundle, and preview OpenAPI definitions
301 - Architectural Styles & Patterns
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
Browsers
Chrome - A freeware, cross-platform web browser developed by Google
Chromium - An open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web
Firefox - A free and open-source web browser developed by the Mozilla Foundation
w3m - A text-based web browser as well as a pager
EWW - The Emacs Web Wowser, a web browser for Emacs
Rendering Engines
WebKit - The framework for displaying rich, interactive web content in your apps
Gecko - The web browser engine developed by Mozilla
Blink - The rendering engine used by Chromium
Servo - A modern, high-performance browser engine designed for both application and embedded use
Scripting Engines
V8 - Google’s open source high-performance JavaScript and WebAssembly engine, written in C++
JavaScriptCore - The JavaScript engine that powers Safari and other apps on Apple platforms
Client Scripting APIs
XMLHttpRequest (XHR) - An API that provides scripted client functionality for transferring data between a client and a server
Fetch Standard - A living standard that defines requests, responses, and the process that binds them: fetching
Site Analyzers
Wappalyzer - A technology profiler that shows you what websites are built with
310 - Web & Network Infrastructure
311 - Web Servers
Web Servers & Reverse Proxy Servers
NGINX - An open source software for web serving, reverse proxying, caching, load balancing, media streaming, and more
Apache HTTP Server - A project to develop and maintain an open-source HTTP server for modern operating systems including UNIX and Windows
Caddy - A powerful, extensible platform to serve your sites, services, and apps, written in Go
HAProxy - A free, very fast and reliable reverse-proxy offering high availability, load balancing, and proxying for TCP and HTTP-based applications
traefik proxy - A leading modern open source reverse proxy and ingress controller
nodejs http-server - A simple static HTTP server
GraphQL Servers
Apollo Server - An open-source, spec-compliant GraphQL server that's compatible with any GraphQL client
312 - Caching & Content Delivery
Concepts
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
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
313 - API & Application Gateways
API Gateways
Kong API gateway - A lightweight, fast, and flexible cloud-native API gateway
Azure API Management - A hybrid, multicloud management platform for APIs across all environments
Amazon API Gateway - A fully managed service that makes it easy for developers to create, publish, maintain, monitor, and secure APIs at any scale
Google Cloud Apigee - The platform for developing and managing API services
Cloud Load Balancers
Amazon ALB - A load balancing option for the Elastic Load Balancing service that operates at the application layer
315 - Application Hosting & Compute
Application Hosting (PaaS)
Azure App Service - An HTTP-based service for hosting web applications, REST APIs, and mobile back ends
AWS Elastic Beanstalk - An easy-to-use service for deploying and scaling web applications and services
Google Cloud App Engine - A fully managed, serverless platform for developing and hosting web applications at scale
Static Site & JAMstack Hosting
GitLab Pages - A feature that allows you to publish static websites directly from a repository in GitLab
Cloudflare Pages - A JAMstack platform for frontend developers to collaborate and deploy websites
Serverless Computing (FaaS) - A cloud computing execution model in which the cloud provider allocates machine resources on demand, taking care of the servers on behalf of their customers
AWS Lambda - A serverless, event-driven compute service that lets you run code for virtually any type of application or backend service without provisioning or managing servers
Azure Functions - An event-driven, serverless compute platform that helps you develop more efficiently using the programming language of your choice
Google Cloud Run Functions - A serverless execution environment for building and connecting cloud services
316 - Service Mesh
Service Mesh Servers
Hashicorp Consul - A service networking solution to connect and secure services across any runtime platform and public or private cloud
Istio - An open source service mesh that layers transparently onto existing distributed applications
Kiali - The service mesh observability and configuration tool for Istio
envoy - An open source edge and service proxy
Linkerd - An ultralight, security-first service mesh for Kubernetes
traefik mesh - A straight-forward, easy to configure, and non-invasive service mesh
320 - Web Application Standards and Frameworks
321 - Full-stack Web Frameworks
JS/TS Full-stack Frameworks
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
322 - JS/TS/Go/Python Backend Web Frameworks
JS/TS Backend Frameworks
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
Gin Web Framework - A web framework written in Go
Gorilla web toolkit - A helpful toolkit that provides useful, composable packages for writing HTTP-based applications
Yokai - A simple, modular and observable Go framework for backend applications
Python Backend Frameworks & Servers
WSGI - The Web Server Gateway Interface
Gunicorn - A Python WSGI HTTP Server for UNIX
Flask - A lightweight WSGI web application framework
ASGI - A spiritual successor to WSGI, the long-standing Python standard for compatibility between web servers, frameworks, and applications
Uvicorn - An ASGI web server implementation for Python
Hypercorn - An ASGI web server based on the sans-io hyper, h11, h2, and wsproto libraries and inspired by Gunicorn
FastAPI - A modern, fast (high-performance), web framework for building APIs with Python based on standard Python type hints
323 - Other Backend Web Frameworks
Ruby Backend Frameworks & Servers
Rack - A modular Ruby web server interface
Puma - A fact, concurrent web server for Ruby & Rack
Sinatra - A DSL for quickly creating web applications in Ruby with minimal effort
Perl Backend Frameworks (legacy)
Classic CGI
mod_cgi - A module for the execution of CGI scripts
CGI.pm - A module to handle Common Gateway Interface requests and responses
Fast CGI
mod_fcgid - A high performance alternative to mod_cgi or mod_cgid
FCGI.pm - A module for FastCGI applications
Java Backend Frameworks
Jakarta EE - A set of specifications that define Java APIs for enterprise software development
Spring - A project that makes Java simple, modern, productive, reactive, and cloud-ready
Spring Boot - A tool that takes an opinionated view of the Spring platform and third-party libraries so you can get started with minimum fuss
.NET Backend Frameworks
ASP.NET - A free, cross-platform, open source framework for building web apps and services with .NET and C#
324 - Frontend Web Frameworks
JS/TS Frameworks for Frontend
Angular - A web framework that empowers developers to build fast, reliable applications
React - The library for web and native user interfaces
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
Vue.js - A JavaScript framework for building user interfaces
State Management
Redux - A JS library for predictable and maintainable global state management
Recoil - A state management library for React
XState - A library for creating, interpreting, and executing finite state machines and statecharts
CSS Frameworks & Libraries
Bootstrap - The world’s most popular front-end open source toolkit
Tailwind CSS - A utility-first CSS framework packed with classes
Emotion - A library designed for writing css styles with JavaScript
Linaria - A zero-runtime CSS in JS library
Frontend Build Tools
Sass language - A stylesheet language that's compiled to CSS
Parcel - The zero configuration build tool
Vite - A build tool that aims to provide a faster and leaner development experience for modern web projects
webpack - A static module bundler for modern JavaScript applications
babel - A JavaScript compiler
Rspack - A high performance JavaScript bundler written in Rust
JSMin - A minification tool that removes comments and unnecessary whitespace from JavaScript files
325 - UI Libraries
Tailwind Component Libraries
daisyUI - The most popular component library for Tailwind CSS
React Component Libraries
Material UI - An open-source React component library that implements Google's Material Design
Chakra UI - A component system for building products with speed
Vue UI Libraries
Vuetify - A no design skills required Open Source UI Library with beautifully handcrafted Vue Components
Framework-agnostic Libraries
Tabulator - An easy to use, simple to code, fully featured, interactive JavaScript library for creating tables and data grids
Chart.js - A simple yet flexible JavaScript charting library for designers & developers
Swiper.js - The most modern mobile touch slider with hardware accelerated transitions and amazing native behavior
331 - Web/HTTP Clients
CLIs
cURL - A command line tool and library for transferring data with URLs
Wget - A free software package for retrieving files using HTTP, HTTPS, FTP and FTPS
curlie - The power of curl, the ease of use of httpie
hurl - A command line tool that runs HTTP requests defined in a simple plain text format
httpie cli - A simple yet powerful command-line HTTP and API testing client for the API era
wuzz - An interactive cli tool for HTTP inspection
httptap - View the HTTP and HTTPS requests made by any linux program
Libraries
Ruby module Net - A collection of classes that implement client-side internet protocols
Python Requests - An elegant and simple HTTP library for Python, built for human beings
JS Axios - A promise-based HTTP Client for node.js and the browser
Go Resty - A simple HTTP and REST client library for Go
Go FastHTTP - A fast HTTP package for Go
Rust reqwest - An ergonomic, async HTTP client
GraphQL Libraries
URQL - The highly customizable and versatile GraphQL client for React, Svelte, Vue, or plain JavaScript
API Testing Platforms
Bruno - A Git-integrated, fully offline, and open-source API client
Postman/Newman - An API platform for building and using APIs
Classic Web Automation
Mechanize - A module that helps you automate interaction with a website
Mechanize (Ruby) - A ruby library that makes automated web interaction easy
332 - Browser Automation
Browser Automation & Testing
Puppeteer - A Node.js library which provides a high-level API to control Chrome/Chromium over the DevTools Protocol
Playwright - A framework for Web Testing and Automation
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
Karma - A test runner that fits all our needs
Dependencies
Chrome for Testing - A new flavor of Chrome that specifically targets web app testing and automation use cases
Web Scraping
Crawlee - A web scraping and browser automation library
BeautifulSoup - A Python library designed for quick turnaround projects like screen-scraping
Scrapy - An open source and collaborative framework for extracting the data you need from websites
Colly - A Golang framework for building web scrapers
Katana - A next-generation crawling and spidering framework
Web Debugging
Chrome DevTools - A set of web developer tools built directly into the Google Chrome browser
Fiddler - A free web debugging proxy for any browser, system or platform
340 - CLI/TUI App Development
341 - Bash/Perl/Python/Ruby
Bash
built-in getopts etc. - A set of commands that are part of the shell itself
tput - A command to initialize a terminal or query the terminfo database
dialog - A program that can be used to create nice user interfaces for shell scripts
Gum - A tool for glamorous shell scripts
FIGlet - A program for making large letters out of ordinary text
lolcat - A program that concatenates files, or standard input, to standard output and adds rainbow coloring
cfonts - A tool to print sexy fonts in your console
Perl
Getopt::Long - A module that implements an extended getopt function called GetOptions()
Term::ANSIColor - A module to colorize text using ANSI escape sequences
Text::ANSITable - A module to create a formatted table using ASCII characters and ANSI colors
Python
argparse - The module for parsing command-line arguments
getopt - The C-style parser for command line options
click - A Python package for creating beautiful command line interfaces in a composable way with as little code as necessary
Colorama - A simple cross-platform API for printing colored terminal text from Python
Typer - A library for building CLI applications that users will love using and developers will love creating
Asciimatics - A package that provides a cross-platform, full-screen terminal API for building text-based user interfaces
Python Prompt Toolkit - A library for building powerful interactive command line and terminal applications in Python
Urwid - A console user interface library for Python
Textual - A Rapid Application Development framework for Python, built by Textualize.io
Rich - A Python library for rich text and beautiful formatting in the terminal
Ruby
OptionParser - A class for command-line option analysis
colorize - A gem for colorizing text using ANSI escape sequences
TTY - A suite of gems that provide a wide range of tools for building interactive command-line applications
342 - JS/Go/Rust/C
Javascript
yargs - A library for building interactive command line tools by parsing arguments and generating an elegant user interface
minimist - A tool to parse argument options
chalk - A terminal string styling tool
cli-progress - An easy to use progress-bar for command-line/terminal applications
FIGLet.js - A FIG Driver written in JavaScript which aims to fully implement the FIGfont spec
gradient-string - A library for creating beautiful gradients in terminal output
Go
Fang - The CLI starter kit. A small, experimental library for batteries-included Cobra applications
Bubble Tea - A powerful little TUI framework
Huh - A simple, powerful, and elegant TUI library for building terminal forms and prompts
pflag - A drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags
color - A package for Go that lets you use colorized outputs in terms of ANSI escape sequences
Cobra - A framework for creating powerful modern CLI applications
cli - A simple, fast, and fun package for building command line apps in Go
viper - A complete configuration solution for Go applications
Rust
clap - A full featured, fast Command Line Argument Parser for Rust
Ratatui - A Rust library for cooking up delicious terminal user interfaces
R3BL - A suite of libraries for building modern terminal apps with Rust
Ansic - A modern, efficient and compile time ansi macro and utilities crate for Rust
C
ncurses - A programming library providing an application programming interface (API) that allows the programmer to write text-based user interfaces in a terminal-independent manner
Serialization Formats
Protobuf - A language-neutral, platform-neutral, extensible mechanism for serializing structured data
MessagePack - An efficient binary serialization format
File Formats
ELF format - A common standard file format for executable files, object code, shared libraries, and core dumps
Tools
file (command) - A file type guesser
hexdump - A filter which displays the specified files, or the standard input, in a user specified format
xxd - The well-known hex-dump-type utility
bed - A binary editor written in Go
fq - A tool inspired by jq that lets you poke at binary formats
Formats
JPEG - A commonly used method of lossy compression for digital images
PNG - A raster-graphics file format that supports lossless data compression
Webp - A raster graphics file format developed by Google intended as a replacement for JPEG, PNG, and GIF file formats
MPEG-4 - A method of defining compression of audio and visual digital data
Tools
exiftool - A command-line application and Perl library for reading and writing meta information in files
ImageMagick - A free, open-source software suite, used for editing and manipulating digital images
FFmpeg - A complete, cross-platform solution to record, convert and stream audio and video
Libraries
Native WebP for Go - A native WebP encoder written entirely in Go, with no dependencies on libwebp or other external libraries
352 - Compression & Archiving
Tools
GNU Gzip - A popular data compression program
GNU tar - A program that provides the ability to create tar archives, as well as various other kinds of manipulation
Info-Zip - A set of open-source software for handling ZIP archives
P7ZIP - A port of 7za.exe for POSIX systems
Libraries
Python Data Compression and Archiving libs - The modules that support data compression and the creation and reading of archives
Go compress libs - A package that defines a common interface to compression and decompression algorithms
Go archive libs - A package that defines a common interface for accessing archived file formats
JSZip - A javascript library for creating, reading and editing .zip files
Ruby module Zlib - A module that contains classes for compressing and decompressing streams, and for working with gzip-format files
zlib - A free, general-purpose, legally unencumbered lossless data-compression library for use on virtually any computer hardware and operating system
zlib-rs - A safer zlib
snappy - A compression/decompression library that aims for very high speeds and reasonable compression
353 - PDF Document Processing
Formats
PDF - A file format developed by Adobe to present documents in a manner independent of application software, hardware, and operating systems
Tools
Ghostscript - A suite of software based on an interpreter for Adobe Systems' PostScript and Portable Document Format page description languages
qpdf - A command-line tool and C++ library that performs content-preserving transformations on PDF files
pdftk server - A command-line tool for working with PDFs
pdfcpu - A PDF processor written in Go
MinerU - A high-quality tool for convert PDF to Markdown and JSON
Libraries
PDF.js - A general-purpose, web standards-based platform for parsing and rendering PDFs
pypdf - A pure-python PDF library capable of splitting, merging, cropping, and transforming the pages of PDF files
Prawn PDF - A fast, nimble PDF generator for Ruby
354 - Office Document Processing
Formats
Office Open XML - A zip-based XML-based file format for representing spreadsheets, charts, presentations and word processing documents
OpenDocument - A zip-compressed, XML-based file format for spreadsheets, charts, presentations and word-processing documents
Tools
libreoffice cli - The command-line interface for the LibreOffice office suite
markitdown - A lightweight Python utility for converting various files to Markdown for use with LLMs and related text analysis pipelines
xlsx2csv - A fast and easy way to convert XLSX files to CSV
docx2txt - A pure python-based command line tool to extract text from docx files
pptx2md - A simple tool for converting pptx to markdown
Libraries
Excelize - A Go library for reading and writing XLSX/XLSM/XLTM files
360 - Mobile & Desktop App Development
Android - A mobile operating system based on a modified version of the Linux kernel and other open-source software
Android Studio - The official integrated development environment for Google's Android operating system
iOS - A mobile operating system created and developed by Apple Inc. exclusively for its hardware
For Mobile & Desktop (using web tech)
React Native - A framework for building native apps with React
Expo - A production-grade React Native Framework
For Desktop (using web tech)
Electron - A framework for building desktop applications using JavaScript, HTML, and CSS
Tauri - A toolkit that helps developers make applications for the major desktop platforms
Toolkits
Tk - A graphical user interface toolkit
tkinter - The standard Python interface to the Tcl/Tk GUI toolkit
GTK - A free and open-source cross-platform widget toolkit for creating graphical user interfaces
pygobject - A set of Python bindings for the GLib, GObject, GIO and GTK object-oriented C libraries
Gio - A library for writing cross-platform immediate mode GUI-s in Go
Fyne - An easy to learn toolkit for creating graphical apps for desktop, mobile and web
Slint - A declarative GUI toolkit to build native user interfaces for Rust, C++, or JavaScript apps
363 - Application Services & Features
Notifications
Device Hardware/OS Integration
GPS - A satellite-based radionavigation system owned by the United States government and operated by the United States Space Force
QR code - A type of matrix barcode invented in 1994 by the Japanese company Denso Wave
370 - Others
Linux Desktop Environment
Debian-based
Ubuntu desktop - The Linux-based operating system that runs from the desktop, to the cloud, to all your internet connected things
BunsenLabs Linux - A distribution offering a light-weight and easily customizable Openbox desktop
Arch-based
Manjaro Linux - A user-friendly Linux distribution based on the independently developed Arch operating system
Mabox Linux - Fast, lightweight and functional Linux Desktop “relaxed” rolling-release, Manjaro based with Openbox Window Manager
GUI systems
Display Servers
X.org - An open source implementation of the X Window System
Wayland - A replacement for the X11 window system protocol and architecture
Desktop Environments
GNOME - An easy and elegant way to use your computer, designed to put you in control and get things done
Xfce - A lightweight desktop environment for UNIX-like operating systems
Window Managers
openbox - A highly configurable, next generation window manager
Windows Environment
Package Management & Administration
Chocolatey - The package manager for Windows
Scoop - A command-line installer for Windows
gsudo - A Sudo for Windows, with a similar user-experience to the original Sudo
Productivity & Automation
AutoHotKey - A free, open-source scripting language for Windows that allows users to easily create small to complex scripts
Clavier+ - Allows to trigger actions with keyboard shortcuts
WinSSHTerm - A tabbed SSH solution for Windows, combining PuTTY, WinSCP and VcXsrv
Android on Linux
Waydroid - A container-based approach to boot a full Android system on regular GNU/Linux systems running Wayland based desktop environments
372 - Internet of Things (WIP)
Concepts
Internet of things (IoT) - The network of physical objects—'things'—that are embedded with sensors, software, and other technologies for the purpose of connecting and exchanging data with other devices and systems over the Internet
Edge computing - A distributed computing paradigm that brings computation and data storage closer to the sources of data
Machine to machine - The direct communication between devices using any communications channel, including wired and wireless
Firmware - A specific class of computer software that provides the low-level control for a device's specific hardware
Over-the-air update - The wireless delivery of new software, firmware, or other data to mobile devices
Communication Standards
Wi-Fi - A family of wireless network protocols, based on the IEEE 802.11 family of standards, which are commonly used for local area networking of devices and Internet access
Bluetooth LE - A wireless personal area network technology designed and marketed by the Bluetooth Special Interest Group aimed at novel applications in the healthcare, fitness, beacons, security, and home entertainment industries
Zigbee - An IEEE 802.15.4-based specification for a suite of high-level communication protocols used to create personal area networks with small, low-power digital radios
Devices
Raspberry Pi - A small, affordable computer for you to use and learn with
PaaS
Azure IoT Hub - A managed cloud-based service that serves as a central message hub for communication between an IoT application and its connected devices