Ho usato sia Ember che Backbone insieme a Drupal, ma non nel modo in cui penseresti.
Ember e Backbone sono entrambi ottimi strumenti per creare un'applicazione Web, ma Drupal non è davvero un ottimo strumento da utilizzare insieme a loro. Quello che desideri quando hai creato un'app Web è qualcosa di leggero e veloce. Vuoi che sia veloce per essere in grado di dare ai tuoi utenti la sensazione di tempi di risposta immediati. Vuoi che sia leggero per adattarlo meglio. Drupal non è veloce: l'intero bootstrap Drupal richiede molto tempo (rispetto a molte altre opzioni) se tutto ciò che vuoi fare è fornire un'API REST per la tua app web. Drupal è PHP, che rende anche abbastanza RAM affamato limitando il numero di utenti simultanei.
Quindi se Drupal è così male per questo, perché usarlo?
Dovresti davvero usare Drupal per quello che Drupal eccelle: un CMS. Quello che ho fatto in passato con progetti che necessitavano di un'app Web è utilizzare Drupal per creare il CMS attorno all'app Web. Per creare cose come blog, elenchi di contenuti e simili. Ho anche creato moduli per definire alcune cose di backend - come le definizioni dello schema e altre cose in cui aveva senso usare Drupal - perché ha reso il mio sviluppo molto più semplice.
Invece di usare Drupal per creare l'API REST di cui la webapp aveva bisogno, ho usato Node.js per creare l'API REST effettiva e altri controlli che le chiamate AJAX dovevano effettuare. Node.js eccelle nel fare proprio questo. È velocissimo (tempi di risposta fino a 30ms per un elenco di oggetti). È anche molto leggero, poiché JavaScript sul server utilizza azioni asincrone, un server Node.js di solito può gestire migliaia di utenti simultanei in cui PHP può gestire forse 100. Inoltre, poiché Node.js è JavaScript, puoi riutilizzare molto del server di codice e lato client. Puoi letteralmente scrivere lo stesso codice di convalida, invece di dover implementare sia il lato client in JavaScript sia il lato server in PHP. Se vai a Drupal con a Münich tra qualche settimana, dovresti considerare di guardare la presentazione node.js.
Quindi, se sei uno sviluppatore, consiglio vivamente di fare una configurazione simile e utilizzare Drupal solo per quello che è veramente bravo. Se vuoi creare una semplice webapp e non ti aspetti un sacco di utenti, utilizzare Drupal come backend potrebbe essere un'opzione se ti aiuta nel tempo di sviluppo.
Aggiorna Drupal 8
Quindi, con il rilascio di Drupal 8, alcuni dei precedenti sono ancora validi, ma non nella stessa estensione di prima. Drupal 8 è come Drupal 7 non uno strumento leggero, come Node.js, Rails, Django ecc. Poiché le app JavaScript utilizzano principalmente vari servizi, dovresti comunque considerare se Drupal è lo strumento migliore per questo.
Con Drupal 8 molte cose sono state migliorate. I servizi sono molto più nativi, con Symphony che guida la richiesta / risposta. Drupal 8 ha molte possibilità interessanti con la cache avanzata e tutte le fantastiche funzionalità. Ma nonostante tutta la grandezza di Drupal 8, è ancora molto più pesante delle applicazioni leggere. È difficile dire quanto Drupal 8 possa essere utilizzato con successo come fornitore di servizi web veloci.
Quindi, nonostante tutto ciò che viene detto e fatto, la mia raccomandazione generale rimane la stessa. Essendo uno sviluppatore di Drupal, è facile usare Drupal per tutto, dal momento che ne abbiamo familiarità. Sembra sicuro e Drupal può essere usato praticamente per qualsiasi cosa. Ricorda che mentre è possibile utilizzare Drupal per qualsiasi cosa, non significa che sia lo strumento migliore per tutto. Fare una buona analisi e comprendere i punti di forza e di debolezza degli strumenti che si desidera utilizzare in un progetto IT, sarà sempre di grande aiuto e può aiutarti a evitare di finire in una posizione di stallo con un risultato che non è all'altezza delle tue aspettative .