📄️ Getting Started
Get your first Drift app running in three steps.
📄️ Widgets
Widgets are the building blocks of Drift applications. Everything you see on screen is a widget.
📄️ State Management
Drift provides several patterns for managing state in your application, from simple local state to app-wide shared state.
📄️ Layout
Drift uses a constraint-based layout system. Parent widgets pass constraints to children, and children return their size.
📄️ Animation
Drift provides a flexible animation system with controllers, curves, and animated widgets.
📄️ Theming
Drift provides a Material Design 3 inspired theming system.
📄️ Navigation
Drift provides stack-based navigation with support for named routes, deep linking, and tab navigation.
📄️ Gestures
Drift provides gesture detection for handling touch input including taps, drags, and long presses.
📄️ Accessibility
Drift provides comprehensive accessibility support for TalkBack (Android) and VoiceOver (iOS).
📄️ Platform Services
Drift provides access to native platform capabilities through the platform package.
📄️ Skia Build
Drift uses libdriftskia.a, which combines Skia with the Drift bridge code. The bridge is pre-compiled at CI/build time, so app developers using prebuilt binaries don't need Skia headers - only the skiabridge.h header included in the drift module. Building from source still requires a full Skia checkout.
📄️ iOS on Linux with xtool
This guide covers setting up your Linux (or macOS) system to build and deploy iOS apps using the drift build xtool and drift run xtool commands, without requiring Xcode.