All Projects → google → Wire

google / Wire

Licence: apache-2.0
Compile-time Dependency Injection for Go

Programming Languages

go
31211 projects - #10 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to Wire

Weaver
Dependency Injection framework for Swift (iOS/macOS/Linux)
Stars: ✭ 546 (-92.3%)
Mutual labels:  dependency-injection, codegen
Notykt
📒 NotyKT is a complete 💎Kotlin-stack (Backend + Android) 📱 application built to demonstrate the use of Modern development tools with best practices implementation🦸.
Stars: ✭ 543 (-92.34%)
Mutual labels:  dependency-injection
Gongular
A different approach to Go web frameworks
Stars: ✭ 438 (-93.82%)
Mutual labels:  dependency-injection
Oto
Go driven rpc code generation tool for right now.
Stars: ✭ 478 (-93.26%)
Mutual labels:  codegen
Nswag
The Swagger/OpenAPI toolchain for .NET, ASP.NET Core and TypeScript.
Stars: ✭ 4,825 (-31.96%)
Mutual labels:  codegen
Swinject
Dependency injection framework for Swift with iOS/macOS/Linux
Stars: ✭ 4,958 (-30.08%)
Mutual labels:  dependency-injection
Izumi
Productivity-oriented collection of lightweight fancy stuff for Scala toolchain
Stars: ✭ 423 (-94.03%)
Mutual labels:  dependency-injection
Frint
Modular JavaScript framework for building scalable and reactive applications
Stars: ✭ 608 (-91.43%)
Mutual labels:  dependency-injection
Dagger Android Injection
Sample project explains Dependency Injection in Android using dagger-android framework.
Stars: ✭ 524 (-92.61%)
Mutual labels:  dependency-injection
Instant Weather
An Android weather application implemented using the MVVM pattern, Retrofit2, Dagger2, LiveData, ViewModel, Coroutines, Room, Navigation Components, Data Binding and some other libraries from the Android Jetpack.
Stars: ✭ 473 (-93.33%)
Mutual labels:  dependency-injection
Flapigen Rs
Tool for connecting programs or libraries written in Rust with other languages
Stars: ✭ 473 (-93.33%)
Mutual labels:  codegen
Service Pattern Go
Simple clean Go REST API architecture with dependency injection and mocking example, following SOLID principles.
Stars: ✭ 449 (-93.67%)
Mutual labels:  dependency-injection
Iossampleapp
Sample iOS app demonstrating Coordinators, Dependency Injection, MVVM, Binding
Stars: ✭ 510 (-92.81%)
Mutual labels:  dependency-injection
Airframe
Essential Building Blocks for Scala
Stars: ✭ 442 (-93.77%)
Mutual labels:  dependency-injection
Inversify Express Utils
Some utilities for the development of Express application with InversifyJS
Stars: ✭ 454 (-93.6%)
Mutual labels:  dependency-injection
Typescript Ioc
A Lightweight annotation-based dependency injection container for typescript.
Stars: ✭ 427 (-93.98%)
Mutual labels:  dependency-injection
Mortar
Mortar is a GO framework/library for building gRPC (and REST) web services.
Stars: ✭ 492 (-93.06%)
Mutual labels:  dependency-injection
Scabbard
🗡 A tool to visualize Dagger 2 dependency graphs
Stars: ✭ 615 (-91.33%)
Mutual labels:  dependency-injection
Dryioc
DryIoc is fast, small, full-featured IoC Container for .NET
Stars: ✭ 555 (-92.17%)
Mutual labels:  dependency-injection
Zikrouter
Interface-oriented router for discovering modules, and injecting dependencies with protocol in Objective-C and Swift.
Stars: ✭ 516 (-92.72%)
Mutual labels:  dependency-injection

Wire: Automated Initialization in Go

Build Status godoc Coverage

Wire is a code generation tool that automates connecting components using dependency injection. Dependencies between components are represented in Wire as function parameters, encouraging explicit initialization instead of global variables. Because Wire operates without runtime state or reflection, code written to be used with Wire is useful even for hand-written initialization.

For an overview, see the introductory blog post.

Installing

Install Wire by running:

go get github.com/google/wire/cmd/wire

and ensuring that $GOPATH/bin is added to your $PATH.

Documentation

Project status

As of version v0.3.0, Wire is beta and is considered feature complete. It works well for the tasks it was designed to perform, and we prefer to keep it as simple as possible.

We'll not be accepting new features at this time, but will gladly accept bug reports and fixes.

Community

For questions, please use GitHub Discussions.

This project is covered by the Go Code of Conduct.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].