This package allows you to create an app with:
- Routing.
- Tabs and independent navigation in each tab.
- Bottom navigation bar or top menu depending on the screen size.
- Language switch.
The UI details may change without notice. Use this package when the functionality of your app is your priority and you can tolerate some non-customizable opinionated looks to save a few days of development.
import 'package:flutter/widgets.dart';
import 'package:quickstart/quickstart.dart';
Future<void> main() async {
await QuickStart.ensureInitialized();
runApp(const QuickApp());
}Passing a FirebaseOptions enables authentication and analytics.
import 'package:flutter/widgets.dart';
import 'package:quickstart/quickstart.dart';
import 'firebase_options.dart';
Future<void> main() async {
await QuickStart.ensureInitialized(
firebaseOptions: DefaultFirebaseOptions.currentPlatform,
);
runApp(const QuickApp());
}Sign-in buttons will automatically show on the Settings screen. The default is Google and Apple providers. See "customizing" down below to change that.
Configure the providers in the Firebase console following the Firebase Auth howto.
Subclass QuickDelegate and pass it to ensureInitialized() for customizations.
To change the list of supported languages, override the locales getter:
import 'package:flutter/widgets.dart';
import 'package:quickstart/quickstart.dart';
class AppDelegate extends DefaultQuickDelegate {
@override
List<Locale> get locales => [Locales.en_GB];
}
Future<void> main() async {
await QuickStart.ensureInitialized(
delegate: AppDelegate(),
);
runApp(const QuickApp());
}When there's only one language, the switch does not how.
By default the app shows the sign-in buttons for Google and Apple providers.
To change that, override authProviders getter:
class AppDelegate extends QuickDelegate<TabEnum> {
@override
List<String> get authProviders => [GithubAuthProvider.PROVIDER_ID];
}
Future<void> main() async {
await QuickStart.ensureInitialized(
delegate: AppDelegate(),
firebaseOptions: DefaultFirebaseOptions.currentPlatform,
);
runApp(const QuickApp());
}TODO: Expand.