VaahFlutter is a Flutter-based framework that provides common features required in any application.
The purpose of developing VaahFlutter is to create a framework that can be extended in a manageable and structured manner in order to develop large applications while not having to reinvent all essential functionalities every time.
For More Info Please Check: docs.vaah.dev/vaahflutter
Project requires Dart and flutter versions:
sdk: ">=2.19.6"
flutter: ">=3.7.11"
To change minimum requirement of dart and flutter change the sdk and flutter
versions under environment
in the pubspec.yaml
file.
Environment name | Command |
---|---|
Default | flutter run OR flutter run --dart-define="environment=default" |
Development | flutter run --dart-define="environment=develop" |
Staging/ QA | flutter run --dart-define="environment=stage" |
Production | flutter run --dart-define="environment=production" |
Platform | Environment name | Command |
---|---|---|
Android | Default | flutter build apk OR flutter build apk --dart-define="environment=default" |
Android | Development | flutter build apk --dart-define="environment=develop" |
Android | Staging/ QA | flutter build apk --dart-define="environment=stage" |
Android | Production | flutter build apk --dart-define="environment=production" |
Android (appbundle) | Default | flutter build appbundle OR flutter build appbundle --dart-define="environment=default" |
Android (appbundle) | Development | flutter build appbundle --dart-define="environment=develop" |
Android (appbundle) | Staging/ QA | flutter build appbundle --dart-define="environment=stage" |
Android (appbundle) | Production | flutter build appbundle --dart-define="environment=production" |
Platform | Environment name | Command |
---|---|---|
iOS | Default | flutter build ipa OR flutter build ipa --dart-define="environment=default" |
iOS | Development | flutter build ipa --dart-define="environment=develop" |
iOS | Staging/ QA | flutter build ipa --dart-define="environment=stage" |
iOS | Production | flutter build ipa --dart-define="environment=production" |
iOS (.app) | Default | flutter build ios OR flutter build ipa --dart-define="environment=default" |
iOS (.app) | Development | flutter build ios --dart-define="environment=develop" |
iOS (.app) | Staging/ QA | flutter build ios --dart-define="environment=stage" |
iOS (.app) | Production | flutter build ios --dart-define="environment=production" |
Pass additional arguments with your build commands.
mode | Command |
---|---|
Debug | flutter build ipa --debug , flutter build apk --debug |
Profile | flutter build ipa --profile , flutter build apk --profile |
Release | flutter build ipa --release , flutter build apk --release |
flag | command |
---|---|
--no-codesign | flutter build ipa --no-codesign , flutter build ios --no-codesign |
Note: building for ipa
will give Runner.xcarchive
. To check the app, you should right click on Runner.xcarchive
> then select show package contents
> then open products
> application
> There you will be able to find the application.
In pubspec.yaml
file > Add essential packages in dependencies
, and packages that a developer need in dev_dependencies
.
To automatically upgrade your package dependencies to the latest versions consider running
flutter pub upgrade --major-versions
To see which dependencies have newer versions available, run
flutter pub outdated
- 2 spaces for indentation
- test files have
_test.ext
suffix in the file name > examplewidget_test.dart
- Libraries, packages, directories, and source files name convention: snake_case(lowercase_with_underscores).
- Classes, Enums, Typedefs, and extensions naming convention: UpperCamelCase.
- Variables, constants, parameters naming convention: lowerCamelCase.
- Method/ functions naming convention: lowerCamelCase.
- Use relative path
- ✘
import 'package:demo/home.dart';
→ This should be avoided. - ✔
import './home.dart';
→ Correct way - to fix imports you can use dart-import
- ✘
- Avoid using as instead, use is operator
- Avoid print()/ debugPrint() calls
Android Production
- universal package:
com.webreinvent.vaahflutter
iOS Production
- universal package:
com.webreinvent.vaahflutter