Pour donner une réponse brève et simplifiée: pour un backend RESTful, pour le moment, vous devez utiliser Backbone.
Pour donner une réponse plus complexe: cela dépend vraiment de ce que vous faites. Comme d'autres l'ont dit, Ember est conçu pour différentes choses et plaira à un groupe de personnes différent. Ma réponse courte est basée sur votre inclusion de l'exigence RESTful.
Pour le moment, Ember-Data (qui semble être le mécanisme de persistance par défaut dans Ember) est loin d'être prêt pour la production. Cela signifie qu'il a pas mal de bogues et, surtout, ne prend pas en charge les URI imbriqués (/ posts / 2 / comments / 4556 par exemple). Si REST est votre exigence, vous devrez contourner ce problème pour le moment si vous choisissez Ember (c'est-à-dire que vous devrez soit le pirater, attendre, implémenter vous-même quelque chose comme Ember-Data à partir de zéro, ou ne pas utiliser URI très RESTful). Ember-Data ne fait pas strictement partie d'Ember, c'est donc tout à fait possible.
Les principales différences entre les deux, mis à part la taille, sont essentiellement:
Ember essaie de faire autant que possible pour vous, afin que vous n'ayez pas à écrire autant de code. Elle est très hiérarchique et, si votre application est également très hiérarchique, elle conviendra probablement bien. Parce que cela fait beaucoup pour vous, il peut être difficile de comprendre d'où viennent les bogues et d'expliquer pourquoi un comportement inattendu se produit (il y a beaucoup de «magie»). Si vous avez une application qui s'intègre naturellement dans le type d'application qu'Ember s'attend à ce que vous construisiez, cela ne sera probablement pas un problème.
Backbone essaie de faire le moins possible pour vous afin que vous puissiez raisonner sur ce qui se passe et créer une architecture adaptée à votre application (plutôt que de créer une application qui correspond à l'architecture du framework que vous utilisez). C'est beaucoup plus facile de commencer mais, à moins que vous ne soyez prudent, vous pouvez vous retrouver avec un désordre très rapidement. Il ne fait pas de choses comme les propriétés calculées, les événements de dissociation automatique, etc. et les laisse à vous, vous devrez donc implémenter beaucoup de choses vous-même (ou au moins choisir des bibliothèques qui le font pour vous), bien que ce soit plutôt le point entier.
Mise à jour : Il semble que, récemment, Ember prend désormais en charge les URI imbriqués, donc je suppose que la question se résume à combien de magie vous aimez et si Ember convient, d'un point de vue architectural, à votre application.