simply 5.0.0
simply: ^5.0.0 copied to clipboard
Flutter made simple, Simply is a light-weight package for creating production-ready applications easily and quickly.
example/main.dart
import 'package:flutter/material.dart';
import 'package:simply/simply.dart';
void main() {
runApp(TestApp());
}
//App
class TestApp extends SimpleMaterialApp {
TestApp({Key? key}) : super(key: key);
@override
MaterialApp buildApp(String payload, GlobalKey<NavigatorState> navigator) {
return MaterialApp(
navigatorKey: navigator,
home: const TestWidget(),
);
}
@override
Future<void> initialize() async {
Simply.register<MenuItemsRepo>(service: MenuItemsRepo());
}
@override
Widget splashPage() => const SimpleSplashPage();
@override
Widget startupErrorPage(String errorMessage) =>
SimpleStartupErrorPage(errorMessage: errorMessage);
}
//Home Page
class TestWidget extends StatelessWidget {
const TestWidget({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text("Simple Restuarant")),
body: Center(
child: FutureBuilder<List<String>>(
future: Simply.get<MenuItemsRepo>().getMenuItemNames(),
builder: (context, snapshot) {
if (!snapshot.hasData) {
return const CircularProgressIndicator();
}
return ListView.builder(
itemBuilder: (context, index) => ListTile(
title: Text(snapshot.data![index]),
),
itemCount: snapshot.data!.length,
);
},
),
),
);
}
}
//Dependencies
class MenuItemsRepo implements SimpleService {
Future<List<String>> getMenuItemNames() async {
return ["Burger", "Pizza", "Juice"];
}
}