simply 3.0.1
simply: ^3.0.1 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(SimpleProvider provider, String payload) {
return const MaterialApp(
home: TestWidget(),
);
}
@override
Future<void> initialize(SimpleRegistry registery) async {
registery.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.getService<MenuItemsRepo>(context).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"];
}
}