38 Repos
Architectures that use messaging to manage UI state and interactions.
Distinguishing note: Focuses on the architectural pattern for event-driven UI.
Explore 38 awesome GitHub repositories matching user interface & experience · Event-Driven UI Frameworks. Refine with filters or upvote what's useful.
This project is an Android messaging application and a client implementation of the MTProto protocol. It serves as a native mobile interface for real-time communication and file sharing on the Android operating system. The application functions as a client that connects to the Telegram MTProto protocol to facilitate the transmission of encrypted text and media messages between users. The system includes capabilities for secure mobile communication, messaging API integration, and the implementation of client-side logic for connecting to a centralized messaging backend.
Updates the user interface in real-time by reacting to incoming network packets and background service notifications.
Backbone is a JavaScript MVC framework and client-side data orchestrator used to structure web applications. It functions as an event-driven UI library and RESTful state manager that synchronizes data models with remote JSON interfaces to maintain consistent application state. The framework coordinates communication between application components through a decoupled event system. It binds data updates directly to the document object model, ensuring that the user interface remains synchronized with the underlying state. It provides tools for frontend data organization, allowing developers to
Coordinates communication between application components using a decoupled event system to trigger automatic UI updates.
MagicMirror is an open source framework for creating personalized information dashboards, specifically designed for use as a modular smart mirror platform and a plugin-based dashboard framework. It functions as a system for aggregating data feeds and modular components to create a centralized information hub. The platform utilizes a module-based plugin architecture that allows for the development and integration of custom third-party plugins through a standardized interface. This extensibility enables the creation of personalized displays and custom data widgets. The system supports a headle
Synchronizes the user interface in real-time by broadcasting state changes from the server to connected clients via sockets.
This project is a cross-window 3D visualization system that maintains a consistent scene state across multiple open browser instances. It utilizes a local storage state synchronizer to share real-time application data between different browser tabs. The system coordinates Three.js environments by syncing the internal scene graph, camera angles, and object positions. It achieves this through event-driven state propagation, allowing updates in one window to be reflected in all others without a dedicated backend server. The implementation includes window lifecycle management to track the creati
Implements a synchronizer that shares real-time application state between tabs via the localStorage API.
Reactotron is a desktop application and collection of developer tools designed for monitoring runtime errors, analyzing network requests, and inspecting state within JavaScript and React environments. It serves as a debugger for both React JS and React Native projects, providing a visual interface to monitor internal application state and performance. The tool provides specialized inspectors for React Native mobile applications and React web applications. It allows for the real-time tracking of state changes and the dispatching of actions to a state manager to test different application scena
Maintains a synchronized local copy of the application state for real-time inspection without querying the client.
This project provides an open-source firmware platform and complete build environment for portable multi-tool hardware. It functions as an embedded operating system designed to manage radio, infrared, and physical interface components, enabling users to develop custom applications and system logic for specialized hardware devices. The firmware distinguishes itself through a modular architecture that organizes system functionality into isolated units, allowing for the development of custom user interfaces and logic. It includes a comprehensive collection of low-level drivers and applications s
Processes user input and state changes through an event loop to refresh the graphical interface.
Easydict is a macOS dictionary and translator application that integrates system dictionaries, external translation services, and Large Language Models such as OpenAI and Gemini. It functions as an OCR text extractor and a text-to-speech reader, allowing users to look up words and translate text directly on the desktop. The application features a local OCR engine that captures screen areas to recognize and translate text that cannot be highlighted or copied. It utilizes a provider-agnostic translation pipeline and adapter-based service integration to standardize responses from various cloud a
Uses an event-driven architecture to refresh translation views immediately upon receipt of asynchronous API results.
Subtitle Edit is a desktop application designed for the creation, synchronization, and adjustment of text-based subtitle files. It provides a graphical interface for managing subtitle workflows, allowing users to modify content and formatting to ensure accurate display during video playback. The application distinguishes itself through a specialized synchronization workflow that utilizes visual waveform displays to align subtitle timestamps with audio and video cues. It supports a wide range of industry-standard file formats, enabling users to convert subtitle data to ensure compatibility acr
Implements an event-driven graphical interface using traditional desktop framework components.
assistant-ui ist eine React-UI-Bibliothek und ein Framework für den Aufbau von Konversations-Interfaces, die Benutzer mit Large Language Models verbinden. Es bietet ein Standard-Runtime-Interface zur Verwaltung von Message-Streaming und Datenfluss zwischen Chat-Interfaces und KI-Backends, ergänzt durch ein Command-Line-Tool für Projekt-Scaffolding und Styling. Das Projekt konzentriert sich auf generatives UI-Rendering, das strukturierte Tool-Calls und Daten eines Sprachmodells in interaktive visuelle Komponenten umwandelt. Es nutzt eine provider-agnostische Adapterschicht, um die Kommunikation über verschiedene KI-Backend-Protokolle hinweg zu standardisieren. Das Framework deckt ein breites Spektrum an Funktionen ab, einschließlich Konversations-Statusmanagement und History-Persistenz. Es bietet modulare Primitive für das Design von Konversations-Interfaces mit Unterstützung für Markdown-Rendering, Auto-Scrolling und Sprachdiktat.
Synchronizes the UI state in real time by processing incoming data chunks from the AI runtime.
Druid is a native user interface toolkit and 2D graphics engine for the Rust programming language. It functions as a retained-mode, data-driven framework for building graphical user interfaces that run across Linux, macOS, and web browsers via WebAssembly. The toolkit distinguishes itself through a data-first approach to UI design, utilizing lenses to isolate subsets of global application state and synchronize them with specific widgets. This allows the visual layout to update automatically when the underlying data model changes. Its capability surface includes a constraint-based box layout
Utilizes an architectural pattern where UI state and interactions are managed through a system of commands and messages.
Builder is a visual content management system and design-to-code tool that transforms visual layouts into functional code for frontend frameworks. It operates as a headless visual editor, allowing for the creation and modification of site layouts through a drag-and-drop interface. The system enables the conversion of design mockups into components for React, Vue, Svelte, and Qwik applications. It decouples layout and design management from the frontend rendering engine, allowing users to update and publish content changes to live applications without redeploying the entire codebase. The plat
Syncs the visual editor state with a live preview via a messaging layer for instant updates.
GRDB.swift is a comprehensive SQLite toolkit and object-relational mapper for Swift. It provides a database wrapper that handles local data persistence, connection management, and encrypted file storage for Apple platforms. The library features a dedicated observation framework that tracks database changes to automatically synchronize the application state and user interface in real time. It distinguishes itself with a type-safe query builder and a protocol-based mapping system that converts database rows into structured Swift objects. The toolkit covers a broad range of administrative and o
Observes database changes to automatically synchronize the application state and user interface in real time.
Pikaday is a lightweight JavaScript datepicker library and client-side date input manager. It provides a standalone calendar interface for selecting dates in web applications as a zero-dependency UI component that operates without external frameworks or libraries. The tool features a modular CSS architecture that separates structural logic from visual presentation, allowing for flexible customization of the calendar layout. It includes built-in support for calendar localization, enabling the update of month names and weekday labels to match specific languages or regions. The library manages
Uses a dedicated event listener system to bind the picker's lifecycle to input focus and click events.
A Dark Room is a minimalist text-based survival game that blends incremental resource management with an atmospheric narrative adventure. It functions as a resource management simulation where players collect and spend limited materials to ensure survival within a text-driven environment. The experience focuses on atmospheric horror, utilizing a minimalist interface to build tension and isolation. The gameplay features a branching narrative that evolves based on player decisions and the successful management of survival mechanics, such as a fire maintenance system requiring wood consumption t
Refreshes specific text elements on the screen only when an internal state change triggers a redraw.
tui.image-editor is a JavaScript image manipulation library and web-based photo editor. It provides a browser-based interface for cropping, resizing, and applying filters to images using the HTML5 Canvas API. The project is distinguished by its role as a canvas-based annotation tool, allowing users to add text, shapes, and freehand drawings as graphic overlays. It offers extensive UI customization through theme configuration, interface text localization, and the ability to replace default icons with custom SVG files. The library covers geometry manipulation, visual filter application, and im
Provides a programmable interface that uses callbacks to notify external applications of user interactions and image changes.
Awesomplete is a lightweight JavaScript library for adding searchable suggestion lists to text fields. It functions as an HTML-based autocomplete widget that renders filtered results from arrays, HTML elements, or comma-separated strings with zero external dependencies. The library includes a customizable suggestion engine that allows for the definition of custom matching logic, sorting rules, and trigger thresholds. It is designed as an event-driven UI component, providing a programmable interface to intercept selection events and manage the state of the suggestion popup. The system support
Provides a programmable interface with callbacks for intercepting selection events and managing popup state.
vue-multiselect is a selection component for Vue.js that provides a customizable dropdown input supporting single and multiple selection. It functions as a selection field that allows users to pick multiple options from a list simultaneously and as a tagging input for creating and adding custom labels to a collection. The component supports asynchronous data loading to fetch selection options from a remote API or data source on demand. It includes built-in search filtering to process queries against the options list and dynamically hide non-matching items. The project covers the development
Implements a programmable interface that uses events to notify parent components of selection changes.
This project is a production-ready starter kit and boilerplate for building multi-tenant software-as-a-service applications using .NET and React. It provides a multi-tenant application framework and a cloud-native infrastructure kit designed to support scalable cloud services. The project distinguishes itself through a modular monolith architecture that organizes business logic into isolated bounded contexts to prevent code entanglement. It implements comprehensive SaaS identity management, including role-based access control, account impersonation, and strict tenant data isolation across the
Maintains synchronized application state by pushing live server-side updates to the client via persistent connections.
Flight is a JavaScript component framework and DOM interactivity library used to map behavioral logic to HTML nodes. It provides an event-driven architecture for building modular user interface elements and managing web application interactivity. The library distinguishes itself through a mixin-based system for injecting reusable functions and properties into components, promoting code reuse without rigid inheritance. It further enables behavior modification via function hooking, allowing developers to wrap existing methods to inject custom logic without altering the original source code. Th
Implements an architecture that coordinates decoupled components through a centralized event trigger and subscription system.
Rivet ist eine verteilte Infrastruktur zur Verwaltung des Lebenszyklus, der Adressierung und der Persistenz von zustandsbehafteten Akteuren (Actors) und dauerhaften Ausführungs-Engines. Es bietet eine verteilte Prozess-Sandbox, die Anwendungslogik innerhalb leichtgewichtiger Isolates ausführt, was Ressourcenisolierung und schnelle Kaltstarts gewährleistet. Das System ist darauf ausgelegt, mehrstufige Operationen mittels persistenter Queues und Timer zu koordinieren, um eine zuverlässige Aufgabenerledigung in verteilten Umgebungen zu garantieren. Die Plattform ermöglicht spezifisch die Orchestrierung von zustandsbehafteten KI-Agenten, die persistentes Gedächtnis und Status über lang laufende Interaktionen und komplexe Workflows hinweg beibehalten. Sie zeichnet sich durch ein WebSocket-Status-Synchronisations-Framework aus, das Frontend-UI-Komponenten über bidirektionale Echtzeitkommunikation an entfernte zustandsbehaftete Prozesse bindet. Das System deckt ein breites Spektrum an Funktionen ab, einschließlich hierarchischer Akteur-Adressierung, einer Hibernate-on-Idle-Laufzeit zur Ressourcenoptimierung und einer austauschbaren Persistenzschicht für modulare Speicher-Backends. Es enthält zudem Tools für aktives Session-Debugging, Echtzeit-Überwachung des Ausführungsstatus und automatisierte Bereitstellungsoptionen für Edge-, Cloud- oder private Infrastrukturen. Das Projekt ist in Rust implementiert und unterstützt die Akteur-Entwicklung in mehreren Sprachen.
Integrates real-time stateful backend logic with client-side interfaces for seamless application state synchronization.