Entendi, na verdade ele precisa fazer requisições, mas ele esconde isso através de métodos das bibliotecas que ele oferece, até porque, no browser, a única maneira do seu navegador se comunicar com API's que estejam em algum lugar é através de requisições Ajax.
Então, em teoria, se você importar a script em qualquer aplicação web você seria capaz de acessar API's compatível com o parser, no entanto, essa solução é bastante limitada porque te impõe um padrão que, pelo o que eu entendi, seu servidor deve seguir. Vejo isso apenas para uma solução sua, sem ter que se entregar com sistemas de terceiros.
Sendo assim, tem que testar com os frameworks de SPA. O problema é que se você usar algo que não esteja integrado com ele, você pode ter problemas. Por exemplo, se você quiser interceptar essas requisições para poder adicionar um token adicional? Eu faço isso com esses frameworks facilmente porque tudo que acontece eu consigo saber.
Então, você precisa experimentar e quem sabe ver se há algum wrapper dele para o framework SPA que você escolher. Se houver um wrapper, fica melhor ainda.
É como no caso do Firebase. Eu Angular existem wrapers que permitem o acesso de um banco lá do Firebase de maneira elegante.
Agora, sobre sua pergunta dos frameworks SPA. Na prática, tudo depende do desenvolvedor , do seu projeto e da sua equipe. Não é uma escolha trivial.
No entanto, se você esta começando com SPA, eu sugiro o Vue.js. É o que tem menor curva de aprendizado, inclusive quando você terminar o curso da Alura (São dois), terá mais condições de compreender Angular 2 e React, porque o Vue copiou as boas práticas desses dois frameworks.
Desculpe não ter uma resposta precisa para sua primeira pergunta, mas espero ter lançado uma luz.