awesome-repositories.com
Blog
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
google avatar

google/wireArchived

0
View on GitHub↗
14,403 Stars·738 Forks·Go·Apache-2.0·1 Aufruf

Wire

Wire is a compile-time dependency injection framework for Go that generates code to wire application components together. It analyzes function signatures at compile time to build an explicit initialization graph, removing the need for runtime reflection or manual wiring code.

The framework operates as a Go code generator and static analysis tool, transforming annotated source code into generated wire files that compile alongside the original project. It connects dependencies by matching function parameters and return types, producing a directed acyclic graph of component dependencies that is fully resolved before runtime execution.

Wire generates dependency injection code by analyzing function signatures and producing wire-ready Go source files through source-to-source transformation. The generator composes components into a single initialization function, ensuring all dependencies are satisfied without runtime inspection.

Features

  • Compile-Time Dependency Resolution - Wires Go application components together at compile time, eliminating runtime reflection and manual initialization code.
  • Compile-Time Dependency Injection Frameworks - Uses a code generator to compose components into a single initialization function, ensuring all dependencies are satisfied.
  • Static Dependency Resolution - Analyzes Go function signatures and types at compile time to determine the complete dependency graph.
  • Initialization Graph Builders - Builds a directed acyclic graph of component dependencies fully resolved before runtime.
  • Dependency Injection Containers - Creates a container that resolves and injects dependencies based on declared provider and injector functions.
  • Dependency Injection Source Generators - Generates compile-time code that wires together components by analyzing function parameters.
  • Go Code Generators - Produces source code that connects dependencies through explicit function parameters for testable initialization.
  • Go Source-to-Source Transformers - Transforms annotated Go source code into generated wire files compiled alongside the original project.
  • Automated Component Wiring - Connects components by matching function parameters and return types, eliminating runtime reflection.
  • Compile-Time Code Generation - Generates dependency injection code at compile time by analyzing Go function signatures.
  • Component Initializers - Connects dependencies through function signatures so initialization is explicit and testable.
  • Static Analysis Tools - Analyzes Go source code to build a dependency graph and generate wiring code without runtime overhead.
  • Dependency Injection - Compile-time dependency injection.

Star-Verlauf

Star-Verlauf für google/wireStar-Verlauf für google/wire

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Häufig gestellte Fragen

Was macht google/wire?

Wire is a compile-time dependency injection framework for Go that generates code to wire application components together. It analyzes function signatures at compile time to build an explicit initialization graph, removing the need for runtime reflection or manual wiring code.

Was sind die Hauptfunktionen von google/wire?

Die Hauptfunktionen von google/wire sind: Compile-Time Dependency Resolution, Compile-Time Dependency Injection Frameworks, Static Dependency Resolution, Initialization Graph Builders, Dependency Injection Containers, Dependency Injection Source Generators, Go Code Generators, Go Source-to-Source Transformers.

Welche Open-Source-Alternativen gibt es zu google/wire?

Open-Source-Alternativen zu google/wire sind unter anderem: evant/kotlin-inject — Kotlin-inject is a dependency injection framework for Kotlin that utilizes compile-time code generation to construct… a-h/templ — Templ is a type-safe HTML templating engine and UI framework for Go. It provides a system for building reusable HTML… gogo/protobuf — This project is a Protocol Buffers Go compiler and code generation framework that translates schema definitions into… ets-labs/python-dependency-injector — This is a dependency injection framework and inversion of control container for Python. It decouples object creation… jakewharton/butterknife — ButterKnife is an Android view binding library and Java annotation processor that automates the linking of UI elements… square/dagger — Dagger is a compile-time dependency injection framework for Java and Android that automates object creation and…

Open-Source-Alternativen zu Wire

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Wire.
  • evant/kotlin-injectAvatar von evant

    evant/kotlin-inject

    1,503Auf GitHub ansehen↗

    Kotlin-inject is a dependency injection framework for Kotlin that utilizes compile-time code generation to construct type-safe object graphs. By processing declarative annotations during the build process, the library eliminates the need for runtime reflection, ensuring that dependency resolution and validation occur before the application executes. The framework distinguishes itself through its native support for Kotlin Multiplatform, enabling consistent dependency management across shared and platform-specific codebases. It provides specialized mechanisms for assisted injection, allowing de

    Kotlindependency-injectionkotlin
    Auf GitHub ansehen↗1,503
  • a-h/templAvatar von a-h

    a-h/templ

    10,358Auf GitHub ansehen↗

    Templ is a type-safe HTML templating engine and UI framework for Go. It provides a system for building reusable HTML components that compile into Go code for server-side rendering, ensuring type safety and compile-time validation of data and logic. The project features a dedicated language server that provides autocomplete and syntax validation for template files within supported code editors. It employs compile-time code generation to transform a custom template language into Go source code, enabling the creation of modular HTML fragments and logic blocks. The framework includes automated s

    Gogohtml-elementshtmx
    Auf GitHub ansehen↗10,358
  • gogo/protobufAvatar von gogo

    gogo/protobuf

    5,669Auf GitHub ansehen↗

    This project is a Protocol Buffers Go compiler and code generation framework that translates schema definitions into optimized Go structures and reflection-free serialization methods. It includes a gRPC service generator for producing client and server communication code and a serialization performance toolkit for generating automated benchmarks and test suites. The framework features a plugin-based system for transforming data definitions into source code with custom field mapping and struct tag injection. It allows for custom type mapping and struct type overriding to link data fields to sp

    Gogogolanggrpc
    Auf GitHub ansehen↗5,669
  • ets-labs/python-dependency-injectorAvatar von ets-labs

    ets-labs/python-dependency-injector

    4,805Auf GitHub ansehen↗

    This is a dependency injection framework and inversion of control container for Python. It decouples object creation from business logic by managing how services and their dependencies are assembled, delivered, and linked within an application. The framework is distinguished by its ability to perform automated component wiring, using import hooks and decorators to inject dependencies into functions and classes across different modules. It supports non-blocking flows through an asynchronous dependency resolver and manages the initialization and shutdown sequences of shared external resources a

    Pythonaiohttpasynciodependency-injection
    Auf GitHub ansehen↗4,805
  • Alle 30 Alternativen zu Wire anzeigen→