awesome-repositories.com
Blog
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
hotwired avatar

hotwired/turbo

0
View on GitHub↗
7,343 Stars·479 Forks·JavaScript·MIT·4 Aufrufeturbo.hotwired.dev↗

Turbo

Hotwire Turbo is a server-driven navigation and HTML streaming framework that intercepts link clicks and form submissions to fetch pages in the background and replace content without full browser reloads. It provides a Turbo Frame component that scopes page regions into independent contexts, enabling partial page updates where only a specific area of the page navigates or loads content. The framework includes a page cache and morph system that stores recently visited pages for instant restoration and applies minimal DOM changes on refresh, preserving scroll position and element state.

The framework distinguishes itself through real-time HTML streaming capabilities that deliver live page updates over WebSocket or Server-Sent Events using CRUD-like actions, without requiring custom JavaScript. It offers a hybrid native app bridge that wraps server-rendered HTML in native iOS or Android shells, managing a single WebView across multiple screens for seamless transitions between web and native sections. Turbo also provides a view transition animator that activates animated page transitions using the browser's View Transition API with configurable direction.

The framework supports lazy-loading frame content that defers fetching until a frame scrolls into the viewport, link prefetching on hover to reduce perceived navigation latency, and a CSS-based progress bar for visual feedback during navigation. It includes event-driven lifecycle hooks that fire granular events during navigation, rendering, and streaming for custom JavaScript interception, along with observability hooks that expose fetch request and response details. Turbo can be installed via CDN script tag, npm package, or Rails gem, and offers configuration options for disabling Turbo on specific elements, scoping navigation to a path, and extending stream actions with custom behavior.

Features

  • Intercepted Navigation Avoiders - Intercepts link clicks and form submissions to fetch pages in the background, avoiding full browser reloads.
  • Server-Driven Navigation - Intercepts link clicks and form submissions to fetch pages via fetch and replace the body without full page reloads.
  • Persistent Process Navigations - Keeps the browser process alive across navigations by intercepting links and forms to fetch and replace page content.
  • HTML Stream Patchers - Delivers HTML updates to the page in real time via WebSocket or SSE using CRUD-like actions.
  • HTML Streams via WebSocket or SSE - Ships a real-time HTML streaming engine that updates the DOM via WebSocket or SSE without custom JavaScript.
  • Morphing Page Caches - Implements a page cache with morphing diff engine that preserves scroll position and element state on restoration.
  • Stream Action DOM Patchers - Applies CRUD-like DOM actions (append, prepend, replace, etc.) from stream messages over WebSocket or SSE.
  • Broadcast Streams - Broadcasts live updates to all connected clients via WebSocket or SSE streams.
  • Automatic Frame Population - Fetches frame content from a src URL automatically when the frame element appears.
  • Frame-Scoped Page Regions - Ships a Turbo Frame component that scopes page regions into independent navigation contexts for partial updates.
  • Lifecycle Event Hooks - Fires granular events during navigation, rendering, and streaming for custom JavaScript interception.
  • Navigation Acceleration - Replaces full page reloads with faster, partial updates when following links and submitting forms.
  • Automatic Behavior Attachments - Automatically connects JavaScript controllers and actions to DOM elements as they appear from navigation or streams.
  • Server-Side Template Rendering - Uses the same server-rendered templates for both initial load and partial updates.
  • Fetch-Based Page Replacements - Intercepts same-origin link clicks and form submissions to fetch pages via fetch() and replace content without full reloads.
  • Native Webview Embedders - Wraps server-rendered HTML in a native iOS or Android shell for hybrid app navigation.
  • Frame-Scoped Navigations - Scopes navigation to specific frame regions, updating only that area without affecting the rest of the page.
  • Cache-First Restoration Visits - Provides instant page restoration from an in-memory cache during back/forward navigation.
  • Client-Side Page Caching - Stores visited page content in memory to provide instant previews and state restoration.
  • Editable Page Regions - Splits pages into scoped regions that navigate and load content independently.
  • Independent Frame Regions - Splits pages into independent contexts that scope navigation and can be lazily loaded.
  • Scoped Frame Regions - Provides a Turbo Frame component that scopes page regions into independent navigation and content loading contexts.
  • Dynamic Fragment Updates - Replaces only the frame's content with the matching fragment from the server response.
  • DOM Morphing - Ships a DOM morphing engine that applies minimal changes to preserve element state and event listeners.
  • Dynamic Content Loading - Loads page content inside dedicated frame elements so navigation affects only that region.
  • Lifecycle-Driven Form Submissions - Handles form submissions via AJAX with lifecycle events and submitter disabling during the request.
  • Stream-Response Form Submissions - Responds to form submissions with Turbo Streams messages to update multiple page parts without navigation.
  • Real-Time HTML Streams - Provides a framework for streaming HTML updates in real time over WebSocket or SSE with CRUD actions.
  • Background Page Fetches - Intercepts link clicks and form submissions to fetch pages in the background and replace content without full browser reloads.
  • Navigation Preview Caching - Caches page states to enable instant visual previews when navigating the browser history.
  • Frame Lazy Loadings - Loads frame content on demand by fetching a URL and swapping in the matching frame from the response.
  • Real-Time DOM Updates - Delivers HTML fragments from server responses to surgically update the DOM without full page reloads.
  • SSE-Driven DOM Patching - Delivers HTML fragments over WebSocket or SSE to surgically update the DOM without full page reloads.
  • Web-Native Integration Bridges - Connects server-rendered HTML with native iOS and Android views for seamless transitions between web and native sections.
  • HTML Streamers Over WebSocket - Streams HTML updates to the page in real time via WebSocket using CRUD-like actions without custom JavaScript.
  • Frame Escape Navigations - Forces full-page navigation when a frame response lacks a matching frame element.
  • Backend Stream Integrators - Connects to backend stream sources via WebSocket or EventSource to receive live HTML updates.
  • Page Caching Controls - Allows opting out of page caching or forcing a full reload via meta tags in the document head.
  • Cross-Frame Navigation Routing - Routes link clicks or form submissions to navigate a different named frame or the full window.
  • Script Loading on Navigations - Loads additional JavaScript files by appending script elements from the page head during navigation.
  • Version-Triggered Full Reloads - Provides a mechanism to force a full browser reload when a specific page must bypass Turbo Drive navigation.
  • Custom Action Handlers - Overrides default stream action handlers to add new actions or modify how existing actions render.
  • Navigation Event Tracking - Fires a series of events during navigation to set up JavaScript behavior after every page change.
  • Morph vs Replace Behaviors - Provides meta-tag configuration to choose between morphing and scroll-preserving page refreshes.
  • CSS Selector Target Actions - Applies the same stream action to all elements matching a CSS selector for bulk updates.
  • Cross-Page Element Persistence - Marks elements with a data attribute to preserve their state and event listeners when navigating between pages.
  • Loading Progress Bars - Displays a CSS-based progress bar during navigation to provide visual feedback while a page loads.
  • Destructive Action Confirmation Dialogs - Shows a confirmation dialog before submitting forms or following links that perform non-GET requests.
  • Programmatic Page Visits - Offers a programmatic API to initiate application visits to URLs with advance or replace history actions.
  • Broadcast-Triggered Refreshes - Triggers a page refresh from the server via a Turbo Stream action, with optional morph or replace behavior.
  • Predictive Link Prefetching - Loads a linked page into the cache when the user hovers over it to reduce perceived navigation latency.
  • Scroll Restoration - Restores saved scroll position when loading pages from cache or network during back/forward navigation.
  • Refresh Scroll Preservers - Preserves scroll position when a page refresh occurs, preventing the page from jumping to the top.
  • Frame-to-History Promotion - Updates browser URL and history when frame content changes via a data attribute.
  • Targeted Frame Navigation - Redirects navigation to a specific frame or full page via target attributes on links or forms.
  • View Transition Animations - Activates animated page transitions using the browser's View Transition API with configurable direction.
  • Proactive Cache Preloaders - Preloads linked pages into the cache on hover so the first visit feels instant.
  • Idempotent Transformations - Ensures HTML transformations are idempotent, preventing duplication when applied after cache restores.
  • Frame Morphing - Reloads Turbo Frames using morphing for smooth updates of dynamic content like pagination.
  • Asynchronous Form Submissions - Follows HTTP 303 redirects from form submissions to update the page without a full reload.
  • Navigation Scope Controls - Restricts Turbo Drive navigation to URLs within a specified path, falling back to full page loads for others.
  • Native Shell Embeddings - Wraps server-rendered HTML in a native iOS or Android shell, reserving high-fidelity native controls for screens that need them.
  • Path-Scoped Navigation - Limits Turbo Drive to operate only within a specific URL root for controlled navigation.

Star-Verlauf

Star-Verlauf für hotwired/turboStar-Verlauf für hotwired/turbo

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Häufig gestellte Fragen

Was macht hotwired/turbo?

Hotwire Turbo is a server-driven navigation and HTML streaming framework that intercepts link clicks and form submissions to fetch pages in the background and replace content without full browser reloads. It provides a Turbo Frame component that scopes page regions into independent contexts, enabling partial page updates where only a specific area of the page navigates or loads content. The framework includes a page cache and morph system that stores recently visited pages…

Was sind die Hauptfunktionen von hotwired/turbo?

Die Hauptfunktionen von hotwired/turbo sind: Intercepted Navigation Avoiders, Server-Driven Navigation, Persistent Process Navigations, HTML Stream Patchers, HTML Streams via WebSocket or SSE, Morphing Page Caches, Stream Action DOM Patchers, Broadcast Streams.

Welche Open-Source-Alternativen gibt es zu hotwired/turbo?

Open-Source-Alternativen zu hotwired/turbo sind unter anderem: turbolinks/turbolinks — Turbolinks is a JavaScript library that accelerates HTML page transitions by replacing the page body via network… swup/swup — Swup is a page transition library and AJAX page loader designed to create seamless, animated transitions between pages… starfederation/datastar — Datastar is a framework for hypermedia application development that enables the creation of reactive user interfaces… bigskysoftware/intercooler-js — Intercooler-js is a declarative AJAX framework and server-driven UI library. It functions as a hypermedia web… miguel-perez/smoothstate.js — smoothState.js is an AJAX navigation manager and jQuery page transition library designed to create seamless… webview/webview — This library provides a lightweight framework for building cross-platform desktop applications by rendering web…

Open-Source-Alternativen zu Turbo

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Turbo.
  • turbolinks/turbolinksAvatar von turbolinks

    turbolinks/turbolinks

    12,591Auf GitHub ansehen↗

    Turbolinks is a JavaScript library that accelerates HTML page transitions by replacing the page body via network requests instead of performing full browser refreshes. It functions as a client-side navigation manager that intercepts link clicks and controls the page visit lifecycle to simulate a single-page application experience. The library synchronizes the browser URL and history stack with partial page updates and utilizes a caching mechanism to store visited page states. This allow for instant previews and restoration of state when navigating backward or forward. It also includes a tool

    TypeScript
    Auf GitHub ansehen↗12,591
  • swup/swupAvatar von swup

    swup/swup

    5,191Auf GitHub ansehen↗

    Swup is a page transition library and AJAX page loader designed to create seamless, animated transitions between pages on server-rendered websites. It functions as a DOM content orchestrator and browser history manager, intercepting navigation to replace page content dynamically and simulate a single-page application experience. The project differentiates itself through a hook-based lifecycle system and a plugin architecture that allows for the injection of custom logic and animation effects. It supports advanced visual methods including DOM content morphing, parallel-DOM rendering for overla

    TypeScriptanimationjavascriptpage-transitions
    Auf GitHub ansehen↗5,191
  • starfederation/datastarAvatar von starfederation

    starfederation/datastar

    3,971Auf GitHub ansehen↗

    Datastar is a framework for hypermedia application development that enables the creation of reactive user interfaces using declarative HTML attributes. It focuses on server-driven state management, offloading application logic and state transitions to the backend to reduce frontend complexity. The project distinguishes itself through real-time UI streaming, using Server-Sent Events to push incremental DOM patches and state changes over a single long-lived connection. It synchronizes frontend and backend state by applying partial JSON updates to a client-side signal store and employs morphing-

    TypeScript
    Auf GitHub ansehen↗3,971
  • bigskysoftware/intercooler-jsAvatar von bigskysoftware

    bigskysoftware/intercooler-js

    4,787Auf GitHub ansehen↗

    Intercooler-js is a declarative AJAX framework and server-driven UI library. It functions as a hypermedia web framework that enables the creation of single-page experiences by replacing specific DOM elements with HTML fragments delivered from a server. The library distinguishes itself by using HTML attributes to map DOM elements to server endpoints, allowing for asynchronous HTTP requests and DOM updates without manual scripting. It supports a hypermedia-driven architecture where the server controls the client state through response headers and the delivery of annotated HTML fragments. The p

    HTMLfront-endhtmljavascript
    Auf GitHub ansehen↗4,787
Alle 30 Alternativen zu Turbo anzeigen→