awesome-repositories.com
Blog
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoAcerca deCómo clasificamosPrensaServidor MCP
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
ractivejs avatar

ractivejs/ractive

0
View on GitHub↗
5,920 estrellas·394 forks·JavaScript·MIT·5 vistasractive.js.org↗

Ractive

Ractive is an open-source JavaScript framework for building reactive user interfaces where the DOM automatically updates when underlying data changes. It is fundamentally a declarative data binding library that synchronizes data between the model and the view, enabling two-way binding without manual DOM manipulation, and operates as a template-based component system for composing markup, styles, and logic into reusable UI components.

The framework distinguishes itself through a plugin-extensible architecture that allows custom components, adaptors, and extensions to be registered without modifying the core library. It employs a virtual DOM diffing approach to compute minimal changes between virtual tree snapshots after data mutations, and includes a transition animation engine for animating element insertion and removal using CSS transitions and JavaScript callbacks coordinated with DOM updates. Ractive also features an adaptor-based data binding system that connects external data sources through pluggable adaptors, an event delegation system that attaches listeners to parent elements, and a mustache-based template compilation pipeline that compiles HTML templates into virtual DOM trees.

The framework supports composing reusable components that encapsulate templates, styles, and logic, with scoped CSS to prevent style leakage across the page. It provides reactive data updates that change only affected DOM nodes without full re-rendering, two-way form binding that links data models to form inputs, and declarative event handling with a straightforward syntax. Ractive also includes built-in support for animating DOM elements as they appear, change, or leave, including SVG elements and custom animation sequences.

Features

  • Two-Way Data Binding - Fundamentally a declarative data binding library that synchronizes data between model and view with two-way binding.
  • Mustache-Based - Compiles HTML templates with mustache-style bindings into a virtual DOM tree for efficient updates.
  • State Transition Animators - Tracks and tweens numerical state changes to facilitate smooth visual transitions when data updates.
  • Data-Driven State Transitions - Ships a transition animation engine that coordinates CSS and JS animations with DOM updates on data changes.
  • Extensible Plugin Architectures - Registers custom components, adaptors, and extensions through a plugin system to extend the framework.
  • Adaptor-Based Data Binding - Provides pluggable adaptors that connect external data sources to the reactive binding system.
  • Reusable Component Architectures - Composes markup, logic, and styles into self-contained units that nest and reuse across an application.
  • Component Templating Systems - Composes templates, styles, and logic into reusable UI components with automatic reactivity.
  • Data-Reactive Element Animators - Provides built-in animation support that transitions elements smoothly when data changes.
  • Event Handling - Ships declarative event handling with straightforward syntax for attaching listeners to elements.
  • Form Data Binding - Links a data model to form inputs so changes in either side instantly reflect in the other without manual synchronization.
  • Data-Driven Element Animations - Provides built-in animation of DOM elements triggered by data changes, including SVG and custom sequences.
  • Reactive Data Bindings - Automatically synchronizes user interface components with underlying data state changes.
  • Reactive UI Frameworks - An open-source JavaScript framework for building reactive user interfaces that automatically update on data changes.
  • Reactive UI Updates - Automatically updates the DOM when underlying data changes using declarative templates and two-way binding.
  • Template-Based Reactive Compositions - Composes templates, styles, and logic into reusable components that update automatically when data changes.
  • Reusable UI Components - Encapsulates markup, logic, and scoped styles into self-contained reusable UI components.
  • Template Data Binding - Inserts variable placeholders in markup and populates them with initial values from a data object.
  • Component Composition - Enables composing reusable UI components that encapsulate templates, styles, and logic.
  • DOM Element Data Binding - Links template values to specific DOM elements for automatic view synchronization without manual manipulation.
  • Declarative Data Binding Systems - Provides a declarative data binding system that synchronizes application state with the DOM automatically.
  • Template Data Binding - Inserts variable placeholders in HTML templates and populates them with data passed during initialization.
  • Reactive Binding Updates - Changes a data property on an existing view and instantly updates only the affected DOM nodes without re-rendering.
  • Reactive Template Compilers - Compiles mustache-based HTML templates into virtual DOM trees that automatically update when data changes.
  • Virtual DOM Diffing - Updates the real DOM by computing minimal changes between virtual tree snapshots after data mutations.
  • DOM Animation Workflows - Provides a built-in transition animation engine for animating element insertion, removal, and state changes.
  • Transition Animation Engines - Animates element insertion and removal using CSS transitions and JavaScript callbacks coordinated with DOM updates.
  • UI Transition Animations - Animates DOM elements as they appear, change, or leave using flexible, performant transitions.
  • Custom Plugin Registrations - Registers custom components, adaptors, and other extensions through a plugin system to extend the library.
  • Event Handling - Attaches event listeners to elements with a straightforward declarative syntax.
  • Plugin Extenders - Adds custom functionality through a plugin system that integrates seamlessly with the core library.
  • Plugin Frameworks - Allows extending the framework with custom components, adaptors, and plugins through a registration system.
  • Dirty Checking Mechanisms - Detects data changes by comparing current values against previous snapshots during a digest cycle.
  • DOM Event Listeners - Attaches listeners to interface elements to execute code in response to user or system events.
  • Component Styling - Applies CSS that is scoped to individual components to prevent style leakage across the page.
  • Virtual DOM Engines - Employs virtual DOM diffing to compute minimal changes between virtual tree snapshots after data mutations.
  • Event Delegation Systems - Attaches event listeners to parent elements and dispatches them to child targets based on selector matching.
  • Reactive SVG Renderers - Creates and updates SVG elements declaratively within the same reactive component model.
  • MVC Frameworks - Next-generation DOM manipulation library.
  • Web Frameworks - Next-generation DOM manipulation.
  • JavaScript 框架汇总 - Listed in the “JavaScript 框架汇总” section of the Awesome Frontend awesome list.

Historial de estrellas

Gráfico del historial de estrellas de ractivejs/ractiveGráfico del historial de estrellas de ractivejs/ractive

Búsqueda con IA

Explora más repositorios increíbles

Describe lo que necesitas en lenguaje sencillo: la IA clasifica miles de proyectos open-source curados por relevancia.

Start searching with AI

Alternativas open-source a Ractive

Proyectos open-source similares, clasificados según cuántas características comparten con Ractive.
  • ygs-code/vueAvatar de ygs-code

    ygs-code/vue

    7,321Ver en GitHub↗

    This project is a technical study guide and architectural analysis of the Vue.js framework. It serves as an educational resource for understanding the implementation of a reactive framework, providing source code analysis and architectural visualizations to explain the internal workings of the Model-View-ViewModel pattern. The project focuses on the mechanics of reactive framework implementation, specifically how dependency tracking, getters, and setters are used to synchronize state with a user interface. It includes detailed examinations of the virtual DOM and the process of reconciling ele

    JavaScript
    Ver en GitHub↗7,321
  • vuejs/vueAvatar de vuejs

    vuejs/vue

    209,900Ver en 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
    Ver en GitHub↗209,900
  • riot/riotAvatar de riot

    riot/riot

    14,921Ver en GitHub↗

    Riot is a component-based library for building user interfaces through modular, single-file components. It functions as a framework for creating reusable elements that combine markup, logic, and scoped styles, which are then compiled into standard JavaScript functions for browser execution. The library distinguishes itself by utilizing direct rendering, which updates the document object model by tracking state changes without the overhead of a virtual representation. It supports server-side rendering and hydration to improve initial page load performance and search engine indexing. Developers

    JavaScriptclient-sidecustomelementcustomelements
    Ver en GitHub↗14,921
  • lit/litAvatar de lit

    lit/lit

    21,679Ver en GitHub↗

    Lit is a library for building lightweight, interoperable web components. It provides a base class that leverages native browser APIs to encapsulate state, logic, and styles, allowing developers to create custom elements that function consistently across any modern web project. The framework distinguishes itself through a reactive property system that automatically triggers efficient, batched DOM updates. By utilizing tagged template literals, it defines declarative UI structures that are compiled into optimized update instructions. Its architecture emphasizes modularity through a reactive con

    TypeScripthtml-templateslitlit-element
    Ver en GitHub↗21,679
Ver las 30 alternativas a Ractive→

Preguntas frecuentes

¿Qué hace ractivejs/ractive?

Ractive is an open-source JavaScript framework for building reactive user interfaces where the DOM automatically updates when underlying data changes. It is fundamentally a declarative data binding library that synchronizes data between the model and the view, enabling two-way binding without manual DOM manipulation, and operates as a template-based component system for composing markup, styles, and logic into reusable UI components.

¿Cuáles son las características principales de ractivejs/ractive?

Las características principales de ractivejs/ractive son: Two-Way Data Binding, Mustache-Based, State Transition Animators, Data-Driven State Transitions, Extensible Plugin Architectures, Adaptor-Based Data Binding, Reusable Component Architectures, Component Templating Systems.

¿Qué alternativas de código abierto existen para ractivejs/ractive?

Las alternativas de código abierto para ractivejs/ractive incluyen: ygs-code/vue — This project is a technical study guide and architectural analysis of the Vue.js framework. It serves as an… vuejs/vue — Vue is a progressive, component-based JavaScript framework designed for building reactive user interfaces and… riot/riot — Riot is a component-based library for building user interfaces through modular, single-file components. It functions… lit/lit — Lit is a library for building lightweight, interoperable web components. It provides a base class that leverages… developit/preact — Preact is a declarative UI library and a lightweight alternative to React for building user interfaces. It utilizes a… kbrsh/moon — Moon is a minimal reactive UI library for building user interfaces with a component composition framework, client-side…