flutter_architecture_samples
flutter_architecture_samples copied to clipboard
Samples don't run with latest Flutter
Many (if not all) samples do not compile/run with the latest Flutter (Flutter 2.5.0).
One set of issues is related to the change of font names. See open PR.
@brianegan, are they any plans for migration of the code base to the latest Flutter, including null-safety ? I assume this will be huge amount of work, since there are a lot of braking changes in bloc, redux etc, so how we can help you ?
@StanevPrime Thanks for writing in! Was busy for holidays & catching up on work. Right now, I've been going through the following plan:
- Update the shared packages to null-safety: todos_app_core, integration_tests, todos_repository_core, todos_repository_local_storage. I'm most of the way through this and could publish my branch shortly.
- Identify which Samples should be updated. Some of the apps are based on libraries that have not been updated to support null-safety. I plan on dropping those apps.
- Go through and update them! I'd start with the
vanilla
example, then probably go by popularity on pub.dev (provider, bloc, etc being prioritized over redux for example)
However, long-term I wonder if this project should actually change a bit. It's been very hard to keep each app up-to-date, not only with Null-safety but also with changes to the libraries themselves. Many of the samples are still perfectly valid, but some of them, such as the bloc
examples, are probably a bit out of date since they've updated and improved things over time. Unfortunately, I've found it tough to keep up-to-date with all of these changes.
Instead, I wonder if this project should merely export the core packages listed above, and any package could implement a "Flutter Architecture Sample Todo App" by writing a Flutter app that passes the integration tests suite. Then, any author could merely submit a pull request to this project to update the README pointing to the Todo app in their own repository.
What do you think?
This is great idea!
Speaking of scalability and maintainability challenges this approach will definitely help in long-term.
A assume there will be two packages
flutter_architecture_samples
with the following libraries
- app_core
- repository_core
- repository_local_storage
- firebase_flutter_repository
- firebase_rtdb_flutter_repository
and flutter_architecture_samples_integration_test
Looking into the bloc library there is already a self-hosted copy of the todos sample, which in future can install and use those packages as follows
pubspec.yaml
dependencies:
...
flutter_architecture_samples: ^1.0.0
dev_dependencies:
...
flutter_architecture_samples_integration_test: ^1.0.0
dependency_overrides:
...
Also you can go further by uploading those packages to pub.dev so that it will be easier for each sample to adapt any breaking changes.
Hello
This does not support Flutter's latest version.
- Plan every sample upgrade according to what we need.
- First, please show all samples and the stable version of the samples, then upgrade the versions of the samples step by step.
sample | flutter max version |
---|---|
mvc | 3.0.0 |
etc
- give to every road map of the Flutter upgrade version and understand how it works.
- I'm working first on MVC samples. Please guide me.
@brianegan