cuezel | Dagger2 | |
---|---|---|
1 | 50 | |
12 | 17,317 | |
- | 0.2% | |
0.0 | 9.1 | |
about 3 years ago | 7 days ago | |
Go | Java | |
- | Apache License 2.0 |
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.
cuezel
-
Dagger: a new way to build CI/CD pipelines
I played with a similar idea a while ago: https://github.com/ecordell/cuezel/ (cuezel as in: "Bazel but with CUE"), but I was never sure that what I was doing was in the spirit of CUE.
CUE pushes nondeterminism into "_tool.cue"[0] files that are allowed to do things like IO and run external processes. Tool files scratch a similar itch to Makefiles, but they lack an integrated plugin system like Bazel (hence why I played with the idea of CUE + Bazel).
With Dagger you seem to be restricted to the set of things that the dagger tool can interpret just with like my Cuezel tool you are limited to what I happened to implement.
In CUE `_tool` files you are also limited to the set of things that the tool builtins provide, but the difference is that you know that the rest of the CUE program is deterministic/pure (everything not in a _tool file).
There's clearly value in tooling that reads CUE definitions, and dagger is the first commercial interest in CUE that I've seen, which is exciting.
But I'm most interested in some CUE-interpreter meta-tool that would allow you to import cue definitions + their interpreters and version them together, but for use in `_tool` files to keep the delineation clear. Maybe this is where dagger is heading? (if so it wasn't clear from the docs)
[0]: https://pkg.go.dev/cuelang.org/[email protected]/pkg/tool
Dagger2
- Dagger 2.49 (KSP, @AssistedInject with @HiltViewModel, more)
- Dagger 2.48 adds alpha KSP support
- Dagger KSP update & Breaking changes required to use Dagger KSP
-
Performance and memory impact of the @Singleton annotation in Dagger
There used to be a thing called "releasable references" which was that. It was removed, though: https://github.com/google/dagger/issues/1117
-
Dependency injection with AWS Lambdas in java
As said in the title, we will focus on the dependency inversion principle and one of its application : dependency injection. For production-ready applications, it would be better to rely on a framework and not implement its own container. For it, the java ecosystem have 3 frameworks available : Spring, Guice and Dagger.
-
Refactoring our Dependency Injection using Anvil
At Reddit, we use Dagger 2 for handling dependency injection (DI) in our Android application. As we’ve scaled the application over the years, we’ve accrued a bit of technical debt in how we have approached this problem.
-
Dagger Python SDK: Develop Your CI/CD Pipelines as Code
Confusing. I initially thought someone ported the Dagger DI framework to Python: https://dagger.dev/
-
Multiplatform dependency injection libraries equivalent to Dagger/Anvil
I'm currently using Dagger and Anvil for my DI needs. It's been working really well, especially around what Anvil permits in terms of multibindings defined on the type declaration rather than in a module. For example:
-
Dagger 2.43 released with support for multiple instances of the same ViewModel using keys 🎉
Great job, I have been waiting for this feature/fix for a long time https://github.com/google/dagger/issues/2328
-
Best libraries for Android Developers
Dagger
What are some alternatives?
Guice - Guice (pronounced 'juice') is a lightweight dependency injection framework for Java 11 and above, brought to you by Google.
Toothpick - A scope tree based Dependency Injection (DI) library for Java / Kotlin / Android.
Weld - Weld, including integrations for Servlet containers and Java SE, examples and documentation
butterknife - Bind Android views and callbacks to fields and methods.
HK2
Dynamic CDI - Dynamic Context Dependency Injection
Apache DeltaSpike - Mirror of Apache Deltaspike
Feather - Lightweight dependency injection for Java and Android (JSR-330)
Tiger
Katana - Lightweight, minimalistic dependency injection library for Kotlin & Android
ActivityStarter - Simple Android Library, that provides easy way to start the Activities with arguments.
android-ghostfish - Dependency injection container for Android