Dynamic CDI VS Dagger2

Compare Dynamic CDI vs Dagger2 and see what are their differences.

Dagger2

A fast dependency injector for Android and Java. (by google)
Our great sponsors
  • Appwrite - The Open Source Firebase alternative introduces iOS support
  • SonarQube - Static code analysis for 29 languages.
  • Scout APM - Less time debugging, more time building
Dynamic CDI Dagger2
0 37
8 16,629
- 0.6%
0.0 9.6
over 1 year ago 7 days ago
HTML Java
Apache License 2.0 Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

Dynamic CDI

Posts with mentions or reviews of Dynamic CDI. We have used some of these posts to build our list of alternatives and similar projects.

We haven't tracked posts mentioning Dynamic CDI yet.
Tracking mentions began in Dec 2020.

Dagger2

Posts with mentions or reviews of Dagger2. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-05-07.
  • WireDI: Framework for dependency injection at compile time, aiming to bridge with runtime dependency injection
    2 projects | reddit.com/r/java | 7 May 2022
    Are you trying to reinvent, or perhaps improve upon, Dagger?
  • dilib - Dependency Injection in Rust
    2 projects | reddit.com/r/rust | 26 Apr 2022
    i don't really consider runtime a requirement of DI, perhaps stuff like spring made that something people are used to. another example https://dagger.dev/
  • Dagger - A portable devkit for CI/CD pipelines
    3 projects | reddit.com/r/devops | 3 Apr 2022
    Iā€™m afraid the name is already taken https://dagger.dev
  • Dagger: a new way to build CI/CD pipelines
    29 projects | news.ycombinator.com | 30 Mar 2022
    I support the effort to build a platform-agnostic CI/CD pipeline solution, but I don't want it in the form of yet another platform. Rather it needs to be a protocol that any platform can tie in to. I'm especially wary since this is another VC-backed effort that will eventually need to be monetized in some shape or form.

    Additionally, as someone else here has already mentioned, my mind first went to Dagger, the dependency injection tool (https://dagger.dev). That tool in particular was named as a play on DAG (directed acyclic graphs), whereas in this case I don't think it would apply since there may be instances where you'd want cycles in a pipeline.

    On a whim, I clicked on "Trademark Guidelines" (https://dagger.io/trademark) and from that page alone I would recommend avoiding this based on the aggressive language used to try and claim ownership of generic words. According to their own language, it seems I'm violating their guidelines by writing this comment.

    > Our Marks consist of the following registered, unregistered and/or pending trademarks, service marks and logos which are subject to change without notice: Dagger; Blocklayer; and other designs, logos or marks which may be referred to in your specific license agreement or otherwise.

    > Blocklayer does not permit using any of our Marks ... to identify non-Blocklayer products, services or technology

    Which would include Dagger, the dependency injection tool.

    Other sections of note:

    > Do Not Use As Nouns

    (This one just reads amusingly to me, for some reason.)

    > Do Not Create Composite Marks

    This section seems to suggest that you can't use "dagger" in any shape or form, even as a smaller part of some other word or body of text.

    > Websites And Domain Name Uses

    29 projects | news.ycombinator.com | 30 Mar 2022
    Not to be confused with https://dagger.dev/
    29 projects | news.ycombinator.com | 30 Mar 2022
    What an unfortunate name collision:

    https://github.com/google/dagger

    Is it some weird SEO niche-squatting technique? IMHO we see it happen way too often

  • Dagger 2.41 with Gradle plugin DSL support now available
    1 project | reddit.com/r/androiddev | 17 Feb 2022
  • Upgrading to Gradles modern plugin configuration
    3 projects | dev.to | 26 Jan 2022
    In particular I have found one popular plugin at this time which is not compliant and that is the Dagger Hilt Plugin. You can track the support for it here, it's quite likely by the time you read this post that it will already have been released.
  • Dagger clone with a module info
    3 projects | reddit.com/r/java | 25 Jan 2022
    It was revealed in July that dagger is becoming a KSP (Kotlin) processor. This probably means it will never add module-info.java. But jpms requires all your dependencies to be modular, and there's the problem because dagger is widespread and many things depend on it.
  • Ask HN: Google Guice another abandonware from Google?
    2 projects | news.ycombinator.com | 17 Jan 2022
    Hasn't Google Guice been superseded by Google Dagger? [1] As far as I know Guice seemed to be in maintenance mode for quite a while now.

    [1] https://github.com/google/dagger

What are some alternatives?

When comparing Dynamic CDI and Dagger2 you can also consider the following projects:

Guice - Guice (pronounced 'juice') is a lightweight dependency injection framework for Java 8 and above, brought to you by Google.

Toothpick - A scope tree based Dependency Injection (DI) library for Java / Kotlin / Android.

butterknife - Bind Android views and callbacks to fields and methods.

Weld - Weld, including integrations for Servlet containers and Java SE, examples and documentation

HK2

Tiger

Feather - Lightweight dependency injection for Java and Android (JSR-330)

Apache DeltaSpike - Mirror of Apache Deltaspike

Katana - Lightweight, minimalistic dependency injection library for Kotlin & Android

ActivityStarter - Simple Android Library, that provides easy way to start the Activities with arguments.