awesome-repositories.com
المدونة
awesome-repositories.com

اكتشف أفضل مستودعات المصادر المفتوحة باستخدام بحث مدعوم بالذكاء الاصطناعي.

استكشفعمليات بحث منسقةبدائل مفتوحة المصدربرمجيات ذاتية الاستضافةالمدونةخريطة الموقع
المشروعحولكيفية ترتيب النتائجالصحافةخادم MCP
قانونيالخصوصيةالشروط
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
google avatar

google/wireArchived

0
View on GitHub↗
14,403 نجوم·738 تفرعات·Go·Apache-2.0·1 مشاهدة

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.

سجل النجوم

مخطط تاريخ النجوم لـ google/wireمخطط تاريخ النجوم لـ google/wire

بحث بالذكاء الاصطناعي

استكشف المزيد من المستودعات الرائعة

صف ما تحتاجه بلغة بسيطة — وسيقوم الذكاء الاصطناعي بترتيب آلاف المشاريع مفتوحة المصدر المنسقة حسب الصلة.

Start searching with AI

بدائل مفتوحة المصدر لـ Wire

مشاريع مفتوحة المصدر مشابهة، مرتبة حسب عدد الميزات المشتركة مع Wire.
  • evant/kotlin-injectالصورة الرمزية لـ evant

    evant/kotlin-inject

    1,503عرض على GitHub↗

    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
    عرض على GitHub↗1,503
  • a-h/templالصورة الرمزية لـ a-h

    a-h/templ

    10,358عرض على GitHub↗

    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
    عرض على GitHub↗10,358
  • gogo/protobufالصورة الرمزية لـ gogo

    gogo/protobuf

    5,669عرض على GitHub↗

    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
    عرض على GitHub↗5,669
  • ets-labs/python-dependency-injectorالصورة الرمزية لـ ets-labs

    ets-labs/python-dependency-injector

    4,805عرض على GitHub↗

    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
    عرض على GitHub↗4,805
عرض جميع البدائل الـ 30 لـ Wire→

الأسئلة الشائعة

ما هي وظيفة 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.

ما هي الميزات الرئيسية لـ google/wire؟

الميزات الرئيسية لـ google/wire هي: 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.

ما هي البدائل مفتوحة المصدر لـ google/wire؟

تشمل البدائل مفتوحة المصدر لـ google/wire: 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…