web_app
Mason brick that scaffolds a ready for production Flutter web app with Firebase Remote Config, splash/icon setup, and a WebView shell, from a few CLI prompts.
Qoder
8 sectionsMason Brick
Overview
web_app is Qoder's Mason brick for spinning up a fully functional Flutter application with minimal prompts. Answer a few questions and the brick generates a new Flutter project, wires web and mobile targets, optional native splash/launcher icon from your logo, and Firebase Remote Config with a live base URL, so teams start on product work instead of boilerplate.
- Generate a new Flutter project with ready for web defaults
- Optional native splash and launcher icon from a PNG logo
- Optional Firebase + Remote Config with a monitored base_url
- Wired in advance WebView shell for hybrid web experiences
- Before generation and after generation hooks for a smooth mason make flow
What's included
The brick packages the scaffolding teams usually build by hand for web first Flutter products.
- Flutter project initialization with platform folders (android, ios, web, desktop)
- Dependency setup for web and mobile targets
- Native splash and launcher icon generation from a provided PNG
- Firebase project integration path with Remote Config base_url listening for live changes
- Assets starter (loading animation + logo) and a presentation layer WebView screen
Installation
Requires the Mason CLI. Install the brick from BrickHub locally or globally, then generate.
# Activate Mason CLI
dart pub global activate mason_cli
# Install brick (local)
mason add web_app
# Or install globally
mason add -g web_app
# Generate
mason make web_appVariables
Prompts collected during mason make web_app.
- appName: application name (string)
- url: base URL for the web shell / Remote Config default (string)
- enableRemoteConfig: wire Firebase Remote Config for live base URL (boolean)
- setupLauncherIconAndSplash: generate launcher icon and splash from a PNG (boolean)
Project structure
Generated layout emphasizes a thin core + presentation shell ready for product screens.
YOUR_APP_NAME/
├── android/
├── assets/
│ ├── loading.json
│ └── logo.png
├── ios/
├── lib/
│ ├── core/
│ │ └── app_constants.dart
│ ├── presentation/
│ │ └── screens/
│ │ └── web_view_screen.dart
│ └── main.dart
├── web/
├── linux/ macos/ windows/
├── test/
├── pubspec.yaml
└── README.mdmacOS & Linux notes
Host tooling required for file dialogs and Mason workflows on desktop generators.
- Zenity: file selection dialogs (brew install zenity / apt install zenity)
- Subversion (svn): required by some Mason version control flows (brew install svn / apt install subversion)
- Install these before mason make web_app to avoid during generation failures
Environment
Brick environment constraint published on BrickHub.
mason: ">=0.1.0-dev.57 <0.1.0"Why this exists
Hybrid web shells and Firebase backed Flutter products share the same initial setup cost. web_app encodes that bootstrap as a versioned brick on BrickHub so Qoder and client teams can regenerate consistent foundations instead of copying repos.