-
Notifications
You must be signed in to change notification settings - Fork 37
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
Dart/Flutter SDK #180
Comments
Hey @marandaneto, that's great! Thanks for your interest and support. We haven't looked into a Dart SDK yet, so your contributions would be very much appreciated! You may be interested in syncing with @toddbaert. He's been working on updating the spec to better support client-side feature flags. It would be wonderful to get your feedback on those improvements from a mobile dev perspective. |
Exciting, thanks so much @marandaneto ! I suspect that a Dart SDK would be most valuable for use in clients, as @beeme1mr suggests. Is your intent? Our research and vendor collaboration leads us to believe that first-class client SDKs require a few additional APIs to meet the needs of that use-case, so we're working on enhancements to the spec. I think with your mobile experience you could be a great asset to the project here (sorry if that sounds presumptuous 😅 ). An overview of the client-related specification enhancements can be viewed here. The OFEPs (OpenFeature enhancement proposals) might be of particular interest. I'd be happy to meet to talk about the Dart SDK further. If you'd like you can reach out to me directly on our CNCF channel. I can also invite you to the org. |
Nice, yeah it is my intent, so any Mobile related topic would be interesting to catch up on. |
Hey @marandaneto ! I just wanted to highlight we recently released a new version of the spec: v0.6.0. We believe that the last thing needed for a robust client implementation is this remaining spec PR: #171 I'd love to get your thoughts on this. as well as what was released in v0.6.0, especially WRT the potential Dart SDK. |
@toddbaert ups sorry, missed this thread really. |
@toddbaert Sorry for the delay, looks good to me, I like the concept of Static and Dynamic contexts. One thing that I am missing, or just didn't get it yet. I often used the concept of can we achieve that right now with the current spec? or should this be a follow-up? For reference: https://docs.getunleash.io/reference/activation-strategies#gradual-rollout |
@marandaneto, |
@marandaneto : @beeme1mr is 💯 correct, "sticky" pseudo-random assignment is one of the reasons we define the targeting-key field. |
Gotcha, that makes sense, the difference is that with openfeature, you have to do the |
Most providers that exist at the moment wrap existing SDKs (or portions of them). These providers "handle the stickiness algo" by simply mapping the incoming If somebody is implementing a provider entirely from scratch, not wrapping any existing SDK at all, you're correct that they would need to implement "stickiness" based on the The |
@toddbaert I see, yeah I wasn't thinking about that, if people are writing providers that wrap their own SDKs, makes sense. Left a bit of feedback here as well open-feature/ofep#34 (comment) Do you need more feedback on something specific? wondering how else I can help with, besides my comments on this issue and open-feature/ofep#34, the spec would cover the needs I have off the top of my head. |
Hi, thank you for driving the open spec :)
Not sure if a community-maintained Dart SDK is desired but if so, I'm willing to be a contributor.
I've started the Dart SDK as a hobby project and it's somewhat working already (It's pretty much based on the Java/.NET SDK).
Repo: https://github.com/marandaneto/openfeature-dart-sdk
SDK: https://pub.dev/packages/openfeature
There's no provider besides the NoOP and Env. Var. Provider, but I'm willing to add the most used ones within the next few weeks/months.
I still have to write the spec tests, but feature-wise should be usable already.
Let me know your thoughts.
Thanks!
The text was updated successfully, but these errors were encountered: