RefreshLess is a drop-in alternative to single page apps (SPAs) or decoupled approaches which reuses Drupal's existing server-rendered HTML while layering a JavaScript framework on top that provides the kind of modern UX users expect. By fully embracing progressive enhancement, you don't need to choose between a web site/web app that works even with broken JavaScript or a smooth, fast, SPA-like user interface - you can have both.

Compared to an SPA or decoupled site:

  • Provides much higher resiliency in unexpected or adverse network or runtime conditions where JavaScript fails to load or execute correctly. In such situations, your users still have a working site. The browser is the most hostile runtime environment after all.
  • Reuses Drupal's server-rendered HTML, saving you the development time and cost of re-implementing a whole new front-end, while making use of Drupal's Twig templates, asset library system, caching, security, and so on.

Compared to just a server-rendered HTML site:

  • Navigation feels faster and more fluid because the browser no longer needs to re-initialize all CSS and JavaScript on every page request.

Help needed

If you want to help out, please see #3393105: Hotwire Turbo minimum viable implementation for what still needs to be done.

Hotwire Turbo implementation

RefreshLess implementation built on the Hotwire Turbo library. See modules/refreshless_turbo/readme.md. This is the current primary implementation, but other implementations are planned.

Classic Drupal Ajax framework implementation

This is the classic RefreshLess implementation using Drupal's Ajax framework from the 8.x-1.x branch created by Wim Leers and contributors. See modules/refreshless_ajax/readme.md.

Note that this is minimally maintained and not guaranteed to continue functioning at this time as all development is focused on the Turbo implementation.

Supporting organizations: 
Sponsored all development, including the necessary API support in Drupal 8
Sponsored 2.x and Hotwire Turbo porting prototype and ongoing development

Project information

Releases