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

 
 
 

Contributors

Languages

  • Go 76.1%
  • Swift 8.2%
  • Kotlin 7.7%
  • C++ 2.2%
  • C 2.1%
  • Go Template 1.8%
  • Other 1.9%