He usado Ember y Backbone junto con Drupal, pero no de la forma en que piensas.
Ember y Backbone son herramientas excelentes para crear una aplicación web, pero Drupal no es realmente una buena herramienta para usar junto con ellas. Lo que deseas cuando creas una aplicación web es algo ligero y rápido. Desea que sea rápido para poder dar a sus usuarios la sensación de tiempos de respuesta inmediatos. Desea que sea ligero para mejorar la escala. Drupal no es rápido: el arranque completo de Drupal lleva mucho tiempo (en comparación con muchas otras opciones) si todo lo que desea hacer es proporcionar una API REST para su aplicación web. Drupal es PHP, lo que también hace que tenga mucha RAM y limita la cantidad de usuarios concurrentes.
Entonces, si Drupal es tan malo para esto, ¿por qué usarlo?
Realmente deberías usar Drupal para lo que Drupal se destaca en: un CMS. Lo que he hecho en el pasado con proyectos que necesitaban una aplicación web es usar Drupal para crear el CMS alrededor de la aplicación web. Para construir cosas como blogs, listas de contenido y me gusta. También creé módulos para definir algunas cosas de back-end, como definiciones de esquemas y otras cosas en las que tenía sentido usar Drupal, porque hizo que mi desarrollo fuera mucho más fácil.
En lugar de usar Drupal para crear la API REST que necesitaba la aplicación web, utilicé Node.js para crear la API REST real y otras comprobaciones que AJAX llama que debía realizar la aplicación web. Node.js sobresale al hacer esto. Es increíblemente rápido (tiempos de respuesta tan bajos como 30 ms para una lista de objetos). También es muy liviano, ya que JavaScript en el servidor usa acciones asíncronas, un servidor Node.js generalmente puede manejar miles de usuarios concurrentes donde PHP puede manejar quizás 100. Además de eso, ya que Node.js es JavaScript, puede reutilizar mucho del servidor de código y del lado del cliente. Literalmente, puede escribir el mismo código de validación, en lugar de tener que implementar tanto el lado del cliente en JavaScript como el lado del servidor en PHP. Si va a ir a Drupal con en Münich en unas pocas semanas, debería considerar ver la presentación de node.js.
Entonces, si usted es un desarrollador, le recomendaría encarecidamente que haga una configuración similar, y solo use Drupal para lo que es realmente bueno. Si desea crear una aplicación web simple y no espera muchos usuarios, usar Drupal como back-end podría ser una opción si ayuda a su tiempo de desarrollo.
Actualizar Drupal 8
Entonces, con el lanzamiento de Drupal 8, algo de lo anterior sigue siendo cierto, pero no en la misma extensión que antes. Drupal 8 es como Drupal 7, no una herramienta ligera, como Node.js, Rails, Django, etc. Dado que las aplicaciones de JavaScript consumen principalmente varios servicios, aún debe considerar si Drupal es la mejor herramienta para esto.
Con Drupal 8 se han mejorado muchas cosas. Los servicios son mucho más nativos, con Symphony dirigiendo la solicitud / respuesta. Drupal 8 tiene muchas posibilidades interesantes con el almacenamiento en caché avanzado y todas las excelentes características. Pero incluso con toda la grandeza de Drupal 8, sigue siendo mucho más pesado que las aplicaciones livianas. Es difícil saber qué tan exitoso se puede utilizar Drupal 8 como proveedor rápido de servicios web.
Aún así, con todo lo dicho y hecho, mi recomendación general sigue siendo la misma. Al ser un desarrollador de Drupal, es fácil usar Drupal para todo, ya que estamos familiarizados con él. Se siente seguro y Drupal se puede usar para casi cualquier cosa. Recuerde que aunque es posible usar Drupal para cualquier cosa, no significa que sea la mejor herramienta para todo. Hacer un análisis sólido y comprender las fortalezas y debilidades de las herramientas que desea utilizar en un proyecto de TI siempre será de gran ayuda y puede ayudarlo a evitar terminar en una posición de bloqueo con un resultado que no cumple con sus expectativas .