• ↑↓ to navigate
  • ↵ to open
  • ⟶ to select
  • ⌘ ⌥ ↵ to open in a panel
  • ←→ to navigate
  • esc to dismiss
⌘ '
keyboard shortcuts

The Problem

Users need to interact with software applications, but the underlying data management and processing logic is too complex to expose directly. How do you present a user-friendly interface while keeping the underlying system intact?

Core Idea

Front end is the presentation layer of software that users interact with directly. It handles all user-facing tasks, providing an abstraction over the underlying components. In the client-server model, the front end typically resides on the client side.

How It Works

  1. User Interface: Renders information and captures user input through UI elements
  2. Input Handling: Processes user actions (clicks, gestures, keyboard input)
  3. Communication: Sends requests to the back end via APIs and displays returned data
  4. Rendering: Transforms data into visual representations (HTML, CSS, images)
  5. Validation: Performs client-side validation before sending data to the server

In web development, front end includes HTML, CSS, JavaScript, frameworks (React, Angular, Vue.js), and handles responsive design, cross-browser compatibility, and web performance optimization.

Key Properties

  • User-facing and interactive
  • Handles presentation and UI logic
  • Client-side execution (in browser or device)
  • Abstracts underlying complexity from users
  • Includes markup (HTML), styling (CSS), and behavior (JavaScript)
  • Requires understanding of UI/UX design principles
  • Must handle multiple devices and screen sizes

Visual Explanation

front_end A Front End Input B Front End Core Mechanism A->B triggers C Front End Output B->C produces

Semantic Network

semantic_front_end THIS Front End REL1 Related Concept THIS--REL1 related REL2 Builds Into THIS--REL2 builds into

Connections

Built from:

  • Client — The front end typically runs on the client in client-server model
  • Server — Front end typically connects to servers for back end services
  • Presentation Layer — Front end implements the presentation layer concept
  • User Interface — Front end implements UI components

Builds into:

  • Full Stack — Front end combined with back end forms full stack
  • API — Front end consumes APIs to communicate with back end

Related:

Edge Cases & Gotchas

  • Front end cannot securely store secrets; sensitive operations must go to back end
  • Client-side validation can be bypassed—always validate on back end
  • Browser differences require cross-browser testing and workarounds
  • Performance optimization critical ( Largest Contentful Paint, Time to Interactive )