The Decoupled Pages module provides a quick and simple way to define new Drupal routes which can be overtaken by a single page application, often written in Javascript using React, Vue.js, or Ember (to name a few common frameworks).

This module doesn't have a stable release yet. You can help change that by sharing your experience with the module in Slack or in the issue queue.