Turbolinks is an open-source JavaScript library whose development was sponsored by Basecamp. It gives a server-rendered web application some of the speed of a single-page application (SPA, an app that loads one page and then changes it with JavaScript), without a client-side JavaScript framework. Its repository was archived on 25 September 2021: Turbolinks is no longer developed and has been superseded by Turbo, part of Hotwire.
The server renders full HTML pages, and links work as usual. When a user follows a link, Turbolinks fetches the next page in the background, swaps in its body and merges its head, so the browser does not do a full page load. Each navigation is a visit. The Back and Reload buttons keep working, because the library uses the HTML5 History API. Adapters for iOS and Android let mobile apps show the same pages with native navigation controls.
Turbolinks is free software under the MIT license. A Ruby on Rails app installs it with the turbolinks gem; other apps use the turbolinks npm package.