Dartvel, home
Docs
Features
Studio
Cloud
Compared

Search the site

GitHub
pub.dev

GETTING STARTED

Getting started
Existing Flutter apps
Existing Native apps
Run on your phone

APP

UI and styling
Routing
State
Accessibility
Keyboard shortcuts
Localization
Devices and desktop
Native device access
Media, 3D and XR

DATA

Data models
Forms
Search
Sync and offline
Import and export
Change capture
Database
Cache
File storage
Images
Privacy and erasure

BACKEND

Backend functions
Auth and sessions
Authorization
Queues and jobs
Workers and memory
Notifications and mail
Outbound HTTP
AI
Webhooks
GraphQL and OpenAPI
API keys and OAuth
Multi-tenancy
Billing and commerce
Modules

OPERATIONS

Edge security
Secrets and environments
Monitoring
Releases

SHIPPING

Build targets
Telegram Mini Apps
Static web hosting
Servers and deploying

REFERENCE

Testing
CLI reference
Coding agents

GETTING STARTED

Run on your phone

Scan a QR code and your phone runs the code on your laptop.

Every save hot reloads the phone over the network, with no cable.

ON THIS PAGE

Build a development app once

Or run it in Dartvel Preview

Who can connect

Keep development builds out of the stores

Status

Build a development app once

dartvel build android --profile development
dartvel build ios --simulator --profile development
dartvel build macos --profile development
dartvel build linux --profile development
dartvel build windows --profile development

Copy code to clipboard

A development build is a Flutter debug build with a pairing tunnel added to it.

A profile or release build takes the tunnel back out, so it never ships in your app.

Install it the usual way. You rebuild it only when your native plugins change.

Pair it with dartvel dev

dartvel dev
dartvel dev --pairing-port 8787

Copy code to clipboard

dartvel dev always serves pairing and prints a QR code. There is no flag to turn it on.

Scan the code with the phone, or pass the printed link as a launch argument on a desktop or simulator.

Pairing hot restarts the app onto your current code. After that, each save is a hot reload.

With no device plugged in, dartvel dev keeps running and waits for paired devices.

Or run it in Dartvel Preview

Dartvel Preview is one app that runs any project dartvel dev serves on your network, so you do not build each project for the device first. It is our Expo Go, for every platform Dartvel builds for.

cd apps/dartvel_preview
dartvel build android --profile development
dartvel build linux --profile development
dartvel build web

Copy code to clipboard

dartvel dev prints a Dartvel Preview code. Scan it, or paste its link into Preview.

On Android, macOS, Linux and Windows, Preview pairs like a development build and dartvel dev restarts it into your project. Each save hot reloads it.

In a browser, Preview opens your project's web build. Run dartvel dev -d web-server so the code carries its address.

What Preview cannot run

Preview carries the native plugins it was built with. A project that needs another one needs its own development build, as with Expo Go.

Who can connect

Each run makes a new key and token, and the QR code carries both.

The connection is TLS, and the app checks that the server holds the key from the code before it sends the token.

A request without the token gets 401.

Dartvel Preview opens only http and https web addresses, and checks a pairing link the way the tunnel does before it acts on it.

Keep development builds out of the stores

dartvel deploy --store recognises a development build and refuses it for Play alpha, beta and production and for the App Store, with DV-DEVCLIENT-003.

Play internal testing, TestFlight and Firebase App Distribution accept one, so testers can pair too.

Status

Partial

Spec section: Dev Client

Planned work and implementation limits

CI pairs Android, iOS simulator, macOS, Linux and Windows builds. A physical iPhone pairs when you start the app from Xcode or flutter run.

TV and embedded targets have no development build.

A development build cannot connect to a preview environment.

Dartvel Preview is built from source and is in no store. It does not run on an iPhone yet, and it does not yet check a project's plugins against its own before it runs one.

PREVIOUS Existing Native apps Embed Dartvel inside an Android, iOS, web or desktop host
NEXT UI and styling DVBox, DVText, modifiers and layouts
GitHub
pub.dev
npm
Acknowledgements
Privacy
Terms

FSL-1.1-MIT licensed. Built with Dartvel.

Dartvel is made by

SigmaDev Digital

To the bottom