Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/psygo/flutter_demo_improved
An improved version of the Flutter Demo that comes when you create a new Flutter project.
https://github.com/psygo/flutter_demo_improved
Last synced: 4 days ago
JSON representation
An improved version of the Flutter Demo that comes when you create a new Flutter project.
- Host: GitHub
- URL: https://github.com/psygo/flutter_demo_improved
- Owner: psygo
- Created: 2020-02-22T21:33:51.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2020-03-02T19:24:29.000Z (almost 5 years ago)
- Last Synced: 2024-11-07T18:50:42.188Z (about 2 months ago)
- Language: Dart
- Size: 261 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Flutter Demo Improved
A more robust version of the Flutter Demo.
It features:
- Unit, widget and integration tests.
- All derived from, but not *ipsis litteris* to [Flutter's Testing Cookbook](https://flutter.dev/docs/testing).
- Performance Profiling
- It mostly follows the [Performance Profiling basic recipe](https://flutter.dev/docs/cookbook/testing/integration/profiling), but I've also added a performance reporter class as an example of a further step (I didn't create this class with TDD unfortunately.)
- Better organization of tests.
- More organized structure.
- Theming is now parameterized in a theme folder. All references to themes should go there.
- State management with the Provider package.
- Provider is *one* option for state management. There are plenty of others, however, at any rate, data logic should not be included inside the widgets themselves but in separate classes.
- However, despite being one of the options, it was *the* recommended one by the Flutter team in the Google I/O'19's [Pragmatic State Management in Flutter](https://youtu.be/d_m5csmrf7I).
- CI with Travis.## How to Run the Tests
- Unit and Widget Tests:
```bash
flutter test
```
- Integration and Performance Profiling:
```bash
flutter drive --target=test_driver/app.dart
```
- Use `chrome://tracing` inside Chrome to analyze the performance results.