Angular: Extracting DI as a lib

Created on 22 Jul 2016  路  10Comments  路  Source: angulardart/angular

I was wondering, if extracting the new DI engine would be a possible/good thing to do.

Right now, the only good DI lib we have in Dart is di.dart, that seems to be lowly maintained. Is this new version better than the old one?

I'd very much like to use this for redstone instead of the old one if it's better, and if it's possible at all.

Thanks!

blocked

Most helpful comment

Hi folks. I do have an update - I've gotten through the necessary steps to open source the new package. Some caveats though, of course:

  • It's a new package, i.e. is _not_ Angular's DI extracted as-is
  • It doesn't work with Angular yet (entirely standalone), there is plans to unify, but not a P1
  • It is entirely statically generated, i.e. no dynamic providers (like Dagger2)

It will take a few more weeks to get it available. I might be able to show _super_ passionate Dartisans an early demo (before it's formally released). If you're interested I'll have some more information soon.

All 10 comments

Something like this is on the roadmap - it just won't necessarily be in it's current form.

As you can probably tell the current DI is pretty ingrained within the framework and moving it out isn't very practical. Hopefully will have more information on our plans soon. We definitely agree :)

This is currently a WIP as a new library based on Java's Dagger2 (https://google.github.io/dagger/). We won't immediately consume it within Angular but it will likely be a mostly gradual rollout. Definitely excited to have a new first-class dependency injection for Dart.

Just an update: We have _something_ working, though obviously not part of Angular yet.

It's changing fast, so nothing publicly available yet - but this is still an important issue to us.

What will be the strategy w.r.t. documented alternatives to OpaqueToken (cf. #35).

I'm updating the dependency injection page and was wondering if I could update the text regarding this.

cc @kwalrath @filiph

There is no strategy regarding OpaqueToken

Is there any update on this? Any early access package available somewhere? or github repo?

Hi folks. I do have an update - I've gotten through the necessary steps to open source the new package. Some caveats though, of course:

  • It's a new package, i.e. is _not_ Angular's DI extracted as-is
  • It doesn't work with Angular yet (entirely standalone), there is plans to unify, but not a P1
  • It is entirely statically generated, i.e. no dynamic providers (like Dagger2)

It will take a few more weeks to get it available. I might be able to show _super_ passionate Dartisans an early demo (before it's formally released). If you're interested I'll have some more information soon.

This is now planned to have a pre-release by the 4.0 release.

This has been pushed back, as the infrastructure to support this externally might not be ready by 4.0.0. Sorry about that.

I'm closing this issue because it won't happen as part of AngularDart (but a separate library), and I don't want to keep folks waiting expecting that this is going to happen soon.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

matanlurey picture matanlurey  路  3Comments

ranquild picture ranquild  路  4Comments

ranquild picture ranquild  路  6Comments

4cm4k1 picture 4cm4k1  路  5Comments

AndreyChernykh picture AndreyChernykh  路  4Comments