Skip to main content
⚠️ AppKit is in an early development phase and is subject to change without notice. DO NOT use in production environments.

# Architecture

AppKit follows a plugin-based architecture designed for building production-ready Databricks applications. This document provides a high-level overview of the system components and their interactions.

## High-level architecture​

## Core components​

AppKit is organized into two main packages:

### @databricks/appkit​

The backend SDK that provides the plugin architecture and core functionality. It includes:

- Plugin system with lifecycle management
- Built-in server and analytics plugins
- Telemetry and observability features
- Cache management and streaming capabilities
- Type generation for SQL queries

See the Plugins and API reference documentation for detailed information.

### @databricks/appkit-ui​

A React UI library with pre-built components optimized for data applications:

- React hooks for query execution and streaming
- UI components based on Radix UI and Tailwind
- Data visualization components
- Type-safe integration with backend queries

See the API reference for component documentation.

## Application layers​

### Client layer​

The React frontend layer that optionally uses `@databricks/appkit-ui` components:

- Renders UI components and visualizations
- Manages client state and user interactions
- Consumes backend APIs via HTTP and SSE
- Provides type-safe query execution hooks

### Server layer​

The Node.js backend layer built with `@databricks/appkit`:

- Serves the React application (dev and production modes)
- Executes SQL queries against Databricks SQL Warehouses
- Handles authentication and authorization
- Provides caching, retry logic, and error handling
- Exposes REST APIs and SSE endpoints

### Data layer​

Integration with Databricks services:

- SQL Warehouses: Execute analytical queries with Arrow or JSON format
- Lakebase V1 (Provisioned): Access data from Lakebase Provisioned. Support for Lakebase Autoscaling coming soon.

## See also​

- Plugins: Deep dive into the plugin system
- API reference: Complete API documentation
- Development: Explore development workflows
- Core Principles: Learn about AppKit's design philosophy