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
DMQ avatar

DMQ/mvvm

0
View on GitHub↗
5,190 stars·1,229 forks·CSS·38 views

Mvvm

This project is a custom implementation of the Model-View-ViewModel pattern designed to replicate the core reactivity and template parsing of the Vue framework. It functions as a data-binding engine, a reactive state manager, and a custom template compiler.

The framework employs a system for synchronizing model state with DOM elements through property interception and an observer pattern. It uses a parser to scan DOM elements for directives, replacing placeholders and binding data to view nodes to achieve two-way data synchronization.

The system covers reactive data binding and the development of a template compiler that identifies custom directives in HTML to dynamically inject data and manage updates.

Features

  • Two-Way Data Binding - Implements a system that automatically synchronizes changes between data models and UI views in both directions.
  • Data Change Listeners - Provides mechanisms that monitor and respond to modifications in data fields using getters and setters.
  • MVVM Patterns - Implements the Model-View-ViewModel architectural pattern to separate business logic from the user interface.
  • Property Interception - Intercepts object property access using getters and setters to notify subscribers of value modifications.
  • Data Binding Engines - Implements an engine for synchronizing application state with user interface properties.
  • Reactive State Managers - Provides a mechanism that synchronizes application data across components via automatic change tracking.
  • State-to-DOM Mappings - Binds HTML element placeholders to internal state objects during the initial template compilation process.
  • Attribute-Based Directives - Implements mechanisms for binding logic and state to HTML elements via custom attribute directives.
  • Custom Directives - Provides mechanisms for attaching reusable logic and data bindings to DOM elements via custom directives.
  • Directive Parsing - Develops a parser that identifies custom directives in HTML to dynamically inject data and manage DOM updates.
  • MVVM Framework Implementations - Implements a custom MVVM framework replicating the core reactivity and template parsing of Vue.
  • Reactive Data Binding - Provides mechanisms that automatically synchronize user interface state with underlying data sources.
  • Directive-to-DOM Compilers - Provides a parser that scans DOM elements for directives to replace placeholders and bind data.
  • Observation-Based Rendering - Provides a rendering system that triggers view updates automatically when observed properties change.
  • Model Property Proxies - Connects instance properties to an internal data object to trigger updates through a data observer.
  • Framework Re-implementations - Provides a custom implementation of the Vue framework to demonstrate core reactivity and template parsing.

Star history

Star history chart for dmq/mvvmStar history chart for dmq/mvvm

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

Projects sharing features with Mvvm

These projects share indexed features with Mvvm. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • didi/mpxdidi avatar

    didi/mpx

    3,905View on GitHub↗

    MPX is a cross-platform framework designed to build applications for multiple mini-program ecosystems and the web from a single codebase. It utilizes a static transpilation pipeline to transform source code into platform-specific bundles, employing a single-file component system that encapsulates templates, logic, and styles. The framework provides a reactive state management system that automatically synchronizes application data with the user interface through computed properties and watchers. The project distinguishes itself through a robust build-time toolchain that supports sub-package p

    JavaScript
    View on GitHub↗3,905
  • vuejs/vuevuejs avatar

    vuejs/vue

    209,900View on GitHub↗

    Vue is a progressive, component-based JavaScript framework designed for building reactive user interfaces and single-page applications. It centers on a declarative template system that transforms HTML into efficient render functions, allowing developers to organize complex interfaces into isolated, reusable units that synchronize automatically with application state. The framework distinguishes itself through a dependency-tracking reactivity system that monitors data access during rendering to trigger precise updates. It provides a flexible architecture that supports both incremental adoption

    TypeScriptframeworkfrontendjavascript
    View on GitHub↗209,900
  • knockout/knockoutknockout avatar

    knockout/knockout

    10,549View on GitHub↗

    Knockout is a client-side UI library and JavaScript framework used to create responsive web interfaces. It functions as a declarative data binding library and an observable data model system that decouples business logic from the document object model. The project implements the Model-View-ViewModel pattern to separate application logic from the user interface. It synchronizes data models with visual views by linking internal JavaScript properties to HTML elements, allowing the interface to update automatically when underlying data changes. The framework provides capabilities for dynamic fro

    JavaScript
    View on GitHub↗10,549
  • jonataslaw/getjonataslaw avatar

    jonataslaw/get

    11,181View on GitHub↗

    Get is a framework for Flutter that provides a comprehensive toolkit for dependency injection, internationalization, route management, and reactive state management. It includes a UI utility kit for handling themes, adaptive layouts, and the display of overlays such as snackbars and dialogs. The framework is distinguished by its ability to perform navigation and overlay management without requiring a build context. It also features a dependency injection container that manages the memory lifecycle of controllers and services, and a localization system that maps keys to strings to update appli

    Dart
    View on GitHub↗11,181
Compare all 30 related projects→

Frequently asked questions

What does dmq/mvvm do?

This project is a custom implementation of the Model-View-ViewModel pattern designed to replicate the core reactivity and template parsing of the Vue framework. It functions as a data-binding engine, a reactive state manager, and a custom template compiler.

What are the main features of dmq/mvvm?

The main features of dmq/mvvm are: Two-Way Data Binding, Data Change Listeners, MVVM Patterns, Property Interception, Data Binding Engines, Reactive State Managers, State-to-DOM Mappings, Attribute-Based Directives.

Which projects share features with dmq/mvvm?

Projects with overlapping indexed features include: didi/mpx — MPX is a cross-platform framework designed to build applications for multiple mini-program ecosystems and the web from… vuejs/vue — Vue is a progressive, component-based JavaScript framework designed for building reactive user interfaces and… knockout/knockout — Knockout is a client-side UI library and JavaScript framework used to create responsive web interfaces. It functions… bigskysoftware/_hyperscript — Hyperscript is a DOM manipulation library and HTML scripting language that functions as a logic engine and reactive UI… jonataslaw/get — Get is a framework for Flutter that provides a comprehensive toolkit for dependency injection, internationalization,… mimecorg/vuido — Vuido is a framework for building native desktop applications for Windows, macOS, and Linux using Vue.js components,…