Skip to main content

Drift

Drift is a cross-platform mobile UI framework for Go. Write your app once in Go, then build native Android and iOS apps.

Why Drift?​

  • Single codebase - Write your app once in Go, deploy to Android and iOS
  • Go-native - Use Go's tooling, testing, and ecosystem you already know
  • Skia rendering - Hardware-accelerated graphics via the same engine Chrome and Flutter use
  • No bridge overhead - Direct native compilation, no JavaScript or VM layer
  • iOS builds on Linux - Build iOS apps without a Mac using xtool

How It Works​

Drift apps are Go programs that return widgets. The Drift CLI compiles your Go code with CGO, links it against Skia, and packages it into a native Android APK or iOS app.

func main() {
drift.NewApp(App()).Run()
}

func App() core.Widget {
return widgets.Centered(
widgets.Text{Content: "Hello, Drift!"},
)
}

Requirements​

  • Go 1.24 or later
  • Android: Android SDK + NDK, Java 17+
  • iOS: macOS with Xcode 16+, or Linux with xtool

Get Started​

Ready to build your first app?

Getting Started Guide - Install the CLI and run your first app in minutes.

Learn More​