-
-
Notifications
You must be signed in to change notification settings - Fork 514
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
Ripping off flutter_bloc... create a plugin instead #130
Comments
I wonder of there are any real benefits in incorporating a bloc support directly into the provider package. Why does the creator feel so strongly about including it here in the provider package, it seems counterintuitive in the not reinventing the wheel. The only problem in using both the provider package, and flutter_bloc is the difference approaches in sending the object down the widget tree. Other than that I dont see an immediate problem in having both the packaged as a dependency in the same project. Does provider need to be more than a DI package even? |
EDIT: Alright, after another long discussion with @felangel (thanks for his patience btw!), I'll just cancel that plan for now. For those who were interested in that binding, the code of the Hello! Thanks a lot for the issue. That's an important discussion that I agree we should have. I share your concerns. Unironically, the reason we're having this discussion is because I want to stop that "nonsense of fracturing packages rather than building on them". Here's a bit of history explaining everything that led me to this The community has a weird tendency to reinvent wrappers over In the span of a year, I've discussed many times with different content creators (including Didier Boelens, Brian Egan, Pavan Podila, or more recently Felix Angelov) of the community about my desire to solve this issue. In parallel, I opened a bunch of issues for similar discussions:
Somehow most of these discussions ended up agreeing at least partially that
It's cool. But then came the IO talk, and I'm kind of mixed about it. On one side, On the other side, it got advertised as a scoped_model v2. I now hear on daily basis peoples migrating from The problem is, I do not think that I don't want that. So I need some kind of damage control. My discussions with I spent easily 2 months discussing with them. But for some reasons, I respect their decision, but this puts me in an awkward position. That and the fact that I think their Flutter binding has a few flaws makes me want to make my own version of the Flutter binding (after asking them their permission). To answer your other concerns here's what I currently have in mind for that package:
That's it for now! Again, thanks a lot for the issue. Please feel free to comment on that, nothing is set in stone yet. If you think this is a bad decision, I can change my plans if needed. |
I would have prefered to have everything under I think having a per-framework package is a good middle-ground. It keeps the surface area lean and easier to maintain. My 2c. |
I wholeheartedly applaud your decision to not move forward with a provider_bloc library!! I still think, with the popularity of the provider package, that it would be a stellar idea for you to create a plugin that can be used with flutter_bloc that just has the DI components of provider. (Mind you with the new 0.18 version of flutter_bloc this isn't needed as much as the ImmutableProvider can handle the DI.) I see this a providing a unification of the packages and the true spirit of open source helping to make the software better by contributing back to the original package. |
That's sadly not possible. The only way to make a provider plugin is to recreate About the potential "flaws".
I could list some more, but these are the two "real" issues that can't be fixed without a rewrite of |
@rrousselGit hello
Why you need a BLoC read-only?
BlocProvider use BlocProvider.of<MyBloc>(context).currentState; thanks |
That's getting a bit off topic. But tl:dr I think it should be the provider that does the listening and pass the value through |
I'd be interested in furthering these discussions but when I think about blocs as finite state machines I don't see the flaws you see and rather see the current flow being how the process works. I can subscribe to the bloc in the initState method using BlocProvider.of so I'm not really sure about your second point. Thanks again for being willing to discuss!! Your engagement is appreciated. |
Closing this since I won't go with the |
The toxicity of the language used in this issue does not reflect the culture that Flutter promotes in its code of conduct. It's not just about making valid points - how they are made matters when we talk about preserving the community. |
While imitation is said to be the highest form of flattery, in software, the not invented here syndrome isn't good for the betterment of the community.
I fail to see why there needs to be yet ANOTHER package created to cram provider down people's throats just because it seems like the creator of this package doesn't want to play nice with others. (Yeah Remi... I'm calling you out on this one, show that you are really here for the community rather than your own selfish gain.)
To build unity and foster greater community it would be better, for yet another provider package, to create a plugin to flutter_bloc like can be shown here:
https://pub.dev/packages/flutter_bloc_extensions
I'm calling on the creator of the provider package to do what's right for the community and stop this nonsense of fracturing packages rather than building on them and create a plugin for flutter_bloc instead of cramming everything into one monolithic package.
The text was updated successfully, but these errors were encountered: