Targets · Dart · Project setup

Project setup

Everything around the rendered code that makes a working, runnable Flutter project.

Contents

How a Program becomes Dart, in parts. Start with the introduction, then follow each part into the rendered output and the runtime it links against.

The files

A rendered Dart program is a Flutter package: a pubspec.yaml manifest and a lib/ tree. Start one with flutter create, then drop the rendered code and the runtime package in.

my_app/
  pubspec.yaml          # manifest: name, dependencies
  lib/
    reactive/           # the runtime package (Reactive + Context + drivers)
    app.dart            # the rendered program
    main.dart           # runApp(Program.Application(() { Main(); }, [ Ui.Flutter.Driver() ]))
# pubspec.yaml
name: my_app
environment:
  sdk: '>=3.0.0 <4.0.0'
dependencies:
  flutter:
    sdk: flutter
  reactive:
    path: lib/reactive

Build and run

Fetch dependencies, then run on any attached device, simulator, desktop or the web:

flutter pub get
flutter run                 # a connected device or simulator
flutter run -d chrome       # the web
flutter build apk           # a release Android build (or ios / macos / windows)

The generated code and the runtime are ordinary Dart, so the whole project is exactly a normal Flutter app — nothing about it is special to build or ship.