Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Samples don't run with latest Flutter #208

Open
jinalskothari opened this issue Sep 15, 2021 · 4 comments
Open

Samples don't run with latest Flutter #208

jinalskothari opened this issue Sep 15, 2021 · 4 comments

Comments

@jinalskothari
Copy link

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.

@StanevPrime
Copy link

@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 ?

@brianegan
Copy link
Owner

@StanevPrime Thanks for writing in! Was busy for holidays & catching up on work. Right now, I've been going through the following plan:

  1. 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.
  2. 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.
  3. 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?

@StanevPrime
Copy link

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.

@bhargavraviya
Copy link

bhargavraviya commented Nov 30, 2023

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants