Eu usei o Ember e o Backbone junto com o Drupal - mas não da maneira que você pensaria.
O Ember e o Backbone são excelentes ferramentas para criar um aplicativo da Web - mas o Drupal não é realmente uma boa ferramenta a ser usada junto com eles. O que você deseja ao criar um aplicativo Web é algo leve e rápido. Você quer que seja rápido para dar a seus usuários a sensação de tempo de resposta imediato. Você quer que seja leve para melhorar sua escala. O Drupal não é rápido - a inicialização completa do Drupal leva muito tempo (em comparação com muitas outras opções) se tudo o que você quer fazer é fornecer uma API REST para seu aplicativo da web. Drupal é PHP, o que também deixa bastante memória RAM limitando o número de usuários simultâneos.
Então, se o Drupal é tão ruim para isso, por que usá-lo?
Você realmente deve usar o Drupal para obter o que o Drupal se destaca em - um CMS. O que eu fiz no passado com projetos que precisavam de um aplicativo Web é usar o Drupal para criar o CMS em torno do aplicativo Web. Para criar coisas como blogs, listas de conteúdo e curtidas. Também criei módulos para definir algumas coisas de back-end - como definições de esquema e outras onde fazia sentido usar o Drupal - porque isso tornava meu desenvolvimento muito mais fácil.
Em vez de usar o Drupal para criar a API REST que o aplicativo da web precisava - usei o Node.js para criar a API REST real e outras verificações que o Aapp solicita que o aplicativo da web faça. O Node.js é excelente em fazer exatamente isso. É rápido demais (tempos de resposta tão baixos quanto 30ms para uma lista de objetos). Também é muito leve, já que o JavaScript no servidor usa ações assíncronas, um servidor Node.js. geralmente pode lidar com milhares de usuários simultâneos, onde o PHP pode lidar com talvez 100. Além disso, como o Node.js. é JavaScript, você pode reutilizar muito do servidor de código e do lado do cliente. Você pode literalmente escrever o mesmo código de validação, em vez de precisar implementar o lado do cliente em JavaScript e o lado do servidor em PHP. Se você estiver indo para o Drupal con em Munique em algumas semanas - considere assistir à apresentação do node.js..
Portanto, se você é um desenvolvedor, recomendo fortemente que faça uma configuração semelhante e use apenas o Drupal para o que é realmente bom. Se você deseja criar um aplicativo da web simples e não espera muito usuário, usar o Drupal como back-end pode ser uma opção, se ajudar no seu tempo de desenvolvimento.
Atualizar Drupal 8
Portanto, com o lançamento do Drupal 8, algumas das opções acima ainda são verdadeiras, mas não da mesma forma que antes. O Drupal 8 é como o Drupal 7 não é uma ferramenta leve, como Node.js, Rails, Django etc. Como os aplicativos JavaScript consomem principalmente vários serviços, você ainda deve considerar se o Drupal é a melhor ferramenta para isso.
Com o Drupal 8, muitas coisas foram aprimoradas. Services é muito mais nativo, com o Symphony direcionando a solicitação / resposta. O Drupal 8 tem muitas possibilidades interessantes com o cache avançado e todos os ótimos recursos. Mas mesmo com toda a grandeza do Drupal 8, ele ainda é muito mais pesado que as aplicações leves. É difícil dizer o quão bem-sucedido o Drupal 8 pode ser usado como um provedor rápido de serviços da web.
Ainda assim, com tudo dito e feito, minha recomendação geral permanece a mesma. Sendo um desenvolvedor do Drupal, é fácil usar o Drupal para tudo, pois estamos familiarizados com ele. Parece seguro e o Drupal pode ser usado para praticamente qualquer coisa. Lembre-se, embora seja possível usar o Drupal para qualquer coisa, isso não significa que é a melhor ferramenta para tudo. Fazer uma análise sólida e entender os pontos fortes e fracos das ferramentas que você deseja usar em um projeto de TI sempre será uma grande ajuda e poderá evitar que você termine em uma posição de impasse com um resultado que não atenda às suas expectativas. .