Device development and networking
The default form0.config.js starts Expo on the local network. A physical device must be able to
reach the development computer and port 8081. Host firewalls, isolated Wi-Fi networks, VPNs, and
container networking can prevent that connection.
Start through form0-cli
Use the application-server integration when working from the form0 CLI:
Code
The CLI reads the devServer block in form0.config.js. Full command behavior belongs to the
app development server reference.
Advertise a public development URL
When LAN access is unavailable, set the configured environment variable in .env.local:
Code
Start the tunnel separately, then run form0 serve --app. For one run, use
--public-url https://your-development-domain.example.
The URL must serve the Expo manifest, bundle, assets, and WebSocket traffic directly. Browser interstitials and access-challenge pages break Expo clients. Never treat a development tunnel as a production deployment or place privileged credentials in the mobile bundle.
Use a development build for production-oriented work or custom native code. Expo Go is an optional learning and evaluation client when a compatible SDK build is available for the target platform.