Turbo: An Open-Source Framework for SPA Apps
The development of a single-page web application that runs faster without the need for writing complex JavaScript is an essential aspect of creating a seamless user experience. Turbo, a collection of complementary techniques, offers a solution that significantly reduces the amount of custom JavaScript that most web applications require.
Turbo uses complementary techniques to dramatically reduce the amount of custom JavaScript that most web applications will need to write:
- Turbo Drive accelerates links and form submissions by negating the need for full page reloads.
- Turbo Frames decompose pages into independent contexts, which scope navigation and can be lazily loaded.
- Turbo Streams deliver page changes over WebSocket, SSE or in response to form submissions using just HTML and a set of CRUD-like actions.
- Turbo Native lets your majestic monolith form the center of your native iOS and Android apps, with seamless transitions between web and native sections.
Turbo Drive, for example, is one such technique that boosts the speed of links and form submissions by negating the need for full page reloads. Turbo Frames, on the other hand, decompose pages into independent contexts that can be lazily loaded, providing a more efficient way to scope navigation. Turbo Streams is another technique that delivers page changes over WebSocket or in response to form submissions using HTML and CRUD-like actions, thus speeding up the application.
Moreover, Turbo Native lets users create native iOS and Android apps that use the same majestic monolith as the web application, providing seamless transitions between web and native sections. All these techniques use HTML over the wire to achieve their goals. And in cases where HTML is not enough, users can reach for the other side of Hotwire and complete the task with Stimulus, a robust JavaScript framework. In conclusion, Turbo is a promising solution for creating faster, more efficient web applications without the need for complex JavaScript.
Tech
- TypeScript
License
- MIT license