Search the site
GETTING STARTED
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
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 developmentCopy 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.
dartvel dev
dartvel dev --pairing-port 8787Copy 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.
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 webCopy 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.
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.
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.
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.
FSL-1.1-MIT licensed. Built with Dartvel.
Dartvel is made by
To the bottom