Skip to content
/ drift Public
forked from go-drift/drift

Mobile Development With Golang

License

Notifications You must be signed in to change notification settings

nextcore/drift

 
 

Repository files navigation

Drift logo

Drift

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

Why Drift?

  • Single codebase - Write once, deploy to Android and iOS
  • Go-native - Use Go's tooling, testing, and ecosystem
  • Skia rendering - Hardware-accelerated graphics (same engine as Chrome and Flutter)
  • No bridge overhead - Direct native compilation, no VM layer
  • iOS builds on Linux - Build iOS apps without a Mac using xtool

Quick Start

# Install the CLI
go install github.com/go-drift/drift/cmd/drift@latest

# Create and run a new project
drift init hello-drift
cd hello-drift
drift run android

Skia binaries are downloaded automatically on first run.

Documentation

Full documentation is available at driftframework.dev:

Showcase

The showcase/ directory contains a demo app with examples of all widgets:

showcase.mp4
cd showcase
drift run android

Repo Layout

Directory Description
cmd/drift CLI commands
pkg/ Runtime, widgets, and rendering
showcase/ Demo application
scripts/ Skia build helpers
third_party/skia Skia source checkout
third_party/drift_skia Skia bridge outputs
SKIA_REV Pinned Skia commit hash

API Stability

Drift follows semantic versioning.

Before v1.0.0: Breaking changes may occur in any release.

After v1.0.0:

  • Deprecated APIs are marked with // Deprecated: use X instead
  • Deprecated APIs remain for at least 2 minor versions
  • Breaking changes only in major versions

Roadmap

v1.0.0 targets:

  • Testing framework with widget tests and golden tests
  • More widgets (Dialog, BottomSheet, Drawer, Snackbar, Slider)
  • Internationalization (i18n/l10n)
  • Developer tools (widget inspector, performance profiling)
  • Hot reload

Contributing

Contributions are welcome!

License

MIT License. See LICENSE for details.

About

Mobile Development With Golang

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 75.8%
  • Swift 7.9%
  • Kotlin 7.4%
  • C++ 2.1%
  • Objective-C++ 1.8%
  • Go Template 1.7%
  • Other 3.3%