We’re working on an project (yapplabs/glazier) that has a “container and cards” architecture. The container is in Ember, and we would like to independently implement some cards in Ember with a fair degree of isolation. The ability to nest an Ember app would be an ideal organizational structure for this.

Another thing to keep in mind is that all of the “embedded” apps, and the parent app, will need to be using the same version of Ember.js. Because we still have some instances where state is stored on the Ember global, instead of the app, (for example Ember.View.views and the guid counter), it’s possible there could be some action at a distance that will be very difficult to debug.

Modules help with this case, but now you’ve got the problem of each app on the page requiring a separate copy of Ember. Having them all be on the same version but getting pristine copies in memory is probably the optimal solution.

I implemented a similar construct, called a container and “gadgets”. These gadgets are 100% isolated (but can communicate with the same API on the backend of course) and runs an Ember app in an iframe. Works great.