awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
vugu avatar

vugu/vugu

0
View on GitHub↗
5,000 stars·174 forks·Go·MIT·44 viewswww.vugu.org↗

Vugu

Vugu is a Go WebAssembly UI library and framework used to build type-safe, component-based single-page applications. It functions as a single-file component framework that bundles markup, styles, and logic into modular units, utilizing a virtual DOM engine to synchronize state changes with the browser output.

The project features a Go component generator that converts custom UI templates into executable Go source code at compile time. It distinguishes itself through a WebAssembly-based runtime that executes application logic as a compiled binary in the browser and a server-side rendering tool to generate static HTML for improved initial load times.

The framework covers a broad range of capabilities including file-based routing, component lifecycle management, and state-driven UI synchronization. It provides primitives for component composition, event handling, and dynamic data binding, supported by a development server and build automation for binary size optimization.

Features

  • Single File Components - Bundles markup, styling, and logic within single files to encapsulate modular user interface units.
  • WebAssembly Frontend Frameworks - Provides a full framework for building interactive web user interfaces that execute as compiled Go binaries in the browser via WebAssembly.
  • Source Code Generators - Transforms custom UI template files into executable Go source code via a command line tool.
  • Compile-Time Code Generation - Converts custom component templates into executable Go source code during the build process to ensure type safety.
  • Single Page Applications - Provides a comprehensive framework for building web applications that load a single document and update content dynamically.
  • Compiled Binary Interfaces - Renders user interfaces in the browser using a compiled WebAssembly binary to execute application logic instead of scripts.
  • Component Tree Organizations - Organizes interface elements into a hierarchical structure starting from a single root to render complete pages.
  • DOM Synchronization - Synchronizes internal application state with the browser's document object model by applying minimal necessary changes.
  • Reusable UI Components - Defines interface elements in dedicated files to create modular, reusable building blocks for the application.
  • Virtual DOM Engines - Implements a rendering engine that manages UI updates through the reconciliation of virtual element trees.
  • Component-Based Web Frameworks - Organizes user interfaces into self-contained files that bundle markup, styles, and logic.
  • UI State Synchronization - Tracks modifications to data fields to trigger targeted refreshes of the component visual output.
  • Static UI Renderings - Generates HTML content on the server or during tests without requiring a browser environment.
  • Type-Safe UI Frameworks - Implements a UI development paradigm where templates and logic are compiled into Go source code to ensure type safety.
  • Virtual DOM Reconciliation - Utilizes a virtual DOM engine to minimize browser updates by comparing virtual and actual UI states.
  • Virtual DOM Reconciliation - Updates the browser output efficiently by comparing a virtual representation of components and applying minimal changes.
  • WebAssembly Compilation - Packages Go source code into a WebAssembly module for execution directly in the browser.
  • WebAssembly Runtimes - Executes application logic as a compiled binary within a WebAssembly runtime in the browser.
  • WebAssembly UI Libraries - Serves as a comprehensive library for creating web user interfaces using Go compiled to WebAssembly.
  • Wasm Binary Size Reduction - Uses specialized compilation to produce compact WebAssembly binaries for faster web loading.
  • UI Template Generators - Includes a specialized generator that converts custom UI templates into type-safe Go source code at compile time.
  • UI State Change Tracking - Tracks modifications to data fields to trigger targeted refreshes of the component visual output.
  • Component Definitions - Allows embedding state and behavior using Go structures and methods directly within user interface files.
  • DOM Property Assignments - Sets properties on browser elements by mapping expressions to values through standard data marshaling.
  • Dynamic Content Bindings - Outputs dynamic expressions as text or raw HTML within an element's body.
  • Component Events - Implements architectural patterns for triggering logic calls from child components to parents using handler interfaces.
  • Form Input Handling - Synchronizes user input from form elements directly with the application state.
  • List Element Rendering - Generates multiple UI elements by iterating over collections using loop and range expressions.
  • Component Lifecycle Management - Provides mechanisms to execute logic during component initialization, pre-render, post-render, and destruction.
  • Component Styling - Allows embedding CSS rules directly within components to bundle styles with markup.
  • Conditional Rendering - Dynamically mounts or removes UI elements based on the evaluation of logic expressions.
  • Application Route Managers - Provides a system to map browser URLs to specific UI components to manage navigation within the application.
  • Attribute Binding - Updates HTML attributes using dynamic expressions to support various types and custom attribute lists.
  • DOM & Event Handling - Provides tools for interacting with the DOM and triggering functions in response to browser events with access to event context.
  • Component Composition - Supports nesting elements within other elements using static or dynamic references to build complex interface hierarchies.
  • File-System Based Routing - Maps browser URLs to specific UI components based on the directory structure of template files.
  • Server-Side Rendering - Generates HTML on the server to improve initial page load times and search engine optimization.
  • Desktop and GUI Development - WebAssembly UI framework.

Star history

Star history chart for vugu/vuguStar history chart for vugu/vugu

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does vugu/vugu do?

Vugu is a Go WebAssembly UI library and framework used to build type-safe, component-based single-page applications. It functions as a single-file component framework that bundles markup, styles, and logic into modular units, utilizing a virtual DOM engine to synchronize state changes with the browser output.

What are the main features of vugu/vugu?

The main features of vugu/vugu are: Single File Components, WebAssembly Frontend Frameworks, Source Code Generators, Compile-Time Code Generation, Single Page Applications, Compiled Binary Interfaces, Component Tree Organizations, DOM Synchronization.

Which projects share features with vugu/vugu?

Projects with overlapping indexed features include: midudev/preguntas-entrevista-react — This project is a technical study resource and interview preparation guide focused on the React library. It provides a… facebook/react — React is a JavaScript library for building user interfaces based on a component-driven architecture and unidirectional… vuejs/v2.vuejs.org — This is the comprehensive documentation website for the Vue 2 progressive JavaScript framework. It serves as a… day8/re-frame — re-frame is a functional framework for building single-page applications in ClojureScript. It provides a centralized,… ripple-ts/ripple — Ripple is a full-stack TypeScript web framework and reactive UI library used for building interfaces with server-side… infernojs/inferno — Inferno is a virtual DOM UI library and high-performance DOM renderer used for building component-based user…

Projects sharing features with Vugu

These projects share indexed features with Vugu. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • midudev/preguntas-entrevista-reactmidudev avatar

    midudev/preguntas-entrevista-react

    7,785View on GitHub↗

    This project is a technical study resource and interview preparation guide focused on the React library. It provides a comprehensive frontend interview question bank and concept references designed to help developers master core library primitives and prepare for professional job interviews. The resource covers detailed explanations of React's technical architecture, including state management patterns, performance optimization strategies, and component design. It serves as a knowledge assessment tool for developers to test their understanding of modern frontend engineering through a structur

    JavaScripthacktoberfestjavascriptreact
    View on GitHub↗7,785
  • facebook/reactfacebook avatar

    facebook/react

    245,669View on GitHub↗

    React is a JavaScript library for building user interfaces based on a component-driven architecture and unidirectional data flow.

    JavaScriptjavascriptuifrontend
    View on GitHub↗245,669
  • vuejs/v2.vuejs.orgvuejs avatar

    vuejs/v2.vuejs.org

    4,981View on GitHub↗

    This is the comprehensive documentation website for the Vue 2 progressive JavaScript framework. It serves as a technical reference and development guide for building reactive user interfaces and single-page applications. The site provides a detailed JavaScript API reference and a web component directory. It covers the implementation of component-based architectures, reactive state management, and the use of a virtual DOM to synchronize application state with the browser. The documentation details capabilities including client-side routing, declarative DOM manipulation, and frontend build opt

    JavaScript
    View on GitHub↗4,981
  • day8/re-frameday8 avatar

    day8/re-frame

    5,532View on GitHub↗

    re-frame is a functional framework for building single-page applications in ClojureScript. It provides a centralized, immutable database that serves as the single source of truth for the entire application state, enforcing a strict unidirectional data flow where events trigger state transitions and subsequent view updates. The framework distinguishes itself through a reactive signal graph and an interceptor-based middleware pipeline. By treating application logic as a sequence of data-driven events and declarative side effects, it decouples business logic from the view layer. This architectur

    Clojureclojurescriptre-framereact
    View on GitHub↗5,532
Compare all 30 related projects→